[发明专利]一种基于Spark框架的支持向量机训练方法有效
申请号: | 201711269096.1 | 申请日: | 2017-12-05 |
公开(公告)号: | CN108121998B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 许千帆;王宇;陈玫 | 申请(专利权)人: | 北京寄云鼎城科技有限公司 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06K9/00 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 100086 北京市海淀区东北旺*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark 框架 支持 向量 训练 方法 | ||
1.一种基于Spark框架的支持向量机训练方法,其特征在于,包括:
S1,获取训练样本集,将所述训练样本集中的所有样本向量分布式储存在Spark框架的数据节点中;
S2,从所述训练样本集中抽取违反KKT条件最大的样本向量V2,同时选取与样本向量V2的球心距相差最大的样本向量V1;
S3,对所述样本向量V1和V2进行迭代优化计算,获得更新后的样本向量V1new和V2new;
S4,将所述更新后的样本向量V1new和V2new广播到所述Spark的数据节点中,在每个数据节点中计算所述样本向量V1和V2产生的差分,根据所述每个数据节点中计算的差分,计算获得更新后的球心anew;
S5,根据所述更新后的球心anew,更新所述Spark的数据节点中各个样本向量的球心距,同时更新球体半径R。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1还包括:向每个所述数据节点读入对应的该数据节点中所述训练样本中的样本向量,对每一个所述样本向量生成一个唯一数据标识。
3.根据权利要求2所述的方法,其特征在于,所述唯一数据标识由所述数据节点的分片区号和数据节点本地的时间戳组合而成。
4.根据权利要求2所述的方法,其特征在于,所述步骤S1中还包括初始化所述迭代优化计算所需的计算参数;
其中,所述计算参数包括所有样本向量的拉格朗日乘子α、球心a和每个样本向量的球心距d2。
5.根据权利要求4所述的方法,其特征在于,所述初始化所述迭代优化计算的计算参数具体包括:
初始化所有样本向量的拉格朗日乘子α值为1/N;
其中,N为所述训练样本集中所述样本向量的个数;
初始化球体半径的平方R2,使得R2=0;
根据以下公式初始化球心:
式中a为球心,αi和αj为所述训练样本集中任意两个样本向量,Kij为核函数;
根据公式计算出所述样本向量的球心距d2。
6.根据权利要求1所述的方法,其特征在于,所述步骤S2中,从所述训练样本集中抽取违反KKT条件最大的样本向量V2的抽取类型为无放回抽取。
7.根据权利要求1所述的方法,其特征在于,所述步骤S2中选取与样本向量V2的球心距相差最大的样本向量V1具体包括:
对于任意一个所述数据节点,获取该数据节点中与所述样本向量V2的球心距相差最大的样本向量;
在Spark框架的Driver Program中根据每个所述数据节点中与所述样本向量V2的球心距相差最大的样本向量,获得与样本向量V2的球心距相差最大的样本向量V1。
8.根据权利要求1所述的方法,其特征在于,所述步骤S4中,计算获得更新后的球心anew的步骤,具体包括:在Spark框架的Driver Program中对所有数据节点中的计算得到的差分进行加总,计算获得新的球心anew。
9.根据权利要求1所述的方法,其特征在于,所述步骤S5之后还包括:根据更新后的所述各个向量的球心距和球半径R,去除界上样本向量,保留所有无界样例的样本向返回执行S1。
10.根据权利要求8所述的方法,其特征在于,所述步骤S5之后还包括,根据判断当所述训练样本集中所有样本向量的拉格朗日乘子都满足KKT条件或所述样本向量V1和V2的目标损失函数loss小于预设阈值时,停止训练。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京寄云鼎城科技有限公司,未经北京寄云鼎城科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711269096.1/1.html,转载请声明来源钻瓜专利网。