System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于SVM的非平衡大规模数据集的训练方法技术_技高网
当前位置: 首页 > 专利查询>三峡大学专利>正文

一种基于SVM的非平衡大规模数据集的训练方法技术

技术编号:41492948 阅读:21 留言:0更新日期:2024-05-30 14:38
本发明专利技术提供了一种基于SVM的非平衡大规模数据集的训练方法,该方法使用多次降采样及并行支持向量机即SVM的方式解决了大规模非平衡二分类数据集训练速度慢、模型性能低的问题;首先,对数据集进行分类,并找出少数类数据集与多数类数据集,再将少数类数据集保留,多次向多数类数据集进行无放回的随机采样,采样次数为少数类数据集总数,最终将采样得到的数据集和少数类数据集组成多份平衡数据集;其次,将各个平衡数据集分别输入到集群中的各个节点的支持向量机模型(SVM)中进行模型训练;最后,各个节点将输出各自训练的模型,以投票法预测测试样本数据结果,可以在同规模数据量情况下大幅度提模型升训练效率,并少量提升模型性能。

【技术实现步骤摘要】

本专利技术涉及计算机,特别是一种基于svm的非平衡大规模数据集的训练方法。


技术介绍

1、传统的支持向量机(svm)是一种基于统计学习理论的监督学习方法,它可以通过构造一个最优的超平面来实现对数据的分类或回归。传统的支持向量机(svm)主要用于处理二分类问题,即将数据分为两个类别,如判断一张图片中是否有人脸,或者判断一封邮件是否是垃圾邮件等。除此之外,传统的支持向量机(svm)也可以通过一些扩展方法来处理多分类问题和回归问题。多分类问题是指将数据分为多个类别,如识别手写数字,或者识别动物的种类等。回归问题是指预测一个连续的数值,如预测疾病的发病率,或者预测楼市的房价走势等。传统的支持向量机(svm)在这些问题上都有着广泛的应用和良好的效果,因此是一种非常强大和实用的机器学习算法;当数据规模很大时,传统的单机支持向量机(svm)的计算效率和性能会受到限制,因为它需要在单个机器上处理所有的数据和模型参数。这会导致模型训练时间以及模型的性能受到很大影响。

2、非平衡数据集是指数据集中不同类别的样本数量相差很大,例如,在信用卡欺诈检测中,正常交易的样本数量远远多于欺诈交易的样本数量。这种数据分布会导致机器学习模型在训练和预测时出现偏差,忽略或错误分类少数类的样本。为了解决这个问题,常用的方法有随机降采样、随机过采样和smote算法,但是这些方法都有各自的缺点。

3、随机降采样是指从多数类的样本中随机抽取一部分样本,使其与少数类的样本数量相同,从而达到数据平衡的目的。这种方法的优点是可以减少数据的规模,提高模型的训练速度,但是它的缺点是会丢弃一些有用的信息,可能导致模型的泛化能力下降,无法有效地区分不同的多数类样本。

4、随机过采样是指从少数类的样本中随机复制一部分样本,使其与多数类的样本数量相同,从而达到数据平衡的目的。这种方法的优点是可以保留所有的多数类样本,增加少数类样本的权重,但是它的缺点是会增加数据的规模,降低模型的训练速度,而且会造成数据的冗余,可能导致模型的过拟合,无法有效地区分不同的少数类样本。

5、smote算法是指通过对少数类样本进行插值,生成一些新的样本,使其与多数类的样本数量相同,从而达到数据平衡的目的。这种方法的优点是可以避免数据的冗余,增加数据的多样性,但是它的缺点是会增加数据的规模,降低模型的训练速度,而且会造成数据的噪声,可能导致模型的欠拟合,无法有效地区分真实的少数类样本和人工生成的少数类样本。

6、这类技术主要限制在于,数据集部分信息丢失、冗余或产生噪声,最终对模型的性能产生一定影响,因此,需要设计一种基于svm的非平衡大规模数据集的训练方法来解决上述问题。


技术实现思路

1、本专利技术所要解决的技术问题是提供一种基于svm的非平衡大规模数据集的训练方法,解决了大规模非平衡二分类数据集训练速度慢、模型性能低的问题,具有可以在同规模数据量情况下大幅度提模型升训练效率,并少量提升模型性能的特点。

2、为解决上述技术问题,本专利技术所采用的技术方案是:

3、一种基于svm的非平衡大规模数据集的训练方法,包括以下步骤:

4、s1,对所需训练的数据进行清洗和冗余数据剔除,将数据统一整合为固定格式并归一化处理;

5、s2,将步骤s1中的数据进行正负样本比例对比,并输出多个平衡数据集;

6、s3,构建基于随机梯度下降优化的svm模型并构建flink集群;

