一种支持向量机的并行训练方法及装置制造方法及图纸

技术编号:14158794 阅读:112 留言:0更新日期:2016-12-12 01:32
本发明专利技术实施例公开了一种支持向量机的并行训练方法及装置,方法包括:将训练样本集划分为子训练样本集,对每个子训练样本集并行训练,得到初始支持向量,从初始支持向量中选取r个作为目标样本集,确定当前权值ω表达式及预测标签yi′,每遍历一个目标样本集中样本判断其分类是否正确,根据判断结果,对当前未遍历的目标样本集中样本的预测标签更新,遍历结束后,将分类不正确的目标样本集中样本的拉格朗日乘子进行更新,最后,根据ω=sv及f(x)=ωx确定最大间隔分离超平面方程f(x)。可见,本方案中将当前权值ω分解为s和v乘积的形式,避免了每次更新当前权值都要遍历所有初始支持向量的时间消耗,提高了分类准确率,减少了运行时间。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,特别涉及一种支持向量机的并行训练方法及装置
技术介绍
支持向量机(Support Vector Machines,SVM)于1995年由Cortes和Vapnik提出,用于对数据进行分类。它是一种二分类模型训练方法,其基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机还包括核技巧(kernel trick),这使它成为实质上的非线性分类器,其分类策略是找到最大间隔超平面,进而进行数据分类。它可以形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数最小化问题。支持向量机具有许多特有的优势,比如分类正确率较高,可解决非线性数据分类问题等。而如何对支持向量机模型进行训练,使得到的最大间隔分离超平面最优化是模型训练方法的核心问题。现有技术中,对支持向量机模型的并行训练方法目前主要有以下两种:层叠支持向量机(CascadeSVM)又称级联支持向量机,层叠支持向量机是设计在分布式系统上的多层次模型训练方法,采用分而治之的思想训练SVM模型。常用序列最小最优化算法(Sequential Minimal Optimization,SMO)对Cascade SVM的目标函数进行求解。拥有P个结点的CascadeSVM系统有log(P)+1层,并且,将整个训练样本集(TD)划分成P个子集(TD1,TD2,…,TDp),每一个子集TDi都被当做一个独立的子模型进行训练。在训练过程中,逐步从所有训练样本里挑选出拉格朗日乘子非0的特定样本,即支持向量。支持向量集SV是其训练样本集的子集每一个子模型都会产生它自己的支持向量,且仅有支持向量能从当前层传递到下一层,作为下一层子模型的输入训练样本集。通过将最后一层产生的结果反馈到第一层,测试最后一层产生的支持向量是否已在全局收敛,以此决定是否结束模型训练。P-packSVM是针对带任意核函数的支持向量机的并行模型训练方法。该方法使用了近年来非常流行的随机梯度下降算法来求解原始目标函数。通过使用分布式哈希表,将样本均匀分发到所有处理器,提高了训练并行化程度,加速整个训练过程。同时引入打包策略,将随机梯度下降中一次迭代只更新一个样本的方式变为一次迭代处理多个样本,降低了机器间的通信频率,减少了模型训练的运行时间。其中,随机梯度下降(Stochastic Gradient Descent,SGD)是近年非常流行的一种SVM目标函数的求解算法。它基于单个样本来更新权值,并获得梯度下降搜索的近似值。随机梯度下降以迭代的方式每次接收一个被标签化的样本,通过在相关瞬时目标函数上执行梯度下降,对模型的权值进行更新。并且,随着参与迭代的样本数量的增长,随机梯度下降逐渐收敛于SVM的最优解。可见,CascadeSVM采用级联的方式,将数据进行分块,增加了模型训练的并行度,但是,当处理具有较宽软间隔的较难分类的数据集时,总体支持向量的个数会变得非常庞大。由于CascadeSVM最后一个阶段仅能被运行在单一机器上,限制了模型训练整体效率的提升,运行时间较长。P-packSVM在训练过程中无法限制模型规模的增长,这将导致模型训练时间复杂度是训练样本个数的平方。同时,P-packSVM模型训练过程中使用了随机梯度下降,对于非线性带核函数的支持向量机而言,它需花费较长时间才能获得最优解,甚至有时无法收敛到全局最优,这将导致P-packSVM方法训练出的模型在测试集上无法获得较高的准确率。
技术实现思路
本专利技术实施例公开了一种支持向量机的并行训练方法及装置,用于解决现有的支持向量机训练方法存在的运行时间长及分类准确率低的问题。技术方案如下:第一方面,本专利技术实施例提供了一种支持向量机的并行训练方法,包括:步骤1:获取训练样本集,并将所述训练样本集划分为n个子训练样本集,其中,n为偶数;步骤2:对所述n个子训练样本集进行并行训练,得到n组支持向量,其中,所述子训练样本集与所述支持向量具有唯一对应性;步骤3:将所述n组支持向量每两组归并为一组,得到n/2组支持向量;步骤4:将所述n/2组支持向量中的每组支持向量作为一个子训练样本集,返回步骤2,直到训练次数达到预设值后,得到初始支持向量,执行步骤5,其中,每个所述初始支持向量携带其真实标签yi及拉格朗日乘子m为所述初始支持向量的数量;步骤5:从所述初始支持向量中选取r个作为目标样本集;步骤6:令ω=sv,根据所述初始支持向量的真实标签yi及拉格朗日乘子确定当前权值ω表达式,根据所述初始支持向量的拉格朗日乘子确定每个目标样本集中样本的拉格朗日乘子αi,并根据ω确定每个目标样本集中样本的预测标签y′i,其中,s初始化为1;步骤7:遍历所述目标样本集,每遍历一个所述目标样本集中样本,将s更新为其倍,并根据该目标样本集中样本的预测标签y′i判断该目标样本集中样本分类是否正确,如果正确,执行步骤8,否则,执行步骤9,其中,t为预设的目标样本集确定次数;步骤8:根据当前s值对当前未遍历的目标样本集中样本的预测标签进行更新,继续遍历所述目标样本集,直至遍历结束;步骤9:确定更新后的该目标样本集中样本的拉格朗日乘子αi,并将该更新后的目标样本集中样本的拉格朗日乘子αi记录在预先建立的哈希表中,并根据当前s值及更新后的αi对当前未遍历的目标样本集中样本的预测标签进行更新,继续遍历所述目标样本集,直至遍历结束,其中,更新后的该目标样本集中样本的拉格朗日乘子αi为其倍,λ为正则化参数;步骤10:在所述目标样本集遍历结束后,根据所述哈希表,将分类不正确的目标样本集中样本的拉格朗日乘子进行更新;步骤11:返回步骤5,直到达到预设的目标样本集确定次数后,遍历当前的初始支持向量,选取当前对应拉格朗日乘子不为0的初始支持向量作为最终支持向量进行线性加权得到v,根据ω=sv及f(x)=ωx确定最大间隔分离超平面方程f(x),完成分类模型训练。优选的,所述对所述n个子训练样本集进行并行训练,得到n组支持向量具体为:通过序列最小最优化算法SMO对所述n个子训练样本集进行并行训练,得到n组支持向量。优选的,根据所述真实标签yi及拉格朗日乘子所确定的当前权值ω表达式为: ω = Σ i = 1 m α i * y i φ ( x i ) ]]>其中,m为所述初始支持向量的数量,为所述初始支持向量xi的拉格朗日乘子,yi为所述初始支持向量xi的真实标签,φ(xi)为所述初始支持向量xi的映射函数。优选的,所述预测标签y′i通过以下公式确定:y′i=<ω,φ(xi)>其中,ω为所述当前权值,φ(xi)为所述目标样本集中样本xi的映射函数。优选的,所述根据该目标样本集中样本的预测标签y′i判断该目标样本集中样本分类是否正确具体为:判断所述该目标样本集中样本的预测标签y′i与该目标样本集中样本的真实标签yi的乘积是否小本文档来自技高网
...
一种支持向量机的并行训练方法及装置

【技术保护点】
一种支持向量机的并行训练方法,其特征在于,包括:步骤1:获取训练样本集,并将所述训练样本集划分为n个子训练样本集,其中,n为偶数;步骤2:对所述n个子训练样本集进行并行训练,得到n组支持向量,其中,所述子训练样本集与所述支持向量具有唯一对应性;步骤3:将所述n组支持向量每两组归并为一组,得到n/2组支持向量;步骤4:将所述n/2组支持向量中的每组支持向量作为一个子训练样本集,返回步骤2,直到训练次数达到预设值后,得到初始支持向量,执行步骤5,其中,每个所述初始支持向量携带其真实标签yi及拉格朗日乘子i=1,2…m,m为所述初始支持向量的数量;步骤5:从所述初始支持向量中选取r个作为目标样本集;步骤6:令ω=sv,根据所述初始支持向量的真实标签yi及拉格朗日乘子确定当前权值ω表达式,根据所述初始支持向量的拉格朗日乘子确定每个目标样本集中样本的拉格朗日乘子αi,并根据ω确定每个目标样本集中样本的预测标签y′i,其中,s初始化为1;步骤7:遍历所述目标样本集,每遍历一个所述目标样本集中样本,将s更新为其倍,并根据该目标样本集中样本的预测标签y′i判断该目标样本集中样本分类是否正确,如果正确,执行步骤8,否则,执行步骤9,其中,t为预设的目标样本集确定次数;步骤8:根据当前s值对当前未遍历的目标样本集中样本的预测标签进行更新,继续遍历所述目标样本集,直至遍历结束;步骤9:确定更新后的该目标样本集中样本的拉格朗日乘子αi,将该更新后的目标样本集中样本的拉格朗日乘子αi记录在预先建立的哈希表中,并根据当前s值及更新后的αi对当前未遍历的目标样本集中样本的预测标签进行更新,继续遍历所述目标样本集,直至遍历结束,其中,更新后的该目标样本集中样本的拉格朗日乘子αi为其倍,λ为正则化参数;步骤10:在所述目标样本集遍历结束后,根据所述哈希表,将分类不正确的目标样本集中样本的拉格朗日乘子进行更新;步骤11:返回步骤5,直到达到预设的目标样本集确定次数后,遍历当前的初始支持向量,选取当前对应拉格朗日乘子不为0的初始支持向量作为最终支持向量进行线性加权得到v,根据ω=sv及f(x)=ωx确定最大间隔分离超平面方程f(x),完成分类模型训练。...

【技术特征摘要】
1.一种支持向量机的并行训练方法,其特征在于,包括:步骤1:获取训练样本集,并将所述训练样本集划分为n个子训练样本集,其中,n为偶数;步骤2:对所述n个子训练样本集进行并行训练,得到n组支持向量,其中,所述子训练样本集与所述支持向量具有唯一对应性;步骤3:将所述n组支持向量每两组归并为一组,得到n/2组支持向量;步骤4:将所述n/2组支持向量中的每组支持向量作为一个子训练样本集,返回步骤2,直到训练次数达到预设值后,得到初始支持向量,执行步骤5,其中,每个所述初始支持向量携带其真实标签yi及拉格朗日乘子i=1,2…m,m为所述初始支持向量的数量;步骤5:从所述初始支持向量中选取r个作为目标样本集;步骤6:令ω=sv,根据所述初始支持向量的真实标签yi及拉格朗日乘子确定当前权值ω表达式,根据所述初始支持向量的拉格朗日乘子确定每个目标样本集中样本的拉格朗日乘子αi,并根据ω确定每个目标样本集中样本的预测标签y′i,其中,s初始化为1;步骤7:遍历所述目标样本集,每遍历一个所述目标样本集中样本,将s更新为其倍,并根据该目标样本集中样本的预测标签y′i判断该目标样本集中样本分类是否正确,如果正确,执行步骤8,否则,执行步骤9,其中,t为预设的目标样本集确定次数;步骤8:根据当前s值对当前未遍历的目标样本集中样本的预测标签进行更新,继续遍历所述目标样本集,直至遍历结束;步骤9:确定更新后的该目标样本集中样本的拉格朗日乘子αi,将该更新后的目标样本集中样本的拉格朗日乘子αi记录在预先建立的哈希表中,并根据当前s值及更新后的αi对当前未遍历的目标样本集中样本的预测标签进行更新,继续遍历所述目标样本集,直至遍历结束,其中,更新后的该目标样本集中样本的拉格朗日乘子αi为其倍,λ为正则化参数;步骤10:在所述目标样本集遍历结束后,根据所述哈希表,将分类不正确的目标样本集中样本的拉格朗日乘子进行更新;步骤11:返回步骤5,直到达到预设的目标样本集确定次数后,遍历当前的初始支持向量,选取当前对应拉格朗日乘子不为0的初始支持向量作为最终支持向量进行线性加权得到v,根据ω=sv及f(x)=ωx确定最大间隔分离超平面方程f(x),完成分类模型训练。2.如权利要求1所述的方法,其特征在于,所述对所述n个子训练样本集进行并行训练,得到n组支持向量具体为:通过序列最小最优化算法SMO对所述n个子训练样本集进行并行训练,得到n组支持向量。3.如权利要求1所述的方法,其特征在于,根据所述真实标签yi及拉格朗日乘子所确定的当前权值ω表达式为: ω = Σ i = 1 m α i * y i φ ( x i ) ]]>其中,m为所述初始支持向量的数量,为所述初始支持向量xi的拉格朗日乘子,yi为所述初始支持向量xi的真实标签,φ(xi)为所述初始支持向量xi的映射函数。4.如权利要求1所述的方法,其特征在于,所述预测标签y′i通过以下公式确定:y′i=<ω,φ(xi)>其中,ω为所述当前权值,φ(xi)为所述目标样本集中样本xi的映射函数。5.如权利要求1所述的方法,其特征在于,所述根据该目标样本集中样本的预测标签y′i判断该目标样本集中样本分类是否正确具体为:判断所述该目标样本集中样本的预测标签y′i与该目标样本集中样本的真实标签yi的乘积是否小于1;如果小于1,则分类不正确,否则分类正确。6.如权利要求1所述的方法,其特征在于,所述预设的目标样本集确定次数t为用户设定的...

【专利技术属性】
技术研发人员:吴斌赛金辰
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1