一种应用于生物信息学中类别不平衡分类方法与流程

文档序号:14217641阅读:354来源:国知局

本发明涉及生物信息学技术领域,具体涉及一种应用于生物信息学中类别不平衡分类方法。



背景技术:

分类问题是机器学习领域研究的重要课题之一,目前主要的机器学习方法处理的数据大都是各类样本数目相差不悬殊,如果训练集中的正反例样本数目相差悬殊,则会使得分类器的性能下降,通常会出现把整个样本空间都划为大类的情况,因此类别不平衡学习正受到越来越广泛的关注;

类别不平衡问题存在于许多领域,如金融欺诈检测、石油勘探、反垃圾邮件等,普通机器学习的分类方法无法直接应用于这些领域,在生物信息学研究中,存在大量类别不平衡的分类问题,由于大多数问题中的正例来自于实验验证,而反例通常不需要实验验证,因此获取反例的成本低、正例的成本高,从而在训练集中通常出现反例远远多于正例的情况,比如:非编码rna基因挖掘,尤其是microrna挖掘,此外,在snp位点判别、microarray数据分析中也经常遇到这类问题。

在处理类别不平衡学习问题上,最早是使用随机采样的办法来更改训练集的样本,从而使训练集达到平衡,最简单的两种方法是随机过采样(oversampling)和随机降采样(under-sampling),前者通过复制一些小类别的样本使数据集达到平衡,后者则随机选取大类中的一个子集以达到同样的目的,研究表明随机过采样的方法通常会带来时间开销大、过拟合等问题,因此目前主要采取的都是降采样的办法,但是降采样方法只使用了大类的一个子集,并没有充分利用已有的信息,在经历随机采样方法之后,出现了许多人工采样的方法,smote发展了过采样的思想,虽然也是增加小样本的数量,但是其增加的手段是通过人工生成,而不是直接随机选择复制,从而避免了过拟合问题,但有可能会引入噪声,类似地,也有通过人工手段进行降采样,从而有选择性地去除大类样本,达到类别平衡。

除了采样策略外,还有一些其他的策略也被应用于处理类别不平衡数据,如集成学习中的boosting方法、代价敏感学习算法、单类学习方法(oneclasslearning)、级联的神经网络、聚类方法和支持向量机等,目前的boosting方法由于反复训练而加大时间开销,无法应用于大规模数据处理,而代价敏感学习方法和单类学习方法都被证明等价于采样方法,与其类似的还有在自然语言理解领域获得了良好效果的基于聚类和支持向量机的方法,级联的神经网络虽然在uci的部分数据集上取得了成功,但神经网络固有的随机性决定了其无法应用于更广泛的领域。

与其他应用领域不同,生物信息分类问题的属性通常全部是连续的,而且大部分是只有2类的判别问题,当分类属性连续的样本时,支持向量机(supportvectormachine,svm)效果通常好于决策树等分类方法,另外,通用软件libsvm具有使用简单、执行效率高等特点因此被广泛地应用于生物信息学的分类问题中,然而libsvm的参数调整主要依据准确率是否提高,因此libsvm在类别不平衡样本的分类中,通常会把所有的测试样本全部划分为反例,目前的相关研究一般是在测试样本的反例中随机降采样,以达到正反例平衡,这种做法丢失了大部分反例样本信息,从而降低了分类器的性能,针对以上问题,提出了一种新方法处理类别不平衡的分类问题。



技术实现要素:

针对以上问题,本发明提供了一种应用于生物信息学中类别不平衡分类方法,可以有效解决背景技术中的问题。

为了实现上述目的,本发明采用的技术方案如下:一种应用于生物信息学中类别不平衡分类方法,首先利用有效的聚类融合方法对数据集进行多次聚类,产生多个聚类结果,称为聚类成员,并将各个聚类成员的簇标记进行匹配,接着计算各样本的“聚类一致性系数”,根据样本“聚类一致性系数”的高低找出处于少数类边界区域的样本和处于多数类中心区域的样本,并分别对少数类边界区域和多数类中心区域的样本进行过抽样和欠抽样处理,最后,利用传统的分类学习方法对重抽样后的数据集进行分类学习,生成相应的分类模型;其算法如下:

定义训练集s={(x1,y1),(x2,y2),…,(xnum,ynum)},

num为训练集中样本的总个数,令x={x1,x2,…,xnum},样本xi∈xd,i=1,2,…,num是d维特征向量,类标记yi∈{p,n},其中,p对应少数类,n对应多数类;

输入训练集s,过抽样率n,欠抽样率m,最近邻个数k,聚类次数h,聚类一致性系数ci的阈值α;

输出分类模型h,其生成方法步骤如下:

step1:fort=1toh//并行执行多次聚类;

step1.1:在原特征空间中,随机选择第t次聚类的特征子空间ft;

step1.2:在数据集x中,随机选择k个初始簇中心;

step1.3:更新初始簇中心,在特征子空间ft下,利用k-means算法对数据集x进行聚类,产生聚类成员πt;

step2:匹配h个聚类成员的簇标记;

step3:分别计算少数类和多数类中各个样本的聚类一致性系数ci;

step4:将少数类中ci小于阈值α的样本加入少数类边界区域样本的集合p-boundary,将多数类中ci大于阈值α的样本加入多数类中心区域样本的集合n-safe,并将所有的少数类样本以及多数类中ci小于阈值α的样本加入数据集newdataset中;

step5:根据过抽样率n,利用smote方法对集合p-boundary中的样本进行过抽样处理,生成新的合成样本,并将新生成的样本加入数据集newdataset中;

step6:对集合n-safe的样本进行欠抽样处理,即根据欠抽样率m,随机删除集合n-safe中的样本,并将集合n-safe中剩余的样本加入数据集newdataset中;

step7:利用分类学习方法,对重抽样后的训练集newdataset进行学习,生成分类模型h。

优选的,聚类一致性系数ci是数据对象被分配到多数簇的次数与聚类次数h的比值,定义某一样本x的聚类一致性系数ci(x)如下:

ci(x)=1hmax∑hi=1{δ(πi(x),c)}c∈clusterlabels,

其中πi(x)表示样本x在聚类成员πi中的簇标记。

本发明的有益效果:

本发明提出一种基于聚类融合的类别不平衡数据分类方法,通过利用聚类融合技术对数据集进行多次聚类,并对各个聚类成员的簇标记进行匹配,接着通过引入“聚类一致性系数”的概念,计算各样本的“聚类一致性系数”,从而找出处于少数类边界区域和处于多数类中心区域的样本,引入聚类融合技术,能够有效发现少数类边界区域和多数类中心区域的样本,有针对性地进行过抽样和欠抽样处理,避免出现分类器过于拟合或丢失多数类中重要信息等现象。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

一种应用于生物信息学中类别不平衡分类方法,首先利用有效的聚类融合方法对数据集进行多次聚类,产生多个聚类结果,称为聚类成员,并将各个聚类成员的簇标记进行匹配,接着计算各样本的“聚类一致性系数”,根据样本“聚类一致性系数”的高低找出处于少数类边界区域的样本和处于多数类中心区域的样本,并分别对少数类边界区域和多数类中心区域的样本进行过抽样和欠抽样处理,最后,利用传统的分类学习方法对重抽样后的数据集进行分类学习,生成相应的分类模型;其算法如下:

定义训练集s={(x1,y1),(x2,y2),…,(xnum,ynum)},

num为训练集中样本的总个数,令x={x1,x2,…,xnum},样本xi∈xd,i=1,2,…,num是d维特征向量,类标记yi∈{p,n},其中,p对应少数类,n对应多数类;

输入训练集s,过抽样率n,欠抽样率m,最近邻个数k,聚类次数h,聚类一致性系数ci的阈值α;

输出分类模型h,其生成方法步骤如下:

step1:fort=1toh//并行执行多次聚类;

step1.1:在原特征空间中,随机选择第t次聚类的特征子空间ft;

step1.2:在数据集x中,随机选择k个初始簇中心;

step1.3:更新初始簇中心,在特征子空间ft下,利用k-means算法对数据集x进行聚类,产生聚类成员πt;

step2:匹配h个聚类成员的簇标记;

step3:分别计算少数类和多数类中各个样本的聚类一致性系数ci;聚类一致性系数ci是数据对象被分配到多数簇的次数与聚类次数h的比值,定义某一样本x的聚类一致性系数ci(x)如下:

ci(x)=1hmax∑hi=1{δ(πi(x),c)}c∈clusterlabels,

其中πi(x)表示样本x在聚类成员πi中的簇标记。

由上式可知,如果在多次聚类中,样本频繁地改变其所在的簇,则其聚类一致性系数较低,反之,如果样本被稳定地分配到相同的簇,则其聚类一致性系数较高.聚类一致性系数较低的样本一般位于簇的边界区域,而聚类一致性系数较高的样本一般位于簇的中心区域.本文分别计算各个样本的聚类一致性系数,将少数类中ci小于阈值α的样本加入少数类边界区域样本的集合p-boundary,将多数类中ci大于阈值α的样本加入多数类中心区域样本的集合n-safe,再分别针对处于簇边界区域的少数类样本和处于簇中心区域的多数类样本进行过抽样和欠抽样处理。

step4:将少数类中ci小于阈值α的样本加入少数类边界区域样本的集合p-boundary,将多数类中ci大于阈值α的样本加入多数类中心区域样本的集合n-safe,并将所有的少数类样本以及多数类中ci小于阈值α的样本加入数据集newdataset中;

step5:根据过抽样率n,利用smote方法对集合p-boundary中的样本进行过抽样处理,生成新的合成样本,并将新生成的样本加入数据集newdataset中;

step6:对集合n-safe的样本进行欠抽样处理,即根据欠抽样率m,随机删除集合n-safe中的样本,并将集合n-safe中剩余的样本加入数据集newdataset中;

step7:利用分类学习方法,对重抽样后的训练集newdataset进行学习,生成分类模型h。

smote方法:该方法对每个少数类样本,根据过抽样率,从它的k个(一般取5个)最近邻中随机选出若干个近邻,并对样本的属性空间进行操作,在该样本和其被选的近邻之间插入新的合成样本.smote方法是对所有的少数类样本进行过抽样处理,可使少数类具有更大的泛化空间,但也可能导致分类器过于拟合。

过抽样和欠抽样技术:利用smote方法,对集合p-boundary中的每个少数类样本,根据过抽样率,从它的k个少数类近邻中随机选择若干个近邻,并在该样本和其被选的近邻之间插入新的合成样本,smote方法是在属性空间进行操作,因此在计算该样本与其每个被选近邻所生成的合成样本的各个属性值时,若某属性为连续型属性,则计算该样本和其被选近邻的属性的差值dif,并将该差值dif乘以一个[0,1]区间的随机数,然后加上该样本的属性值即为新样本的属性值,如果为类别属性,则新样本的属性值为该样本和被选近邻属性值的多数投票.经过上述处理,可以加强分类器对少数类边界区域样本的学习。

本发明提出一种基于聚类融合的类别不平衡数据分类方法,通过利用聚类融合技术对数据集进行多次聚类,并对各个聚类成员的簇标记进行匹配,接着通过引入“聚类一致性系数”的概念,计算各样本的“聚类一致性系数”,从而找出处于少数类边界区域和处于多数类中心区域的样本,引入聚类融合技术,能够有效发现少数类边界区域和多数类中心区域的样本,有针对性地进行过抽样和欠抽样处理,避免出现分类器过于拟合或丢失多数类中重要信息等现象。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1