首页 > 编程知识 正文

倒方差法,meta分析,常用算法

时间:2023-05-03 20:33:59 阅读:9474 作者:4203

本发明涉及非均衡数据二分类技术领域,特别涉及基于EasyEnsemble算法和SMOTE算法的非均衡数据二分类方法。

背景技术:

数据不平衡意味着一个样本数据集合中,一个类中的样本数目远远少于另一个类中的样本数目。 实际上,经常出现这样的数据集,包括欺诈检查、故障诊断、罕见疾病的医学诊断、流失预测等。 目前许多算法模型都是在数据均衡的前提下提出的,应用于非均衡数据处理后,算法模型的性能将大大降低。 如果数据极端不均衡,甚至可能会失效。 也就是说,正确率几乎为零。

技术实现要素:

技术创新分析:

EasyEnsemble算法是一种有效的非均衡数据分类方法。 将大量类样本随机分为多个子集,每个子集分别与少数类集成,得到多个新的训练子集,对每个训练子集训练一个AdaBoost基分类器,最后将所有基分类器集成得到最终分类器EasyEnsemble算法有效解决了数据不均衡问题,减少了欠采样导致的样本信息丢失。 但是,EasyEnsemble算法没有考虑到少数类样本极度缺乏,少数类样本数量远远少于正确训练分类器所需的样本数量,使得基础学习器的分类性能较差,最终分类器性能也较差。 另外,噪声是影响分类器性能的另一个重要因素,EasyEnsemble算法中没有考虑。

SMOTE算法是一种过采样方法。 与简单地复制样本相比,该算法通过在样本点附近构建新的样本点来增加样本类信息,从而有效地防止过拟合问题。 但是算法本身的局限性,可能扩大噪声的影响范围,加剧分类边界的模糊化。

本发明基于EasyEnsemble算法,通过SMOTE算法构建少数类样本,解决了少数类样本严重缺失的问题,考虑噪声和新样本点的有效性问题,对数据进行降噪处理,实现了数据的

为了实现上述目的,本发明采取了以下技术手段。

本发明提供的基于EasyEnsemble算法和SMOTE算法的非均衡数据分类方法包括以下步骤:

S1 )利用SMOTE算法将少数类数据构建到多个少数类子集中;

S2 )对多种类型的数据进行随机欠采样,得到多种类型的子集,将各多种类型的子集与各少种类型的子集合并,得到多个训练子集;

S3 )训练每个训练子集进行降噪处理,并生成多个AdaBoost分类器;

S4 )合并所有AdaBoost分类器,得到所述非均衡数据的最终分类器。

进而,所述S1还原步骤:

S101 )根据式(1)将不均衡数据标准化;

这里,x'I,j表示样本Xi标准化后第j个属性的值,Xi,j表示样本Xi标准化前的第j个属性的值,min(XJ )表示所有样本点的第j个属性的最小值,min(XJ )不表示

S102 )将标准化数据分为多个类和少数类,将所述多个类标记为1,将所述少数类标记为-1;

S103 )使用SMOTE算法生成t个少数类子集,且使用表达式(2)确定t;

其中S1表示多个类别的样本数,S-1表示少数类别的样本数,n表示目标多数类别的样本数与少数类别的样本数之比,m表示SMOTE算法的采样倍率。

进而,上述S2,

对多个类的数据进行t次等量随机采样,将多个类的子集和少数类的子集逐一集成,得到各个训练子集中多个类和少数类比例相同的t个训练子集。

进而,上述S3,

如果给定采样点的p不小于p0,则删除该采样点; p0是判断采样点是否为噪声的概率阈值,p是采样点为噪声的概率,根据式(3)计算p。

其中k为该样本点根据传统ajdyl距离计算出的最近邻样本点的数目,且n为该k个最近邻样本点与该样本点标签不同的数目。

进而,上述S3,

在t个降噪后训练的子集中训练t个AdaBoost分类器Hi,I表示第I个AdaBoost分类器,I=1,2,t; 根据式(4),计算Hi对样品x的分类结果。

其中,Hi(x )是分类器Hi相对于样本x的分类结果,sgn ) )是编码函数,Hi、j是Hi的第j个弱分类器,Si是Hi中的弱分类器的总个数,i、j是Hi、j的权重系数,i是Hi的分类阈值。

进而,上述S4,

根据式(5)计算样品x最终分类结果h(x ) :

其中,sgn (是符号函数,hi,j是hi的第j个弱分类器,Si是hi中的弱分类器的总个数,i,j是hi,j的权重系数,i是hi的分类阈值。

从本发明提供的上述技术方案可以明显看出,本发明基于EasyEnsemble算法,通过SMOTE构建少数类样本,解决了少数类样本严重缺失的问题,考虑了噪声和新样本点的有效性问题

部分地在以下描述中给出本发明的另外的方面和优点,部分地根据以下描述将变得显而易见,或者通过本发明的实践可以被理解。

图纸说明

以下,对在实施方式说明中使用的附图进行简单说明,但以下的说明中的附图只是本发明的实施方式的一部分,不需要付出创造性的劳力,对于本领域技术人员来说,从这些附图中可以看出其他

图1是本

发明实施例提供的基于EasyEnsemble算法和SMOTE算法的分类结果集成流程图;

图2为本发明实施例提供的基于EasyEnsemble算法和SMOTE算法的极度不均衡数据分类方法的算法流程图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

本发明提供的基于EasyEnsemble算法和SMOTE算法的极度不均衡数据分类方法,图1为该方法流程图,图2为该方法的算法流程示意图,如图1、图2所示:

S101:采用SMOTE算法将少数类数据构造出多个少数类子集,增加少数类样本;

在少数类样本欠缺时,构造新的少数类样本是非常必要的,考虑简单复制样本无法增加类信息,且容易造成过拟合现象,通过SMOTE方法构造少数类样本,得到少数类Sm,1,Sm,2,…,Sm,T,具体包括以下步骤:

1)根据如下公式(1)对数据进行标准化:

其中,x′i,j表示样本Xi标准化后第j个属性的值,xi,j表示样本Xi标准化前第j个属性的值,min(xj)表示所有样本点中第j个属性的最小值,max(xj)表示所有样本点中第j个属性的最大值。

2)根据标签值将标准化后的数据分为多数类和少数类,其中多数类标签为1,少数类标签为-1。

3)依据如下公式(2)确定少数类子集个数T:

其中,S1表示多数类样本数,S-1表示少数类样本数,N表示目标多数类样本数与少数类样本数比值,M表示SMOTE算法的采样倍率。

4)for n=1,2,…,T,执行<1>,<2>:

<1>将原少数类样本复制到少数类子集Sm,n中;

<2>对原少数类中的每个样本X,执行如下步骤:

步骤1:计算X到其他所有原少数类样本的ajdyl距离,计算公式如下(6)所示:

其中,dij表示样本Xi和Xj之间的ajdyl距离,k为样本的第k个特征,m为样本的特征总数,xik为Xi的第k个特征的值,xjk为Xj的第k个特征的值。

步骤2:获取X的K个ajdyl距离最小的样本点,当M≠0执行如下步骤:

步骤2.1:从K个最近邻样本中随机选取一个按照如下公式(7)计算新的样本点Xnew:M表示根据X生成的少数类样本数,即SMOTE的采样倍率,表示这K个最近邻样本中的一个;

其中,rand(0,1)为到1之间的随机数。

步骤2.2:将Xnew添加到少数类子集Sm,n中,更新M为M-1,返回步骤2。

S102:对多数类进行随机欠采样,得到多个多数类子集,合并各多数类子集和少数类子集,获得多个样本比例一定的训练子集,每个所述训练子集里多数类与少数类的比例相同。

根据如下式(8)计算每个多数类子集的样本数|SM|,对多数类样本进行等量随机采样,得到多数类子集SM,1,SM,2,…,SM,T,将SM,i和Sm,i合并,其中i=1,2,...T。

|SM|=N*|Sm| (8)

其中N为目标多数类与少数类样本数比值,|Sm|为新少数类子集样本数。

S103:对每个训练子集进行降噪处理。

对每个训练子集分别采用改进的ENN进行降噪,具体过程如下:

1)计算训练子集中每个样本点为噪声的概率p,某样本点的p计算步骤如下:

步骤1:计算该样本点到其他样本点的ajdyl距离,选取其中k个ajdyl距离最小的近邻;

步骤2:统计这k个近邻中标签值与该样本点不一样的个数n;

步骤3:依据如下公式(3)计算p:

2)根据噪声阈值p0判断样本点是否为噪声,若样本点的p不小于p0,则删除样本点,否则保留。

3)返回降噪后的训练子集。

S104:分别用降噪后的训练子集训练一个AdaBoost分类器。

用T个降噪后的训练子集训练T个AdaBoost分类器Hi,i表示第i个AdaBoost分类器,i=1,2...,T;训练Hi的具体过程如下:

1)初始化D1=(w1,1,w1,2,...,w1,S),其中

2)for j=1,2,3,…,J执行3),4),5)

3)训练弱分类器hi,j,使得最小

4)计算hi,j的权重

更新Dj+1=(wj+1,1,wj+1,2,...,wj+1,s),其中wj+1,t计算如下公式(9),(10):

5)根据如下公式(4)得到Hi对样本x的分类结果:

其中,hi,j为Hi的第j个弱分类器,ei,j为hi,j的错误率,S为样本总数,xt为第t个样本,wj,t为xt的权重,hi,j(xt)为hi,j对xt的预测标签,yt为xt的真实标签,I()为条件函数(当满足括号中条件时,等于1,否则等于0),αi,j为hi,j的权重系数,Dj+1为第j+1轮迭代时的训练样本权重向量,Zj为规范因子,Hi(x)为分类器Hi对样本x的最终分类结果,sgn()为符号函数,Si为Hi中的弱分类器总个数,θi为Hi的分类阈值。

105:集成所有AdaBoost分类器,得到不平衡数据最终的分类器。

在获得T个AdaBoost分类器后,集成所有分类器,依据如下公式

(5)计算样本x最终分类结果H(x):

其中sgn()为符号函数,hi,j为Hi的第j个弱分类器,Si为Hi中的弱分类器总个数,αi,j为hi,j的权重系数,θi为Hi的分类阈值。

综上所述,本发明实施例通过SMOTE解决少数类样本欠缺问题,并结合随机欠采样改变样本不均衡状态。同时利用降噪技术,提高新数据集的可靠性,平滑分类边界,并利用集成方法减少多数类信息损失,提高分类器性能。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。