7、s4,将步骤s2中得到的平衡数据集分别读入到步骤s3的flink集群的各个节点中进行分布式并行训练,集群中每个节点将数据输入到基于随机梯度下降的svm算法中,进行训练并最终收敛;

8、s5,将步骤s5中各个节点最终收敛的模型合并为一个模型并测试。

9、优选地,步骤s1中对所需训练的数据进行清洗、冗余数据剔除、将数据统一整合为固定格式并归一化处理包括:

10、s101,读取文本数据,删除掉不规范数据,如数据所涉及的属性不全;

11、s102,将数据进行归一化处理,消除不同量纲对数据的影响:

12、

13、式中,为xij归一化之后的数xij值,xij是第i列第j维特征,xi是第i列特征,min(xi)是第i列的所有维度中的数值的最小值,max(xi)是第i列所有维度中的数值最大值。

14、优选地,步骤s2中进行正负样本比例对比,并输出若干个平衡数据集包括:

15、s201,将正负样本分别取出,形成多数类样本集与少数类样本集,并计算正负样本数量比;

16、s202,对多数类样本集进行多次降采样采集数据,并分别将少数样本集与降采样得到的样本集组合形成多个平衡数据集;每次降采样都是对多数样本集进行多次随机无放回的采样方式,采样次数为少数样本集数量。

17、优选地,步骤s3中构建基于随机梯度下降优化的svm模型并构建flink集群包括:

18、s301,svm即支持向量机是一种二分类模型,它的基本思想是在特征空间中寻找一个最大间隔超平面,将不同类别的样本分开;svm即支持向量机的目标函数为:

19、

20、s.t.yi(wtxi+b)≥1-ξi,ξi≥0,i=1,2,3,…,n;

21、其中,w和b是超平面的参数,c是惩罚项,ξi是松弛变量,yi和xi是第i个样本的标签和特征;

22、s302,使用随机梯度下降法求解支持向量机等同于使用随机梯度下降法求解最大间隔的支持向量机,方法为:

23、先去掉约束条件,得到一个无约束的目标函数:

24、

25、式中,max(0,1-yi(wtxi+b))是非光滑的函数,称为hinge-loss,如果样本被正确分类且函数间隔大于等于1那么损失为0;否则,损失为1减去函数间隔的绝对值;

26、s303,对hinge-loss求导来计算梯度:

27、

28、s304,对整个函数目标求导:

29、

30、s305,由于目标函数是所有样本累加,所以梯度也是所有样本的累加。这意味着每次更新参数时,我们需要遍历所有的样本,这样的代价较高,因此为了降低计算代价,我们采用随机梯度下降的方法,每次随机选择一个样本,根据它的梯度来更新参数,得到如下的更新公式:

31、

32、其中,α是学习率,可以是固定或随迭代次数变化。

33、优选地,步骤s4包括:

34、s401,将步骤s2中产生的若干个平衡数据集以flink的dataset批训练的形式分别输入到集群中的各个节点中进行模型训练;

35、s402,各节点将同时训练各自所收到的平衡数据集,在训练过程中使用随机梯度下降求解支持向量机模型,最终完成收敛。

36、优选地,步骤s5中将收敛的模型合并为一个模型并测试包括:

37本文档来自技高网...

【技术保护点】

1.一种基于SVM的非平衡大规模数据集的训练方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于SVM的非平衡大规模数据集的训练方法,其特征在于,步骤S1中对所需训练的数据进行清洗、冗余数据剔除、将数据统一整合为固定格式并归一化处理包括:

3.根据权利要求1所述的一种基于SVM的非平衡大规模数据集的训练方法,其特征在于,步骤S2中进行正负样本比例对比,并输出若干个平衡数据集包括:

4.根据权利要求1所述的一种基于SVM的非平衡大规模数据集的训练方法,其特征在于,步骤S3中构建基于随机梯度下降优化的SVM模型并构建Flink集群包括:

5.根据权利要求1所述的一种基于SVM的非平衡大规模数据集的训练方法,其特征在于,步骤S4包括:

6.根据权利要求1所述的一种基于SVM的非平衡大规模数据集的训练方法,其特征在于,步骤S5中将收敛的模型合并为一个模型并测试包括:

【技术特征摘要】

1.一种基于svm的非平衡大规模数据集的训练方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于svm的非平衡大规模数据集的训练方法,其特征在于,步骤s1中对所需训练的数据进行清洗、冗余数据剔除、将数据统一整合为固定格式并归一化处理包括:

3.根据权利要求1所述的一种基于svm的非平衡大规模数据集的训练方法,其特征在于,步骤s2中进行正负样本比例对比,并输出若干个平衡数据集包括:<...

【专利技术属性】
技术研发人员:蒋廷耀安超广涂光权李昭
申请(专利权)人:三峡大学
类型:发明
国别省市:

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

1