CN109447118A - 一种基于Adaboost和欠采样的不平衡学习方法 - Google Patents
一种基于Adaboost和欠采样的不平衡学习方法 Download PDFInfo
- Publication number
- CN109447118A CN109447118A CN201811125231.XA CN201811125231A CN109447118A CN 109447118 A CN109447118 A CN 109447118A CN 201811125231 A CN201811125231 A CN 201811125231A CN 109447118 A CN109447118 A CN 109447118A
- Authority
- CN
- China
- Prior art keywords
- cluster
- adaboost
- value
- sample
- classes
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于Adaboost和欠采样的不平衡学习方法,通过改进Adaboost算法捕捉数据分布动态变化,并基于Adaboost的集成学习为同一训练集训练不同的弱分类器,然后组装这些弱分类器以形成强大的最终分类器,采样还原度高的不平衡学习方法,来缓解不平衡带来的分类问题。有效提高了少数类的分类精度,具有实际社会、经济、技术价值。
Description
技术领域
本发明涉及不平衡数据的机器学习技术领域,特别涉及一种基于Adaboost和欠采样的不平衡学习方法。
背景技术
不平衡的分类的机器学习被应用到越来越广泛的现实领域,在不平衡数据的分类问题中,一类中的数据规模远远超过另一类,即多数类和少数类。例如:异常检测、故障诊断、电子邮件归档、人脸识别、欺诈检测等实际应用中,异常数据、故障数据、诈骗数据等远少于其他类样本的一类数据就属于少数类,对人们有价值的数据通常是少数类,这些少数类的错分代价往往非常大,有效提高少数类的分类精度具有实际社会、经济、技术价值。当前大多数机器学习方法都是为处理平衡数据集而设计的。以准确率为导向的学习过程将缺乏对少数类的关注。因此,模型很容易将少数人预测为错误的类别。
目前,人们也提出许多方法来解决不平衡分类问题。Galar等人系统地将现有工作分为四类:数据级方法,成本敏感型方法,算法级方法和集成学习方法。数据级方法通过基于特征空间中最近邻居的过采样或欠采样将不平衡数据转换为平衡数据;成本敏感学习调整传统方法的初始权重,以更多地关注少数人;算法级方法直接修改现有的学习算法,以减轻对多数对象的偏见;最后,集合方法将采样或其他技术与传统的集合方法(如bagging或boosting)相结合,这种方法对于困难的数据具有高度竞争性和鲁棒性。
综上,不平衡数据集的传统机器学习方法的难点在于:少数类相比多数类的绝对数量劣势,使它不能完整学习少数类的分布。如果数据集中存在子集群,则聚类是学习此类特征的典型可行方法。
发明内容
本发明的目的在于提供一种基于Adaboost和欠采样的不平衡学习方法,改进Adaboost算法捕捉数据分布动态变化,并且采样还原度高的不平衡学习方法。
为实现上述目的,本发明提供技术方案如下:
一种基于Adaboost和欠采样的不平衡学习方法,包括如下步骤:
S1.获取二分类问题的原始数据;
S2.对原始数据按策略给多数类和少数类样本分配权重Wi:
Smaj表示多数类,Smin表示少数类,R的取值为大于2的自然数。
S3.并将步骤S2得到数据输入Adaboost第一个分类器进行学习;所述的分类器采取为CART决策树;
S4.对步骤S3中的学习结果,根据多数类样本的权重,对多数类进行聚类并欠采样,将欠采样到的多数类和少数类一起输入到下一个分类器进行学习:
S4.1.对多数类进行聚类:
S4.1.1.初始化簇的集合C={C1},C1为所有多数类样本;设置集合C的最大可包含的簇的数目为M;
S4.1.2.首先判断集合C的大小是否小于M:
a.如果集合C的大小小于M,按照权重大小将集合C中的簇进行排序,然后按照权重大小值遍历每一个簇,找到一个权重值使得scv最小,如果scv<cv,将簇c分割成两个新的子簇,加入集合C:其中
b.如果集合C的大小不小于M,找到cv值最大和第二大的两个簇,然后合并;将合并的簇执行上述步骤a的操作;
S4.2.对多数类进行聚类采样:
S4.2.1.计算集合C中每个簇的wc值:
wc值用来衡量簇的重要性,即越大的wc值表明这个簇的内的样本更能够代表整个样本空间的分布。
S4.2.2.计算所有簇的wc值加和WC,以及每个簇应该被采样的样本数目
所有簇的wc值加和得到WC;每个簇的wc值除以WC,得到采样比例,然后乘以少数类样本总数,从而得到每个簇应该被采样的样本数目
S4.2.3.根据采样数目,对每个簇内的样本按照权重大小进行降序排序,然后获取每个簇中位于之前的样本,和少数类样本组合在一起输入下一个分类器进行学习;
S5.迭代执行步骤S4,直到学习效果收敛,得到一个Adaboost分类器;
S6.重复执行步骤S2-S5,然后将得到的R-2个Adaboost分类器进行bagging投票得到最终的分类器,投票策略为:
R是S2.中权重初始化分配的参数,aucr表示根据公式1权重初始化分配为r的Adaboost学习得到的auc值,越大表示学习效果越好,probr表示样本被预测的概率。
进一步地,步骤S1.中所述的“二分类问题的原始数据”可以为任一二分类问题中的多数类和少数类数据;
进一步地,所述的R设置为大于等于5,以及小于等于20中的任一自然数。
与现有技术相比,本发明的有益效果在于:通过基于Adaboost的集成学习为同一训练集训练不同的弱分类器,然后组装这些弱分类器以形成强大的最终分类器,来缓解不平衡带来的分类问题。
附图说明:
图1是本发明一个具体实施例的流程图;
图2是本发明一个具体实施例的处理示意图。
具体实施方式:
为更好地公开本发明,结合具体实施例对本发明技术方案做进一步详细说明如下:
如图1和图2所示为本发明方法的算法流程示意图:本发明提供一种基于Adaboost和欠采样的不平衡学习方法,实现在Adaboost算法中捕捉到数据分布动态变化,并且采样还原度高的不平衡学习方法,包括如下步骤:
S1.获取原始数据;(原始数据可以为任一二分类问题存在两个标签的数据,分别为多数类和少数类)
S2.对原始数据按策略给多数类和少数类样本分配权重,权重分配的策略为:
Smaj表示多数类,Smin表示少数类,R的取值决定算法会建立R-2个Adaboost分类器。R设置为5左右基本上可以达到一个不错的效果,达到20时,接近最好的表现。
S3.将步骤S2得到数据输入Adaboost第一个分类器进行学习。分类器采取CART决策树。
CART分类树算法使用基尼系数来衡量信息的纯度,基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。具体的,在分类问题中,假设有K个类别,第k个类别的概率为pk,则基尼系数的表达式为:
特别的,对于样本D,如果根据特征A的某个值a,把D分成D1和D2两部分,则在特征A的条件下,D的基尼系数表达式为:
算法输入是训练集D,基尼系数的阈值,样本个数阈值。
从根节点开始,用训练集递归的建立CART树。
1)对于当前节点的数据集为D,如果样本个数小于阈值或者没有特征,则返回决策子树,当前节点停止递归。
2)计算样本集D的基尼系数,如果基尼系数小于阈值,则返回决策树子树,当前节点停止递归。
3)计算当前节点现有的各个特征的各个特征值对数据集D的基尼系数,对于离散值和连续值的处理方法和基尼系数的计算见第二节。缺失值的处理方法和上篇的C4.5算法里描述的相同。
4)在计算出来的各个特征的各个特征值对数据集D的基尼系数中,选择基尼系数最小的特征A和对应的特征值a。根据这个最优特征和最优特征值,把数据集划分成两部分D1和D2,同时建立当前节点的左右节点,做节点的数据集D为D1,右节点的数据集D为D2。
5)对左右的子节点递归的调用1-4步,生成决策树。
S4.对步骤S3中的学习结果,根据多数类样本的权重,对多数类进行聚类并欠采样,将欠采样到的多数类和少数类一起输入到下一个分类器进行学习:
S4.1.对多数类进行聚类:
S4.1.1.初始化簇的集合C={C1},C1为所有多数类样本;设置集合C的最大可包含的簇的数目为M;
S4.1.2.首先判断集合C的大小是否小于M:
a.如果集合C的大小小于M,按照权重大小将集合C中的簇进行排序,然后按照权重大小值遍历每一个簇,找到一个权重值使得scv(公式3)最小,如果scv<cv(公式2),将簇c分割成两个新的子簇,加入集合C;
b.如果集合C的大小不小于M,找到cv值最大和第二大的两个簇,然后合并。将合并的簇执行上述步骤a的操作。
S4.2.对多数类进行聚类采样:
S4.2.1.计算集合C中每个簇的wc值,如公式4计算:
wc值用来衡量簇的重要性,即越大的wc值表明这个簇的内的样本更能够代表整个样本空间的分布。
S4.2.2.根据公式5和公式6计算每个簇应该被采样的样本数目
公式5将所有簇的wc值加和得到WC,公式6是每个簇的wc值除以WC,得到采样比例,然后乘以少数类样本总数,从而得到每个簇应该被采样的样本数目
S4.2.3.根据采样数目,对每个簇内的样本按照权重大小进行排序(降序),然后获取每个簇中位于之前的样本,和少数类样本组合在一起输入下一个分类器进行学习。
S5.迭代执行步骤S4,直到学习效果收敛,得到一个Adaboost分类器;
S6.重复执行步骤S2-S5,然后将得到的R-2个Adaboost分类器进行bagging投票得到最终的分类器,投票策略为公式(7)。
R是公式1中权重初始化分配的重要参数,见公式1。aucr表示根据公式1权重初始化分配为r的Adaboost学习得到的auc值,越大表示学习效果越好,probr表示样本被预测的概率。
具体实施例:
下面结合一个仿真实验对本发明所提供的技术方案做进一步公开说明:
本实验数据数据来源位UCI和KEEL 25组公开不平衡数据集。表1展示了数据的基本信息,表列Datasets为数据名称,Features为该数据特征数目,Examples为数据样本量,IR代表不平衡率,即多数类样本数目比少数类样本数。
表1实验数据
实验采取对照法,和8个已有的算法对比在AUC,G-means和F-measure三个指标上的表现。8个对照算法和本发明算法说明:
a.SMOB2-BG:利用Borderline2SMOTE算法从少数类过采样来生成不同的100个数据集和多数类组成平衡数据,然后利用sklearn的bagging算法进行学习,SMOTE的参数邻居数量设置为4,以下所有用到SMOTE的算法和此保持一致。
b.ASY-BG:利用ADASYN算法从少数类过采样来生成不同的100个数据集和多数类组成平衡数据,然后利用sklearn的bagging算法进行学习;
c.RUS-BG:利用随机算法从少数类过采样来生成不同的100个数据集和多数类组成平衡数据,然后利用sklearn的bagging算法进行学习;
b.SMO-BT:利用SMOTE算法从少数类过采样来生成不同的100个数据集和多数类组成平衡数据,然后利用sklearn的AdaBoost.M1算法进行学习;
d.RUS-BT:利用随机算法从少数类过采样来生成不同的100个数据集和多数类组成平衡数据,然后利用sklearn的AdaBoost.M1算法进行学习;
e.EE:EasyEnsemble算法,子簇数目设置为50,算法迭代次数为50;
f.BC:BalanceCascade算法,最大子簇数目设置为50;
g.EHCU:EHCU算法,聚类层数设置为5;
h.本发明的算法DYCUSBoost.算法的部分参数设置和RUS-BT一样,另外,参数R设置为5,Boosting的迭代次数设置为100,Bagging的迭代次数设置为5,簇集合的大小M设置为不平衡率IR,如果IR<3,M设置为3.
下面以其中的数据集pima为例说明实验具体过程,根据8个特征,预测样本是否为pima品种的棉花,
S1.获取原始数据。
S2.对原始数据按策略给多数类和少数类样本分配权重,权重分配的策略为:
Smaj表示多数类,Smin表示少数类,R的大小决定算法会建立R-2个Adaboost分类器。取i=2,R=5,少数类样本的权重被初始化为2/5/267=0.0015,多数类样本的权重被初始化为(1-2/5)/501=0.0012,一次初始化权重即完成。
S3.将步骤S2得到的初始化权重pima数据输入Adaboost第一个分类器进行学习,分类器为CART决策树。实验中,决策树在每次一进行生成新叶子节点的时候,会计算8个特征分别可带来的基尼指数增益,选择8个中最大增益的特征将样本集分裂到左右两个叶子节点,直到增益小于我们设置的最小可分裂增益,停止树的生长。
S4.对步骤S3中的学习结果,根据pima多数类样本的权重,对其中501个多数类样本按照具体实施方案“S4.1对多数类进行聚类”进行聚类,并按照具体实施方案“S4.2.对多数类进行聚类采样”进行欠采样,将欠采样到的267个多数类样本和267个少数类样本组成平衡数据集,一起输入到下一个分类器进行学习。
S5.迭代执行步骤S4,直到学习效果收敛,得到一个Adaboost分类器。
S6.重复执行步骤S2-S5,然后将得到的R-2个Adaboost分类器进行bagging投票得到最终的分类器,投票策略为前述具体实施方案中的公式(7)。
实验结果如下:
表2各算法AUC指标的得分
表3各算法G-means指标的得分
实验分析:如表2和表3所示,粗体的字体表示在该数据集上表现最好的算法,可以观察到在AUC指标上,本发明提出的算法在20个数据集上取得的最好的成绩,在G-means指标上,本发明提出的算法在23个数据集上取得了最好的成绩,可说明本发明提出的方法的有效性。
Claims (3)
1.一种基于Adaboost和欠采样的不平衡学习方法,其特征在于包括如下步骤:
S1.获取二分类问题的原始数据;
S2.对原始数据按策略给多数类和少数类样本分配权重Wi:
Smaj表示多数类,Smin表示少数类,R的取值为大于2的自然数。
S3.并将步骤S2得到数据输入Adaboost第一个分类器进行学习;所述的分类器采取为CART决策树;
S4.对步骤S3中的学习结果,根据多数类样本的权重,对多数类进行聚类并欠采样,将欠采样到的多数类和少数类一起输入到下一个分类器进行学习:
S4.1.对多数类进行聚类:
S4.1.1.初始化簇的集合C={C1},C1为所有多数类样本;设置集合C的最大可包含的簇的数目为M;
S4.1.2.首先判断集合C的大小是否小于M:
a.如果集合C的大小小于M,按照权重大小将集合C中的簇进行排序,然后按照权重大小值遍历每一个簇,找到一个权重值使得scv最小,如果scv<cv,将簇c分割成两个新的子簇,加入集合C:其中
b.如果集合C的大小不小于M,找到cv值最大和第二大的两个簇,然后合并;将合并的簇执行上述步骤a的操作;
S4.2.对多数类进行聚类采样:
S4.2.1.计算集合C中每个簇的wc值:
wc值用来衡量簇的重要性,即越大的wc值表明这个簇的内的样本更能够代表整个样本空间的分布。
S4.2.2.计算所有簇的wc值加和WC,以及每个簇应该被采样的样本数目
所有簇的wc值加和得到WC;每个簇的wc值除以WC,得到采样比例,然后乘以少数类样本总数,从而得到每个簇应该被采样的样本数目
S4.2.3.根据采样数目,对每个簇内的样本按照权重大小进行降序排序,然后获取每个簇中位于之前的样本,和少数类样本组合在一起输入下一个分类器进行学习;
S5.迭代执行步骤S4,直到学习效果收敛,得到一个Adaboost分类器;
S6.重复执行步骤S2-S5,然后将得到的R-2个Adaboost分类器进行bagging投票得到最终的分类器,投票策略为:
R是S2.中权重初始化分配的参数,aucr表示根据公式1权重初始化分配为r的Adaboost学习得到的auc值,越大表示学习效果越好,probr表示样本被预测的概率。
2.根据权利要求1所述的基于Adaboost和欠采样的不平衡学习方法,其特征在于:步骤S1.中所述的“二分类问题的原始数据”可以为任一二分类问题中的多数类和少数类数据。
3.根据权利要求1所述的基于Adaboost和欠采样的不平衡学习方法,其特征在于:所述的R设置为大于等于5,以及小于等于20中的任一自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811125231.XA CN109447118A (zh) | 2018-09-26 | 2018-09-26 | 一种基于Adaboost和欠采样的不平衡学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811125231.XA CN109447118A (zh) | 2018-09-26 | 2018-09-26 | 一种基于Adaboost和欠采样的不平衡学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109447118A true CN109447118A (zh) | 2019-03-08 |
Family
ID=65544536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811125231.XA Pending CN109447118A (zh) | 2018-09-26 | 2018-09-26 | 一种基于Adaboost和欠采样的不平衡学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109447118A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343165A (zh) * | 2020-02-16 | 2020-06-26 | 重庆邮电大学 | 基于birch和smote的网络入侵检测方法及系统 |
CN112215436A (zh) * | 2020-11-03 | 2021-01-12 | 陕西科技大学 | 一种基于机器学习的学业异常预测方法 |
CN112329820A (zh) * | 2020-10-21 | 2021-02-05 | 北京邮电大学 | 联邦学习下不均衡数据的采样方法与装置 |
CN113361591A (zh) * | 2021-06-03 | 2021-09-07 | 重庆南鹏人工智能科技研究院有限公司 | 一种基于类别组合和样本采样的类别不平衡处理方法 |
-
2018
- 2018-09-26 CN CN201811125231.XA patent/CN109447118A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343165A (zh) * | 2020-02-16 | 2020-06-26 | 重庆邮电大学 | 基于birch和smote的网络入侵检测方法及系统 |
CN112329820A (zh) * | 2020-10-21 | 2021-02-05 | 北京邮电大学 | 联邦学习下不均衡数据的采样方法与装置 |
CN112329820B (zh) * | 2020-10-21 | 2022-12-27 | 北京邮电大学 | 联邦学习下不均衡数据的采样方法与装置 |
CN112215436A (zh) * | 2020-11-03 | 2021-01-12 | 陕西科技大学 | 一种基于机器学习的学业异常预测方法 |
CN112215436B (zh) * | 2020-11-03 | 2024-04-05 | 广州铭诚计算机科技有限公司 | 一种基于机器学习的学业异常预测方法 |
CN113361591A (zh) * | 2021-06-03 | 2021-09-07 | 重庆南鹏人工智能科技研究院有限公司 | 一种基于类别组合和样本采样的类别不平衡处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109447118A (zh) | 一种基于Adaboost和欠采样的不平衡学习方法 | |
CN111000553B (zh) | 一种基于投票集成学习的心电数据智能分类方法 | |
CN104462184B (zh) | 一种基于双向抽样组合的大规模数据异常识别方法 | |
CN110674846A (zh) | 基于遗传算法和k-means聚类的不平衡数据集过采样方法 | |
CN107545275A (zh) | 重采样与代价敏感学习融合的不平衡数据集成分类方法 | |
CN108319968A (zh) | 一种基于模型融合的果蔬图像分类识别方法及系统 | |
CN108764366A (zh) | 针对非均衡数据的特征选择和聚类抽样集成二分类方法 | |
CN109145948A (zh) | 一种基于集成学习的注塑机堵料异常检测方法 | |
CN104616029B (zh) | 数据分类方法及装置 | |
CN104834941A (zh) | 基于计算机输入下的稀疏自编码的脱机手写体识别方法 | |
CN107832412B (zh) | 一种基于文献引用关系的刊物聚类方法 | |
CN108280236A (zh) | 一种基于LargeVis的随机森林可视化数据分析方法 | |
CN107918761A (zh) | 一种基于多流形核鉴别分析的单样本人脸识别方法 | |
Nayini et al. | A novel threshold-based clustering method to solve K-means weaknesses | |
Wang et al. | An improving majority weighted minority oversampling technique for imbalanced classification problem | |
CN106529544A (zh) | 一种基于无监督机器学习的织物平整度客评定方法及装置 | |
Diouf et al. | Convolutional neural network and decision support in medical imaging: case study of the recognition of blood cell subtypes | |
CN105005783B (zh) | 从高维非对称数据中提取分类信息的方法 | |
CN110619311A (zh) | 一种基于eemd-ica-svm的数据分类方法 | |
Rani | Visual analytics for comparing the impact of outliers in k-means and k-medoids algorithm | |
Poole et al. | Investigating popular CNN architectures for plant disease detection | |
CN106570514A (zh) | 一种基于词袋模型和支持向量机的汽车轮毂分类方法 | |
CN112183569A (zh) | 基于fda与som的间歇工业过程反应阶段聚类以及故障分类可视化 | |
CN110599457A (zh) | 一种基于bd胶囊网络的柑橘黄龙病分类方法 | |
CN110503134A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |