CN111914882A - 支持向量机的生成方法、装置、电子设备及存储介质 - Google Patents
支持向量机的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111914882A CN111914882A CN202010560659.8A CN202010560659A CN111914882A CN 111914882 A CN111914882 A CN 111914882A CN 202010560659 A CN202010560659 A CN 202010560659A CN 111914882 A CN111914882 A CN 111914882A
- Authority
- CN
- China
- Prior art keywords
- support vector
- vector machine
- kernel function
- search space
- generating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了支持向量机的生成方法、装置、电子设备及存储介质,涉及人工智能技术和深度学习领域,可应用于图像处理。具体方案为:生成核函数搜索空间,根据核函数搜索空间生成待训练支持向量机,对待训练支持向量机进行训练并进行性能评估,当评估结果不满足评分要求时对待训练支持向量机进行迭代更新,直至评估结果满足评分要求或者对待训练支持向量机的迭代更新次数达到预设迭代次数。通过本申请实现了支持向量机的自动生成,在核函数搜索空间中进行自动搜索以生成支持向量机的核函数,可以使得生成的支持向量机具备复杂的核函数,进而使得支持向量机能够获得较佳的非线性表征能力,保证了支持向量机的性能,提高了支持向量机的鲁棒性。
Description
技术领域
本申请的实施例总体上涉及计算机技术领域,并且更具体地,涉及人工智能技术和深度学习领域,可应用于图像处理。
背景技术
深度学习是机器学习研究中的一个新的领域,其目的在于建立模拟人脑进行分析学习的神经网络。近年来,深度学习技术在计算机视觉、语音识别、自然语言处理等人工智能技术研究的多个方面取得了成功。
深度学习技术中,人工神经网络(Artificial Neural Network,ANN)结构的好坏对最终模型的效果有非常重要的影响。手工设计网络拓扑结构要求设计人员具备丰富的经验并需要多次尝试,且当参数较多时会产生爆炸性的组合,采用常规的随机搜索算法来生成网络结构的方式可行性较低,因此神经网络架构搜索(Neural Architecture Search,NAS)技术逐渐成为深度学习领域的研究热点。
发明内容
本申请提供了一种支持向量机的生成方法、装置、电子设备及存储介质。
根据第一方面,提供了一种支持向量机的生成方法,包括:
获取训练集和验证集,并将所述训练集和所述验证集划分为K个训练子集和K个验证子集,其中,K为正整数;
生成核函数搜索空间,根据所述核函数搜索空间生成待训练支持向量机;
根据所述K个训练子集对所述待训练支持向量机进行训练以生成K个支持向量机模型;
分别使用所述K个验证子集对所述K个支持向量机模型进行评估以生成所述K个支持向量机模型的评分值;以及
根据所述K个支持向量机模型的评分值对所述待训练支持向量机进行N次迭代更新,直至所述K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,其中,N为正整数。
根据第二方面,提供了一种支持向量机的生成装置,包括:
获取模块,用于获取训练集和验证集,并将所述训练集和所述验证集划分为K个训练子集和K个验证子集,其中,K为正整数;
第一生成模块,用于生成核函数搜索空间;
第二生成模块,用于根据所述核函数搜索空间生成待训练支持向量机;
训练模块,用于根据所述K个训练子集对所述待训练支持向量机进行训练以生成K个支持向量机模型;
验证模块,用于分别使用所述K个验证子集对所述K个支持向量机模型进行评估以生成所述K个支持向量机模型的评分值;以及
更新模块,用于根据所述K个支持向量机模型的评分值对所述待训练支持向量机进行N次迭代更新,直至所述K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,其中,N为正整数。
根据第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的支持向量机的生成方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面所述的支持向量机的生成方法。
本申请提供的支持向量机的生成方法、装置、电子设备及存储介质,存在如下有益效果:
通过生成核函数搜索空间,在核函数搜索空间中进行自动搜索以生成支持向量机核函数,进而根据支持向量机核函数得到支持向量机,不仅实现了支持向量机的自动生成,生成的支持向量机还具备了复杂的核函数,使得支持向量机能够获得较佳的非线性表征能力,保证了支持向量机的性能,提高了支持向量机的鲁棒性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的支持向量机的生成方法的流程示意图;
图2是根据本申请第二实施例的支持向量机的生成方法的流程示意图;
图3是根据本申请第三实施例的支持向量机的生成方法的流程示意图;
图4是根据本申请第四实施例的支持向量机的生成方法的流程示意图;
图5是根据本申请第五实施例的支持向量机的生成装置的结构示意图;
图6是根据本申请第六实施例的支持向量机的生成装置的结构示意图;
图7是根据本申请第七实施例的支持向量机的生成装置的结构示意图;
图8是根据本申请第八实施例的支持向量机的生成装置的结构示意图;
图9是用来实现本申请实施例的支持向量机的生成方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请的支持向量机的生成方法、装置、电子设备及存储介质。
支持向量机(Support Vector Machines,SVM)是一种二分类模型,其基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使其有别于感知机。支持向量机中包括核函数,核函数使其成为实质上的非线性分类器。
核函数的设计在支持向量机中至关重要。目前,支持向量机使用的核函数是人工设定的简单核函数,简单的核函数使支持向量机的非线性表征能力在很大程度上受到了限制。
针对上述问题,本申请公开了一种支持向量机的生成方法,通过生成核函数搜索空间,并根据核函数搜索空间生成待训练支持向量机,进而利用获取的K个训练子集对生成的待训练支持向量机进行训练,得到K个支持向量机模型,并分别使用获取的K个验证集对K个支持向量机模型进行性能评估,得到K个支持向量机模型的评分值,当K个支持向量机模型的评分值不满足评分要求且未达到预设迭代次数时,对待训练支持向量机进行迭代更新,直至K个支持向量机模型的评分值满足评分要求或者迭代次数N到达预设迭代次数,由此,实现了支持向量机的自动生成。本申请的方案,核函数搜索空间包括了可搜索到的支持向量机核函数的所有可能性,通过在核函数搜索空间中进行自动搜索,可以搜索到复杂的支持向量机核函数,从而根据搜索到的支持向量机核函数得到的支持向量机,具备了复杂的核函数,从而能够降低现有技术中支持向量机仅能使用简单核函数,导致支持向量机的非线性表征能力受限的几率,使得支持向量机能够获得较佳的非线性表征能力,保证了支持向量机的性能,提高了支持向量机的鲁棒性。
图1是根据本申请第一实施例的支持向量机的生成方法的流程示意图,该方法可以由本申请提供的支持向量机的生成装置执行,也可以由本申请提供的电子设备执行,其中,电子设备可以包括但不限于台式电脑、平板电脑等终端设备,也可以是服务器。下面以由本申请提供的支持向量机的生成装置来执行本申请提供的支持向量机的生成方法为例来解释说明本申请,而不能作为对本申请的限制。
如图1所示,该支持向量机的生成方法,可以包括以下步骤:
步骤101,获取训练集和验证集,并将训练集和验证集划分为K个训练子集和K个验证子集,其中,K为正整数。
针对不同的任务,本申请实施例中,可以从不同类型的样本集中获取训练集和验证集。其中,训练集用于模型训练,验证集用于评估训练好的模型的表现如何,即测试训练好的模型的性能。
比如,对于分类任务、目标检测任务、人脸检测任务等图像处理方面的任务,可以从公开的图像数据集中获取大量图像样本作为训练集和验证集,其中,公开的图像数据集比如可以是ImageNet数据集、PASCAL VOC数据集、Labelme数据集,等等,其中,获取的验证集中的图像样本与训练集中的图像样本不同,以保证训练得到的支持向量机的性能和鲁棒性。
又比如,对于语音识别任务,可以从公开的开源语音数据集中获取大量的语音样本作为训练集和验证集,其中,开源语音数据集比如可以是中文数据集、英文数据集等,获取的验证集中的语音数据与训练集中的语音数据不同,以保证训练得到的支持向量机的性能和鲁棒性。
举例而言,以从ImageNet数据集中获取图像样本作为训练集和验证集为例,可以先从ImageNet数据集中获取一个包含大量图像样本的样本集,再按照预设的分配比例,将样本集划分为验证集和训练集。比如,样本集中训练集与验证集的预设的分配比例为8:2,即样本集中80%的图像样本作为训练集,样本集中剩余20%的图像样本作为验证集,则将获取的样本集按照8:2的比例划分为训练集和验证集。
本实施例中,获取了训练集和验证集之后,可以对训练集和验证集进行划分,将训练集划分为K个训练子集,将验证集划分为K个验证子集,其中,K为正整数。
比如,在划分训练集和验证集时,可以将训练集随机地划分为K份,得到K个训练子集,每个训练子集中包含的样本图像的数量可以相同也可以不同;对于验证集的划分,也可以将验证集随机地划分为K份,得到K个验证子集,每个验证子集中包含的样本图像的数量可以相同也可以不同。
需要说明的是,本实施例中,划分得到的训练子集和验证子集的个数相同,比如,将训练集划分为5个训练子集,同样地,也将验证集划分为5个验证子集,每个训练子集对应一个验证子集,以便后续利用验证子集对根据训练子集训练得到的支持向量机模型进行性能测试。
在本申请实施例一种可能的实现方式中,为了获取到K个训练子集和K个验证子集,可以先将获取的样本集划分为K份,得到K个样本子集,再针对每个验证子集,按照预设的训练集与验证集的分配比例(比如8:2),将样本子集划分为训练子集和验证子集,最终得到K个训练子集和K个验证子集,每个训练子集对应一个验证子集。
步骤102,生成核函数搜索空间,根据核函数搜索空间生成待训练支持向量机。
本实施例中,可以预先设计好核函数搜索空间的设计规则,进而根据设计规则生成核函数搜索空间。
比如,核函数搜索空间的设计规则可以约定核函数搜索空间中包括能够用于支持向量机的所有核函数,比如约定的核函数可以包括多项式核、径向基函数核、拉普拉斯核以及非线性函数Sigmoid核。对于约定的每个核函数,核函数的超参数可以任意设置为多个值,也就是说,对于同一个核函数,不同的超参数对应不同的核函数,比如,设计规则可以约定任意超参数的多个多项式核,每个超参数值对应一个多项式核,由此生成的核函数搜索空间中包括任意超参数的多个多项式核。
能够理解的是,在机器学习中,超参数是指在开始学习过程之前预先设置值的参数,而非通过训练得到的参数。通常,人为地根据已有经验为超参数预先指定一个值。超参数的选择直接影响支持向量机的泛化性能和回归效验,是保证支持向量机性能的关键。因此本实施例中,核函数搜索空间的设计规则约定任意超参数的多个核函数,包括任意超参数的多项式核、任意超参数的径向基函数核、任意超参数的拉普拉斯核以及任意超参数的Sigmoid核,使得根据设计规则生成的核函数搜索空间中包含了核函数的所有可能性,从而有利于从中搜索到最优或较优的超参数,进而,利用最优或较优的超参数的核函数生成的支持向量机,能够获得较佳的性能。
此外,核函数搜索空间的设计规则还可以约定,搜索空间中包括任意超参数的不同核函数的任意组合。其中,不同核函数的组合形式可以包括至少两个不同超参数的同种核函数进行组合(比如不同超参数的两个多项式核进行组合,不同超参数的三个Sigmoid核进行组合,等等)、相同超参数的至少两个不同种类核函数进行组合(比如相同超参数的多项式核与Sigmoid核进行组合,相同超参数的多项式核、拉普拉斯核与径向基函数核进行组合,等等),以及,不同超参数的至少两个不同种类的核函数进行组合(比如不同超参数的多项式核与Sigmoid核进行组合,不同超参数的多项式核、拉普拉斯核与径向基函数核进行组合,等等),还可以包括其他的可组合形式。根据不同的组合形式对至少两个核函数进行组合得到组合核函数,能够得到包含所有可能性的组合核函数,组合核函数中包括至少两个不同的核函数(可以是超参数不同,也可以是核函数的种类不同),从而,在根据该设计规则生成的搜索空间中进行搜索,搜索到的核函数可以是多个核函数的组合,相对于现有技术中,支持向量机所使用的简单核函数,从核函数搜索空间中搜索到的核函数相对较为复杂,从而,根据搜索到的相对复杂的核函数得到的支持向量机,其非线性表征能力相对于使用简单核函数的支持向量机也有所提升。
根据上述设计规则,可以生成满足上述设计规则约定的条件的核函数搜索空间,核函数搜索空间中包含了可生成的支持向量机核函数的所有可能性,也就是说,核函数搜索空间是所有可能的支持向量机核函数的集合,本申请的方案,通过在核函数搜索空间中进行搜索,能够从所有可能的支持向量机核函数中找到较好的支持向量机核函数,进而得到性能较好的支持向量机,且找到的支持向量机核函数中,可以是超参数较优的核函数,也可以是较优的组合核函数,从而能够避免简单的核函数对支持向量机的非线性表征能力的限制,提高支持向量机的非线性表征能力,得到性能较优的支持向量机。
本实施例中,生成核函数搜索空间后,可以根据核函数搜索空间生成待训练支持向量机。如前文所述,核函数搜索空间中包含了可生成的支持向量机核函数的所有可能,因此,可以从核函数搜索空间中随机地生成一个支持向量机核函数,并将随机生成的支持向量机核函数作为待训练支持向量机的核函数。
为了得到简单且性能满足条件的支持向量机,根据核函数搜索空间生成待训练支持向量机时,也可以先随机地生成一个最简单的支持向量机核函数作为待训练支持向量机的核函数。比如,首次获取的待训练支持向量机的核函数可以是,超参数最小的一个核函数,比如获取最小超参数的多项式核作为待训练支持向量机的核函数。
需要说明的是,步骤101-步骤102的执行顺序不分先后,两者可以先后执行,也可以同时执行,本申请仅以步骤102在步骤101之后执行作为示例来解释说明本申请,则不能作为对本申请的限制。
步骤103,根据K个训练子集对待训练支持向量机进行训练以生成K个支持向量机模型。
本实施例中,生成了待训练支持向量机之后,即可根据获取的K个训练子集对该待训练支持向量机进行训练,生成K个支持向量机模型。
利用每个训练子集对待训练支持向量机进行训练时,将训练子集中包含的样本数据(比如图像样本、语音数据)作为待训练支持向量机的输入,将样本数据的标注结果作为待训练支持向量机的输出,通过不断地迭代更新待训练支持向量机的参数,最终寻找到一组使得损失函数的取值在训练子集上最小的模型参数,训练结束,得到与训练子集对应的支持向量机模型。
能够理解的是,K个支持向量机模型是利用K个不同的训练子集,对同一个模型结构,即待训练支持向量机,分别进行训练得到的,由于采用的训练子集不同,训练得到的K个支持向量机模型包含的参数也不同。
在本申请实施例一种可能的实现方式中,对待训练支持向量机进行训练之前,可以先对待训练支持向量机进行初始化,比如初始化待训练支持向量机的参数,初始化完成后再利用K个训练子集对待训练支持向量机进行训练。
步骤104,分别使用K个验证子集对K个支持向量机模型进行评估以生成K个支持向量机模型的评分值。
本实施例中,利用K个训练子集对待训练支持向量机进行训练,得到对应的K个支持向量机模型之后,对于每个支持向量机模型,可以利用与训练得到该支持向量机模型时使用的训练子集对应的验证子集,对该支持向量机模型进行性能测试,生成该支持向量机模型的评分值,依次对每个支持向量机模型进行测试,最终得到K个支持向量机模型的评分值,共得到K个评分值。
步骤105,根据K个支持向量机模型的评分值对待训练支持向量机进行N次迭代更新,直至K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,其中,N为正整数。
其中,评分要求和预设迭代次数均可以预先设定。比如,评分要求可以设置为K个评分值中的最小值不小于90%,或者,评分要求也可以设置为K个评分值的均值不小于90%,等等;预设迭代次数比如可以设置为30次、40次等。
本实施例中,获得K个支持向量机模型的评分值之后,可以根据获得的K个评分值判断是否需要对待训练支持向量机进行迭代更新,并在需要继续迭代更新时,对待训练支持向量机进行迭代更新。
为了防止无限次地在核函数搜索空间中进行搜索,可以预先设定预设迭代次数,当待训练支持向量机的迭代更新次数达到预设迭代次数时,即使当前获取的K个支持向量机模型的评分值未满足评分要求,也不再对待训练支持向量机进行迭代更新。
也就是说,本实施例中,获取了K个支持向量机模型的评分值之后,可以先判断获取的评分值是否满足评分要求,比如评分要求为K个评分值中的最小值不小于90%,则当K个评分值中的最小值小于90%时,判定不满足评分要求,即当前的支持向量机的性能仍未达到要求,需要在已经进行了N次迭代更新的待训练支持向量机的基础上,对N次迭代更新后的待训练支持向量机进行第N+1次迭代更新,此时,在对待训练支持向量机进行迭代更新之前,先判断当前迭代次数N是否达到预设迭代次数,若N小于预设迭代次数,则执行对待训练支持向量机进行迭代更新的操作。
其中,N为正整数。
需要说明的是,N是指对待训练支持向量机进行迭代更新的次数,对于第一次生成的待训练支持向量机,当利用K个训练子集进行训练得到K个支持向量机模型,并利用K个验证子集进行评估得到K个评分值之后,若K个评分值不满足评分要求,则需要对待训练支持向量机进行第一次迭代更新,即此时N等于1;若迭代更新后的待训练支持向量机仍不满足评分要求,则需要对迭代更新后的待训练支持向量机再次进行迭代更新,此时N等于2,以此类推,可以确定待训练支持向量机每次需要迭代更新时的迭代次数N。
本实施例中,对待训练支持向量机进行迭代更新,可以是调整待训练支持向量机的核函数的超参数;或者,也可以是调整待训练支持向量机中的核函数,比如从核函数搜索空间中重新搜索支持向量机核函数,利用新搜索到的支持向量机核函数来调整待训练支持向量机的核函数,其中,重新搜索支持向量机核函数时,可以在上一次搜索的支持向量机核函数的基础上,增加核函数的个数,以增加待训练支持向量机的核函数的复杂度;等等,本申请对于迭代更新待训练支持向量机的方式不作限制。
进一步地,对于迭代更新后的待训练支持向量机,再根据K个训练子集对其进行训练,生成K个支持向量机模型,并使用K个验证子集对K个支持向量机模型进行评估以生成K个支持向量机模型的评分值,并根据评分值对迭代更新后的待训练支持向量机再次进行迭代更新。也就是说,对于迭代更新后的待训练支持向量机,重复执行上述步骤103-步骤105,直至K个支持向量机模型的评分值满足评分要求或者迭代更新次数N到达预设迭代次数后,搜索结束,得到最终生成的支持向量机。
本实施例的支持向量机的生成方法,通过获取训练集和验证集,并将训练集和验证集划分为K个训练子集和K个验证子集,以及,生成核函数搜索空间,并根据核函数搜索空间生成待训练支持向量机,接着,根据K个训练子集对待训练支持向量机进行训练以生成K个支持向量机模型,并分别使用K个验证子集对K个支持向量机模型进行评估,以生成K个支持向量机模型的评分值,根据K个支持向量机模型的评分值对待训练支持向量机进行N次迭代更新,直至K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,由此,实现了支持向量机的自动生成。并且,本申请的核函数搜索空间包含了所有核函数及核函数组合的可能性,通过在核函数搜索空间中进行自动搜索,可以搜索到复杂的支持向量机核函数,从而根据搜索到的支持向量机核函数得到的支持向量机,具备了复杂的核函数,从而能够降低现有技术中支持向量机仅能使用简单核函数,导致支持向量机的非线性表征能力受限的几率,使得支持向量机能够获得较佳的非线性表征能力,保证了支持向量机的性能,提高了支持向量机的鲁棒性。
在本申请实施例一种可能的实现方式中,将训练集和验证集划分为K个训练子集和K个验证子集时,可以通过K折交叉划分算法,将训练集和验证集划分为K个训练子集和K个验证子集。
K折交叉划分算法,是指将所有数据集分成K份,每次不重复地取其中一份作为验证子集,其他的K-1份作为训练子集用于训练模型,共得到K组训练子集和验证子集的组合。
举例而言,假设K=5,本实施例中,将训练集和验证集包含的所有数据随机地划分成K份,每份数据分别编号为1,2,3,4,5,则划分得到的训练子集和验证子集的组合如下:
(1)1,2,3,4作为训练子集,5作为验证子集;
(2)1,2,3,5作为训练子集,4作为验证子集;
(3)1,2,4,5作为训练子集,3作为验证子集;
(4)1,3,4,5作为训练子集,2作为验证子集;
(5)2,3,4,5作为训练子集,1作为验证子集。
可见,经过5折交叉划分算法划分后,得到5个训练子集和与各个训练子集对应的5个验证子集。
由于K折交叉划分算法是将数据随机地划分成K份,每次不重复地选择一份作为验证子集,剩余的K-1份作为验证子集,因此,根据K折交叉划分算法将训练集和验证集划分为K个训练子集和K个验证子集,保证了训练子集和验证子集的随机性,根据训练子集训练得到的支持向量机模型,经验证子集评估,能够提高评估结果的准确性,有利于提高最终获取的支持向量机的性能和鲁棒性。
为了更加清楚地描述前述实施例中根据核函数搜索空间生成待训练支持向量机的具体实现过程,下面结合附图2进行详细说明。
图2是根据本申请第二实施例的支持向量机的生成方法的流程示意图。如图2所示,在如图1所示实施例的基础上,步骤102中,根据核函数搜索空间生成待训练支持向量机,可以包括以下步骤:
步骤201,根据核函数搜索空间生成支持向量机核函数序列生成器。
步骤202,根据支持向量机核函数序列生成器生成支持向量机核函数序列。
步骤203,根据支持向量机核函数序列和核函数搜索空间生成支持向量机核函数。
步骤204,根据支持向量机核函数生成待训练支持向量机。
如前文所述,核函数搜索空间是根据预设的设计规则生成的,预设规则定义了所有的可能性,核函数搜索空间即是所有可能性的集合。因此本实施例中,可以根据核函数搜索空间,对支持向量机核函数序列生成器进行初始化,生成支持向量机核函数序列生成器。
其中,可以随机地对支持向量机核函数序列生成器进行初始化,核函数搜索空间中的每种可能性即对应一种初始化结果,根据核函数搜索空间随机地进行初始化,能够随机地得到一种支持向量机核函数序列生成器。
支持向量机核函数序列生成器能够生成支持向量机核函数序列,支持向量机核函数序列是用一组序列唯一地对应一种可能性的建模,即支持向量机核函数序列生成器生成唯一对应的一个支持向量机核函数序列。
支持向量机核函数序列能够表示对支持向量机建模所选择的支持向量机核函数,根据支持向量机核函数序列和核函数搜索空间,可以生成支持向量机核函数,进而,根据支持向量机核函数,可以生成待训练支持向量机。
举例而言,假设支持向量机核函数序列生成器生成的支持向量机核函数序列为[22,53],在核函数搜索空间中,22表示超参数为a的多项式核,53表示超参数为b的径向基函数核,则根据该支持向量机核函数序列和核函数搜索空间,可以确定出搜索到的支持向量机核函数为超参数为a的多项式核与超参数为b的径向基函数核的组合核函数,根据搜索到的组合核函数,即可生成待训练支持向量机,待训练支持向量机的核函数包括超参数为a的多项式核与超参数为b的径向基函数核。
为了优化支持向量机核函数序列生成器生成的支持向量机核函数序列,可以将核函数搜索空间中包含的每个超参数的每个核函数以及不同核函数之间的可能组合方式进行编码,以便于表达支持向量机核函数序列,支持向量机核函数序列生成器生成支持向量机核函数序列之后,根据核函数搜索空间对支持向量机核函数序列进行解码,得到对应的支持向量机核函数。比如,对于核函数搜索空间中的每种可能性,可以从1开始进行编码,支持向量机核函数序列生成器生成的支持向量机核函数序列为编码数据,比如1,相较于序列[22,53]等数据要简单地多,之后根据核函数搜索空间中对每种可能性的编码,对支持向量机核函数序列进行解码,即得到支持向量机核函数序列对应的支持向量机核函数。
接着,根据得到的支持向量机核函数,即可生成待训练支持向量机。比如,核函数搜索空间中一种可能的核函数组合[551,666,321,222]对应的编码为5,则获取到支持向量机核函数序列5之后,通过根据核函数搜索空间进行解码,即可确定核函数组合方案为[551,666,321,222],进而根据551对应的核函数、666对应的核函数、321对应的核函数和222对应的核函数,组合得到支持向量机核函数,并根据该组合得到支持向量机核函数生成待训练组合得到支持向量机。
本实施例的支持向量机的生成方法,通过根据核函数搜索空间生成支持向量机核函数序列生成器,接着根据支持向量机核函数序列生成器生成支持向量机核函数序列,并根据支持向量机核函数序列和核函数搜索空间生成支持向量机核函数,进而根据支持向量机核函数生成待训练支持向量机,由此,实现了从核函数搜索空间中自动搜索支持向量机核函数,保证了支持向量机核函数的随机性,从而保证了支持向量机的随机性。
图3是根据本申请第三实施例的支持向量机的生成方法的流程示意图。在如图2所示实施例的基础上,如图3所示,步骤105可以包括以下步骤
步骤301,分别获取K个支持向量机模型的K个评分值。
步骤302,根据K个支持向量机模型的K个评分值生成平均评分值。
本实施例中,对于K个支持向量机模型中的任一个模型,利用与训练子集对应的验证子集进行评估,即得到对应的评分值。对于K个支持向量机模型,可以得到K个评分值。接着,可以根据K个评分值,计算得到K个评分值的平均评分值。
步骤303,如果平均评分值小于评分要求,且当前迭代次数N小于预设迭代次数,则进一步更新支持向量机核函数序列生成器。
步骤304,通过更新之后的支持向量机核函数序列生成器对待训练支持向量机进行更新。
作为一种示例,评分要求可以是预设的性能标准阈值,比如设置性能标准阈值为90%。本示例中,当K个评分值的平均评分值小于预设的性能标准阈值时,则确定平均评分值不满足评分要求,此时进一步判断当前迭代次数N是否小于预设迭代次数,若当前迭代次数N小于预设迭代次数,则进一步更新支持向量机核函数序列生成器。
本申请实施例中,支持向量机核函数序列生成器可以是神经网络模块,或者,也可以是进化算法模块。针对不同的模块,可以采用不同的方式更新支持向量机核函数序列生成器。
作为一种可能的实现方式,当支持向量机核函数序列生成器为神经网络模块时,可以通过反向传播算法更新支持向量机核函数序列生成器。
作为一种可能的实现方式,当支持向量机核函数序列生成器为进化算法模块时,可以通过种群更新算法更新支持向量机核函数序列生成器。
本实施例中,当支持向量机核函数序列生成器为神经网络模块时,通过反向传播算法更新支持向量机核函数序列生成器,当支持向量机核函数序列生成器为进化算法模块时,通过种群更新算法更新支持向量机核函数序列生成器,由此,针对不同的支持向量机核函数序列生成器,提供了不同的更新方式对支持向量机核函数序列生成器进行更新,提高了方法的灵活性。
接着,对支持向量机核函数序列生成器进行更新之后,即可通过更新之后的支持向量机核函数序列生成器对待训练支持向量机进行更新。如前文所述,支持向量机核函数序列生成器生成唯一对应的支持向量机核函数序列,则更新支持向量机核函数序列生成器之后,根据支持向量机核函数序列生成器生成的支持向量机核函数序列也随之发生变化,因此,根据支持向量机核函数序列和核函数搜索空间生成的支持向量机核函数也随之变化,利用变化后的支持向量机核函数,即可完成对待训练支持向量机的更新。
本实施例的支持向量机的生成方法,通过分别获取K个支持向量机模型的K个评分值,根据K个支持向量机模型的K个评分值生成平均评分值,并在平均评分值小于评分要求,且当前迭代次数N小于预设迭代次数时,进一步更新支持向量机核函数序列生成器,进而通过更新之后的支持向量机核函数序列生成器对待训练支持向量机进行更新,由此,实现了在迭代次数未达到预设迭代次数的前提下,根据支持向量机模型的平均评分值判断是否对待训练支持向量机进行更新,实现了对于不满足评分要求的支持向量机模型进行迭代更新,以保证尽可能地获取到满足评分要求的支持向量机,为生成性能佳且鲁棒性好的支持向量机提供了条件。
为了更加清楚地描述前述实施例中生成核函数搜索空间的具体实现过程,下面结合附图4进行详细说明。
图4是根据本申请第四实施例的支持向量机的生成方法的流程示意图,如图4所示,在如图1所示实施例的基础上,步骤102中,生成核函数搜索空间,可以通过以下步骤实现:
步骤401,获取核函数搜索空间所需的多个超参数的多个多项式核。
其中,多项式核的超参数的参数值可以预先设定。
本实施例中,可以设置任意的值作为超参数的参数值,对于多项式核,可以设置任意不同的超参数值,以得到多个不同超参数的多项式核。
步骤402,获取核函数搜索空间所需的多个超参数的多个径向基函数核。
其中,径向基函数核的超参数的参数值可以预先设定。
本实施例中,可以设置任意的值作为超参数的参数值,对于径向基函数核,可以设置任意不同的超参数值,以得到多个不同超参数的径向基函数核。
步骤403,获取核函数搜索空间所需的多个超参数的多个拉普拉斯核。
其中,径向基函数核的超参数的参数值可以预先设定。
本实施例中,可以设置任意的值作为超参数的参数值,对于拉普拉斯核,可以设置任意不同的超参数值,以得到多个不同超参数的拉普拉斯核。
步骤404,获取核函数搜索空间所需的多个超参数的多个非线性函数Sigmoid核。
其中,Sigmoid核的超参数的参数值可以预先设定。
本实施例中,可以设置任意的值作为超参数的参数值,对于Sigmoid核,可以设置任意不同的超参数值,以得到多个不同超参数的Sigmoid核。
步骤405,根据多个多项式核、多个径向基函数核、多个拉普拉斯核和多个Sigmoid核,生成多个核函数组合,核函数组合中包括至少两个不同的核函数。
本实施例中,对于获取的任意超参数的多个多项式核、多个径向基函数核、多个拉普拉斯核和多个Sigmoid核,可以对至少两个不同的核函数进行任意组合,以得到多个核函数组合。
需要说明书的是,本实施例中,不同的核函数,既指超参数的参数值不同的同种类型的核函数,也指不同类型的核函数。比如,超参数为a的多项式核和超参数为b的多项式核,属于两个不同的核函数;超参数为a的多项式核和超参数为c的Sigmoid核,属于两个不同的核函数;超参数为a的多项式核和超参数为a的Sigmoid核,也属于两个不同的核函数。
通过对至少两个不同的核函数进行任意组合得到多个核函数组合,可以得到核函数组合的所有可能性,既包含了不同超参数的同种类型的核函数的组合,也包含了相同超参数的不同类型的核函数的组合,还包含了不同超参数的不同类型的核函数的组合。
其中,不同超参数的不同类型的核函数的组合中,不同超参数是指所组合的核函数的所有超参数中至少有一个超参数的参数值与其他超参数的参数值不同,同样地,不同类型的核函数是指所组合的核函数中至少一个核函数的类型与其他核函数的类型不同。
步骤406,根据多个多项式核、多个径向基函数核、多个拉普拉斯核、多个Sigmoid核以及多个核函数组合,构建核函数搜索空间。
本实施例中,获取了多个多项式核、多个径向基函数核、多个拉普拉斯核、多个Sigmoid核以及多个核函数组合之后,即可根据多个多项式核、多个径向基函数核、多个拉普拉斯核、多个Sigmoid核以及多个核函数组合,构建得到核函数搜索空间,核函数搜索空间可以生成满足上述条件的任意支持向量机核函数。
本实施例的支持向量机的生成方法,通过根据获取的核函数搜索空间所需的多个多项式核、多个径向基函数核、多个拉普拉斯核、多个Sigmoid核以及多个核函数组合,构建核函数搜索空间,为自动搜索生成支持向量机核函数进而生成支持向量机奠定了基础,并且,通过获取多个核函数组合,使得搜索到的支持向量机核函数可以是复杂的不同核函数的组合,从而有利于提高支持向量机的非线性表征能力。此外,早期的NAS未限制搜索空间,在搜索时甚至需要七八百块的图形处理器,并训练一个月之久才能获得收敛的模型,所需的硬件设备较多,且搜索速度慢;而本申请中,通过生成核函数搜索空间,以在核函数搜索空间中进行搜索生成支持向量机核函数进而生成支持向量机,核函数搜索空间定义了优化问题的变量,变量规模决定了搜索算法的难度和搜索时间,因此通过定义合理的核函数搜索空间进行搜索,能够加快搜索速度和效率,减少硬件设备的使用,从而节约了硬件成本。
本申请提供的方案可以应用于图像处理中。比如,当支持向量机的输入为深度学习网络所提取的特征时,本申请提供的方案可以应用于图像处理中的分类任务、目标检测任务、人脸检测任务、人脸人体关键点检测任务等任务中。由于通过本申请提供的方案生成的支持向量机具有较好的性能和鲁棒性,从而利用支持向量机完成分类任务、目标检测任务、人脸检测任务等任务时,能够提高任务处理的准确率,对于分类任务,能够提高分类的准确率,对于目标检测任务,能够提高目标检测结果的准确率。
根据本申请的实施例,本申请还提供了一种支持向量机的生成装置。
图5是根据本申请第五实施例的支持向量机的生成装置的结构示意图。如图5所示,该支持向量机的生成装置50包括:获取模块510、第一生成模块520、第二生成模块530、训练模块540、验证模块550以及更新模块560。
其中,获取模块510,用于获取训练集和验证集,并将训练集和验证集划分为K个训练子集和K个验证子集,其中,K为正整数。
在本申请实施例一种可能的实现方式中,获取模块510通过K折交叉划分算法将所述训练集和所述验证集划分为K个训练子集和K个验证子集。
第一生成模块520,用于生成核函数搜索空间。
第二生成模块530,用于根据所述核函数搜索空间生成待训练支持向量机。
训练模块540,用于根据所述K个训练子集对所述待训练支持向量机进行训练以生成K个支持向量机模型。
验证模块550,用于分别使用所述K个验证子集对所述K个支持向量机模型进行评估以生成所述K个支持向量机模型的评分值。
更新模块560,用于根据所述K个支持向量机模型的评分值对所述待训练支持向量机进行N次迭代更新,直至所述K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,其中,N为正整数。
在本申请实施例一种可能的实现方式中,如图6所示,在如图5所示实施例的基础上,第二生成模块530包括:
第一生成单元531,用于根据所述核函数搜索空间生成支持向量机核函数序列生成器;
第二生成单元532,用于根据所述支持向量机核函数序列生成器生成支持向量机核函数序列;
第三生成单元533,用于根据所述支持向量机核函数序列和所述核函数搜索空间生成支持向量机核函数;以及
第四生成单元534,用于根据所述支持向量机核函数生成所述待训练支持向量机。
在本申请实施例一种可能的实现方式中,如图7所示,在如图6所示实施例的基础上,更新模块560,包括:
评分值获取单元561,用于分别获取所述K个支持向量机模型的K个评分值;
计算单元562,用于根据所述K个支持向量机模型的K个评分值生成平均评分值;
第一更新单元563,用于如果所述平均评分值小于所述评分要求,且当前迭代次数N小于所述预设迭代次数,则进一步更新所述支持向量机核函数序列生成器;
在本申请实施例一种可能的实现方式中,支持向量机核函数序列生成器为神经网络模块或进化算法模块,第一更新单元563在所述支持向量机核函数序列生成器为所述神经网络模块时,通过反向传播算法更新所述支持向量机核函数序列生成器;在所述支持向量机核函数序列生成器为所述进化算法模块时,通过种群更新算法更新所述支持向量机核函数序列生成器。
第二更新单元564,用于通过更新之后的所述支持向量机核函数序列生成器对所述待训练支持向量机进行更新。
在本申请实施例一种可能的实现方式中,如图8所示,在如图5所示实施例的基础上,第一生成模块520,包括:
第一获取单元521,用于获取所述核函数搜索空间所需的多个超参数的多个多项式核;
第二获取单元522,用于获取所述核函数搜索空间所需的多个超参数的多个径向基函数核;
第三获取单元523,用于获取所述核函数搜索空间所需的多个超参数的多个拉普拉斯核;
第四获取单元524,用于获取所述核函数搜索空间所需的多个超参数的多个非线性函数Sigmoid核;
组合单元525,用于根据所述多个多项式核、所述多个径向基函数核、所述多个拉普拉斯核和所述多个Sigmoid核,生成多个核函数组合,所述核函数组合中包括至少两个不同的核函数;以及
构建单元526,用于根据所述多个多项式核、所述多个径向基函数核、所述多个拉普拉斯核、所述多个Sigmoid核以及所述多个核函数组合,构建所述核函数搜索空间。
需要说明的是,前述对支持向量机的生成方法的实施例的解释说明,也适用于该实施例的支持向量机的生成装置,其实现原理类似,此处不再赘述。
本申请实施例的支持向量机的生成装置,通过获取训练集和验证集,并将训练集和验证集划分为K个训练子集和K个验证子集,以及,生成核函数搜索空间,并根据核函数搜索空间生成待训练支持向量机,接着,根据K个训练子集对待训练支持向量机进行训练以生成K个支持向量机模型,并分别使用K个验证子集对K个支持向量机模型进行评估,以生成K个支持向量机模型的评分值,根据K个支持向量机模型的评分值对待训练支持向量机进行N次迭代更新,直至K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,由此,实现了支持向量机的自动生成。并且,本申请的核函数搜索空间包含了所有核函数及核函数组合的可能性,通过在核函数搜索空间中进行自动搜索,可以搜索到复杂的支持向量机核函数,从而根据搜索到的支持向量机核函数得到的支持向量机,具备了复杂的核函数,从而能够降低现有技术中支持向量机仅能使用简单核函数,导致支持向量机的非线性表征能力受限的几率,使得支持向量机能够获得较佳的非线性表征能力,保证了支持向量机的性能,提高了支持向量机的鲁棒性。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是用来实现本申请实施例的支持向量机的生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的支持向量机的生成方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的支持向量机的生成方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的支持向量机的生成方法对应的程序指令/模块(例如,附图5所示的获取模块510、第一生成模块520、第二生成模块530、训练模块540、验证模块550以及更新模块560)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的支持向量机的生成方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行支持向量机的生成方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至执行支持向量机的生成方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行支持向量机的生成方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与执行支持向量机的生成方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过生成核函数搜索空间,并根据核函数搜索空间生成待训练支持向量机,进而利用获取的K个训练子集对生成的待训练支持向量机进行训练,得到K个支持向量机模型,并分别使用获取的K个验证集对K个支持向量机模型进行性能评估,得到K个支持向量机模型的评分值,当K个支持向量机模型的评分值不满足评分要求且未达到预设迭代次数时,对待训练支持向量机进行迭代更新,直至K个支持向量机模型的评分值满足评分要求或者迭代次数N到达预设迭代次数,由此,实现了支持向量机的自动生成。并且,本申请的核函数搜索空间包含了所有核函数及核函数组合的可能性,通过在核函数搜索空间中进行自动搜索,可以搜索到复杂的支持向量机核函数,从而根据搜索到的支持向量机核函数得到的支持向量机,具备了复杂的核函数,从而能够降低现有技术中支持向量机仅能使用简单核函数,导致支持向量机的非线性表征能力受限的几率,使得支持向量机能够获得较佳的非线性表征能力,保证了支持向量机的性能,提高了支持向量机的鲁棒性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种支持向量机的生成方法,包括:
获取训练集和验证集,并将所述训练集和所述验证集划分为K个训练子集和K个验证子集,其中,K为正整数;
生成核函数搜索空间,根据所述核函数搜索空间生成待训练支持向量机;
根据所述K个训练子集对所述待训练支持向量机进行训练以生成K个支持向量机模型;
分别使用所述K个验证子集对所述K个支持向量机模型进行评估以生成所述K个支持向量机模型的评分值;以及
根据所述K个支持向量机模型的评分值对所述待训练支持向量机进行N次迭代更新,直至所述K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,其中,N为正整数。
2.如权利要求1所述的支持向量机的生成方法,其中,所述根据所述核函数搜索空间生成待训练支持向量机,包括:
根据所述核函数搜索空间生成支持向量机核函数序列生成器;
根据所述支持向量机核函数序列生成器生成支持向量机核函数序列;以及
根据所述支持向量机核函数序列和所述核函数搜索空间生成支持向量机核函数;以及
根据所述支持向量机核函数生成所述待训练支持向量机。
3.如权利要求2所述的支持向量机的生成方法,其中,所述根据所述K个支持向量机模型的评分值对所述待训练支持向量机进行N次迭代更新,包括:
分别获取所述K个支持向量机模型的K个评分值;
根据所述K个支持向量机模型的K个评分值生成平均评分值;
如果所述平均评分值小于所述评分要求,且当前迭代次数N小于所述预设迭代次数,则进一步更新所述支持向量机核函数序列生成器;以及
通过更新之后的所述支持向量机核函数序列生成器对所述待训练支持向量机进行更新。
4.如权利要求3所述的支持向量机的生成方法,其中,所述支持向量机核函数序列生成器为神经网络模块或进化算法模块,其中,所述进一步更新所述支持向量机核函数序列生成器,包括:
当所述支持向量机核函数序列生成器为所述神经网络模块时,通过反向传播算法更新所述支持向量机核函数序列生成器;
当所述支持向量机核函数序列生成器为所述进化算法模块时,通过种群更新算法更新所述支持向量机核函数序列生成器。
5.如权利要求1所述的支持向量机的生成方法,其中,所述生成核函数搜索空间,包括:
获取所述核函数搜索空间所需的多个超参数的多个多项式核;
获取所述核函数搜索空间所需的多个超参数的多个径向基函数核;
获取所述核函数搜索空间所需的多个超参数的多个拉普拉斯核;
获取所述核函数搜索空间所需的多个超参数的多个非线性函数Sigmoid核;
根据所述多个多项式核、所述多个径向基函数核、所述多个拉普拉斯核和所述多个Sigmoid核,生成多个核函数组合,所述核函数组合中包括至少两个不同的核函数;以及
根据所述多个多项式核、所述多个径向基函数核、所述多个拉普拉斯核、所述多个Sigmoid核以及所述多个核函数组合,构建所述核函数搜索空间。
6.如权利要求1所述的支持向量机的生成方法,其中,所述将所述训练集和所述验证集划分为K个训练子集和K个验证子集,包括:
通过K折交叉划分算法将所述训练集和所述验证集划分为K个训练子集和K个验证子集。
7.一种支持向量机的生成装置,包括:
获取模块,用于获取训练集和验证集,并将所述训练集和所述验证集划分为K个训练子集和K个验证子集,其中,K为正整数;
第一生成模块,用于生成核函数搜索空间;
第二生成模块,用于根据所述核函数搜索空间生成待训练支持向量机;
训练模块,用于根据所述K个训练子集对所述待训练支持向量机进行训练以生成K个支持向量机模型;
验证模块,用于分别使用所述K个验证子集对所述K个支持向量机模型进行评估以生成所述K个支持向量机模型的评分值;以及
更新模块,用于根据所述K个支持向量机模型的评分值对所述待训练支持向量机进行N次迭代更新,直至所述K个支持向量机模型的评分值满足评分要求或者N到达预设迭代次数,其中,N为正整数。
8.如权利要求7所述的支持向量机的生成装置,其中,所述第二生成模块,包括:
第一生成单元,用于根据所述核函数搜索空间生成支持向量机核函数序列生成器;
第二生成单元,用于根据所述支持向量机核函数序列生成器生成支持向量机核函数序列;
第三生成单元,用于根据所述支持向量机核函数序列和所述核函数搜索空间生成支持向量机核函数;以及
第四生成单元,用于根据所述支持向量机核函数生成所述待训练支持向量机。
9.如权利要求8所述的支持向量机的生成装置,其中,所述更新模块,包括:
评分值获取单元,用于分别获取所述K个支持向量机模型的K个评分值;
计算单元,用于根据所述K个支持向量机模型的K个评分值生成平均评分值;
第一更新单元,用于如果所述平均评分值小于所述评分要求,且当前迭代次数N小于所述预设迭代次数,则进一步更新所述支持向量机核函数序列生成器;以及
第二更新单元,用于通过更新之后的所述支持向量机核函数序列生成器对所述待训练支持向量机进行更新。
10.如权利要求9所述的支持向量机的生成装置,其中,所述支持向量机核函数序列生成器为神经网络模块或进化算法模块,所述第一更新单元在所述支持向量机核函数序列生成器为所述神经网络模块时,通过反向传播算法更新所述支持向量机核函数序列生成器;在所述支持向量机核函数序列生成器为所述进化算法模块时,通过种群更新算法更新所述支持向量机核函数序列生成器。
11.如权利要求7所述的支持向量机的生成装置,其中,所述第一生成模块,包括:
第一获取单元,用于获取所述核函数搜索空间所需的多个超参数的多个多项式核;
第二获取单元,用于获取所述核函数搜索空间所需的多个超参数的多个径向基函数核;
第三获取单元,用于获取所述核函数搜索空间所需的多个超参数的多个拉普拉斯核;
第四获取单元,用于获取所述核函数搜索空间所需的多个超参数的多个非线性函数Sigmoid核;
组合单元,用于根据所述多个多项式核、所述多个径向基函数核、所述多个拉普拉斯核和所述多个Sigmoid核,生成多个核函数组合,所述核函数组合中包括至少两个不同的核函数;以及
构建单元,用于根据所述多个多项式核、所述多个径向基函数核、所述多个拉普拉斯核、所述多个Sigmoid核以及所述多个核函数组合,构建所述核函数搜索空间。
12.如权利要求7所述的支持向量机的生成装置,其中,所述获取模块通过K折交叉划分算法将所述训练集和所述验证集划分为K个训练子集和K个验证子集。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的支持向量机的生成方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的支持向量机的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010560659.8A CN111914882A (zh) | 2020-06-18 | 2020-06-18 | 支持向量机的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010560659.8A CN111914882A (zh) | 2020-06-18 | 2020-06-18 | 支持向量机的生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914882A true CN111914882A (zh) | 2020-11-10 |
Family
ID=73237945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010560659.8A Pending CN111914882A (zh) | 2020-06-18 | 2020-06-18 | 支持向量机的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914882A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642649A (zh) * | 2021-08-16 | 2021-11-12 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于支持向量机的hplc通信模块合格分类方法 |
-
2020
- 2020-06-18 CN CN202010560659.8A patent/CN111914882A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642649A (zh) * | 2021-08-16 | 2021-11-12 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于支持向量机的hplc通信模块合格分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539223B (zh) | 语言模型的训练方法、装置、电子设备及可读存储介质 | |
CN110795569B (zh) | 知识图谱的向量表示生成方法、装置及设备 | |
CN111639710A (zh) | 图像识别模型训练方法、装置、设备以及存储介质 | |
CN111667057B (zh) | 用于搜索模型结构的方法和装置 | |
KR102615957B1 (ko) | 점군 데이터 처리방법, 장치, 전자기기 및 판독 가능 기록매체 | |
CN111967256B (zh) | 事件关系的生成方法、装置、电子设备和存储介质 | |
CN111914994B (zh) | 多层感知机的生成方法、装置、电子设备及存储介质 | |
CN111950254B (zh) | 搜索样本的词特征提取方法、装置、设备以及存储介质 | |
CN111859982B (zh) | 语言模型的训练方法、装置、电子设备及可读存储介质 | |
JP2022018095A (ja) | マルチモーダル事前訓練モデル取得方法、装置、電子デバイス及び記憶媒体 | |
CN111737996B (zh) | 基于语言模型获取词向量的方法、装置、设备及存储介质 | |
CN114970522B (zh) | 语言模型的预训练方法、装置、设备、存储介质 | |
CN111667056A (zh) | 用于搜索模型结构的方法和装置 | |
CN111709252B (zh) | 基于预训练的语义模型的模型改进方法及装置 | |
CN113723278B (zh) | 表格信息提取模型的训练方法及装置 | |
CN111860769A (zh) | 预训练图神经网络的方法以及装置 | |
CN111950291A (zh) | 语义表示模型的生成方法、装置、电子设备及存储介质 | |
CN111931520B (zh) | 自然语言处理模型的训练方法和装置 | |
CN111324715B (zh) | 问答机器人的生成方法和装置 | |
CN111967569A (zh) | 神经网络结构的生成方法、装置、存储介质及电子设备 | |
CN111582454A (zh) | 生成神经网络模型的方法和装置 | |
CN112329453B (zh) | 样本章节的生成方法、装置、设备以及存储介质 | |
CN111753761A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
CN114492788A (zh) | 训练深度学习模型的方法和装置、电子设备及存储介质 | |
CN111914884A (zh) | 梯度下降树的生成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |