基于动态样本选择集成的生物信息识别方法转让专利

申请号 : CN201010013627.2

文献号 : CN101763466B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 缑水平焦李成杨辉朱虎明吴建设杨淑媛侯彪张佳

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种基于动态样本选择集成的生物信息识别方法,主要解决因数据不平衡带来的对小类样本正确识别率低的问题。处理此问题的实现过程是:(1)利用训练集划分的方法将训练集划分为一系列的平衡子数据集;(2)将得到的平衡子数据集分到各自的基分类器中作为初始训练集;(3)在各基分类器上利用动态样本选择的方法循环训练;(4)用每次训练得到的决策函数对测试集测试得到决策结果;(5)利用代价敏感思想对决策结果求权重;(6)对各次的决策结果加权集成得到最终的识别结果。本发明与现有的技术相比具有准确度高,计算复杂度低,可根据需要调节正确率与查全率之间大小关系的优点,用于识别生物信息和网络入侵、金融欺诈和反垃圾邮件的检测。

权利要求 :

1.一种基于动态样本选择集成的生物信息识别方法,包括如下过程:(1)找出一些带标记的生物信息数据作为训练集X;

(2)在找出的训练集中分出大类样本和小类样本,并分别计算大类样本和小类样本的个数lb和ls;

(3)采用训练集划分的方法取得K组平衡的数据集,每组平衡数据集包含ls*ρ个大类样本和ls*ρ个小类样本,其中K为要设定的基分类器的个数,ρ为小类样本的采样率;

(4)将得到的K组数据集随机分到K个基分类器中,作为基分类器上的初始训练集xtrn;

(5)在总的训练集中排除掉初始训练集xtrn,得到各基分类器上的初始验证集,记为xte;

(6)基分类器选用KMP,用动态样本选择的方法进行循环训练,将每次训练得到的决策函数在测试集上进行测试:

6a)对基分类器上的训练集xtrn进行训练,得到决策函数Ck,t,利用决策函数Ck,t对测试集测试,得到决策值:hk,t(x)∈{-1,+1},k=1,2,…,K其中,k为代表了第k个基分类器,t为在该基分类器上的训练轮数,x为测试集中的一个数据点;

6b)利用决策函数Ck,t对训练集X测试,并计算当前轮决策函数的错误率ek,t:ek,t=(kk*Nerr_s+Nerr_b)/(kk*ls+lb)其中,kk为调节总正确率与小类样本正确率之间大小关系的代价敏感因子,Nerr_b和Nerr_s分别为训练集X中大类样本和小类样本被分错的个数;

6c)根据当前轮决策函数的错误率ek,t,计算当前轮决策函数的权重αk,t:

6d)在验证集xte上验证Ck,t的效果,将验证集中分错的样本点按被错分的容易程度从大到小排序,该被错分的容易程度表示错分样本决策值求绝对值后的值;

6e)如果错分样本个数大于设定的阈值q,则从排列好的错分样本中选择前q个,将它们从验证集xte中取出放入训练集xtrn中;如果错分样本个数小于q,则将所有错分样本从xte取出放入xtrn中;

6f)当验证集xte中的样本全部分对或者验证集xte为空时,循环停止,否则返回到步骤6a)中继续执行;

(7)将各分类器上每轮的决策值hk,t(x)加权集成,得到最终的识别结果:其中,hk,t(x)为第k个基分类器t轮情况下的决策值,αk,t是第k个基分类器t轮情况下决策函数的权重。

2.根据权利要求书1所述的方法,其中步骤(3)所述的采用训练集划分的方法取得K组平衡的数据集,按如下步骤取得:

2a)从训练集中随机选取ls*ρ个大类样本和ls*ρ个小类样本,其中ρ为小类样本的采样率;

2b)将选择出来的大类样本和小类样本组成一组平衡数据集;

2c)按步骤2a)和2b)取得其余的K-1组平衡数据集。

3.根据权利要求书1所述的方法,其中步骤6d)所述的在验证集xte上验证Ck,t的效果,将分错的样本点按被错分的容易程度从大到小排序,按如下公式排序:

3a)找出验证集中被分错的数据点x;

3b)计算数据点x的决策值f(x):

其中,gi(x)为KMP训练得到的一组基函数,βi为对应gi(x)的相关系数;

3c)根据数据点x的决策值绝对值|f(x)|的数值从大到小排序。

说明书 :

基于动态样本选择集成的生物信息识别方法

技术领域

[0001] 本发明属于信息处理技术领域,涉及生物信息识别,用于对生物信息学中的snoRNA识别、microRNA前体判别、SNP位点的真伪识别,也可用于网络入侵、金融欺诈和反垃圾邮件的检测。

背景技术

[0002] 在生物信息学研究中,存在大量类别不平衡的分类问题。比如:非编码RNA基因挖掘,尤其是microRNA挖掘。此外,在SNP位点判别、snoRNA识别、microArray数据分析中也经常遇到这类问题。由于大多数问题中的正例来自于实验验证,而反例通常不需要实验验证,因此获取反例的成本低、正例的成本高,从而在训练集中通常出现反例远远多于正例的情况,使得最终的分类器的性能下降,以至于会出现把整个样本空间都划为大类的情况。针对这种问题,急需要一种有效解决类别不平衡数据分类的方法。
[0003] microRNA是生物体内一种重要的非编码RNA分子,在各种生物基因组中寻找microRNA是诠释基因组工作的一个重要的部分,然而目前确定的microRNA只有几千个,在一个物种上的则更少,而类似于前体的发夹环则可以在基因组中找到很多,对于人的基因组至少可以找到上百万条,因此这是一个明显的类别不平衡的分类问题。SNP位点是重要分子标记手段,许多研究表明SNP同人群分类、遗传疾病都有着紧密的联系在EST序列中挖掘SNP位点,进而进行分子标记,是一项可以节省大量实验成本却又富有挑战性的任务。核仁小分子RNA是另外一种重要的非编码RNA分子。根据结构特点,核仁小分子RNA主要可以分为C/D box snoRNA和H/ACA box snoRNA两大类。Jana等人的研究表明:两种不同的RNA在二级结构、自由能、GC含量和配对碱基个数等特征上相对于随机的基因组序列均具有显著性,因此可以用分类的方法从众多的非编码RNA中找出C/D box snoRNA和H/ACA box snoRNA。SNP位点挖掘和snoRNA识别都是典型的类别不平衡分类问题。
[0004] 迄今为止,模式识别中有了一些解决这种不平衡分类问题的策略,比如重采样法、代价敏感学习、Network Boosting和动态样本选择等。其中:
[0005] 重采样法,是通过增加稀有类训练样本数的上采样和减少大类样本数的下采样使不平衡的样本分布变得比较平衡,从而提高分类器对稀有类的识别率。研究表明上采样的方法通常会带来时间开销大、过拟合等问题;下采样方法只使用了大类的一个子集,并没有充分利用已有的信息。
[0006] 代价敏感学习,赋予各个类别不同的错分代价迫使最终分类器对正类样本有更高的识别率以解决不平衡分类问题,但是该方法被证明等价于重采样方法。
[0007] Network Boosting方法,是一种网络学习的方法,它在处理不平衡数据分类问题上,需要利用训练集划分的方法产生一系列平衡数据集来训练。这种方法的缺点是不仅会随着迭代次数的增加而加大时间开销,而且只偏向于总的识别率的提高,对于小类样本的识别率稍差。
[0008] 动态样本选择的方法,是一种利用训练集正确率动态的选择样本来处理不平衡问题的方法。该方法具有使用训练数据少,执行速度快的优点,但是它是从一组平衡数据集开始进行的,会受到初始平衡数据集选取的影响。
[0009] 总之,以往的各种方法都对小类样本难以识别,而且也不能根据需要调节总的识别率和小类样本识别率之间的大小关系。

发明内容

[0010] 本发明的目的在于克服上述已有方法的缺点,提出了一种基于动态样本选择集成的生物信息识别方法,以减小时间开销,避免受到初始数据集选取的影响,能够有效调节总的识别率和小类样本识别率之间的大小关系。
[0011] 为实现上述目的,本发明包括如下过程:
[0012] (1)找出一些带标记的生物信息数据作为训练集X;
[0013] (2)在找出的训练集中分出大类样本和小类样本,并分别计算大类样本和小类样本的个数lb和ls;
[0014] (3)采用训练集划分的方法取得K组平衡的数据集,每组平衡数据集包含ls*ρ个大类样本和ls*ρ个小类样本,其中K为要设定的基分类器的个数,ρ为小类样本的采样率;
[0015] (4)将得到的K组数据集随机分到K个基分类器中,作为基分类器上的初始训练集xtrn;
[0016] (5)在总的训练集中排除掉初始训练集xtrn,得到各基分类器上的初始验证集,记为xte;
[0017] (6)基分类器选用KMP,用动态样本选择的方法进行循环训练,将每次训练得到的决策函数在测试集上进行测试:
[0018] 6a)对基分类器上的训练集xtrn进行训练,得到决策函数Ck,t,利用决策函数Ck,t对测试集测试,得到决策值:
[0019] hk,t(x)∈{-1,+1},k=1,2,…,K
[0020] 其中,k为基分类器的标记,代表了第k个基分类器,t为在该基分类器上的训练轮数,x为测试集中的一个数据点;
[0021] 6b)利用决策函数Ck,t对训练集测试,并计算当前轮决策函数的错误率ek,t:
[0022] ek,t=(kk*Nerr_s+Nerr_b)/(kk*ls+lb)
[0023] 其中,kk为调节总正确率与小类样本正确率之间大小关系的代价敏感因子,Nerr_b和Nerr_s分别为训练集中大类样本和小类样本被分错的个数;
[0024] 6c)根据当前轮决策函数的错误率ek,t’计算当前轮决策函数的权重αk,t:
[0025]
[0026] 6d)在验证集xte上验证Ck,t的效果,将验证集中分错的样本点按被错分的容易程度从大到小排序;
[0027] 6e)如果错分样本个数大于设定的阈值q,则从排列好的错分样本中选择前q个,将它们从验证集xte中取出放入训练集xtrn中;如果错分样本个数小于q,则将所有错分样本从xte取出放入xtrn中;
[0028] 6f)当验证集xte中的样本全部分对或者验证集xte为空时,循环停止,否则返回到步骤6a)中继续执行;
[0029] (7)将各分类器上每轮的决策值hk,t(x)加权集成,得到最终的识别结果:
[0030]
[0031] 其中,hk,t(x)为第k个基分类器t轮情况下的决策值,αk,t是第k个基分类器t轮情况下决策函数的权重。
[0032] 本发明与现有的技术相比具有以下优点:
[0033] 1.本发明采用训练集划分的方法,从不同的平衡数据集开始训练,使测试结果能够有效避免初始平衡数据集选取的影响;
[0034] 2.本发明由于在训练中根据验证集的分类结果动态的选择训练样本,组成训练集xtrn,使得所用到的训练样本较少,因而减少了时间开销;
[0035] 3.本发明由于在计算决策函数错误率时引入了调节总正确率与小类样本识别率之间关系的代价敏感因子kk,使得二者能够根据需要得到调整;
[0036] 4.本发明在集成学习的框架下,引入了动态样本选择的方法来选择训练样本,使得本发明处理生物信息识别问题更加有效。

附图说明

[0037] 图1是本发明基于动态样本选择集成的生物信息识别方法流程图;
[0038] 图2是本发明与动态样本选择、NB+DTS两种算法对data3260数据测试得到的ROC曲线对比图;
[0039] 图3是本发明与动态样本选择、NB+DTS两种算法对data2483数据测试得到的ROC曲线对比图;
[0040] 图4是本发明在data1030数据上测得的正确率与查全率随kk而变化的影响图;
[0041] 图5是本发明在data1030数据上测得的AUC值随kk变化的影响图。

具体实施方式

[0042] 参照图1,本发明的具体实施过程如下:
[0043] 步骤1.确定好要训练和测试的生物信息数据。
[0044] 本方法是生物信息数据识别问题,因此首先具有一些训练样本,带有标签。在实验中从有标签的数据中随机抽取40%作为训练集X,另一部分作为测试集。
[0045] 步骤2.对确定好的训练集数据进行归一化。
[0046] 对确定好的训练集数据,通过如下公式进行归一化处理,以去除数据间量级的影响,得到归一化后训练数据中的特征:
[0047]
[0048] 其中,v=(f1,,f2,…,fn)表示训练数据,min(v)表示(f1,,f2,…,fn)之中的最小值,max(v)表示(f1,,f2,…,fn)之中的最大值。这样v′=(f′1,,f2′,…,fn′)就是归一化后的训练数据。
[0049] 步骤3.在归一化后的训练数据中找出大类样本和小类样本,并分别计算大类样本和小类样本的个数lb和ls。
[0050] 步骤4.对归一化后的训练数据采用训练集划分的方法,随机分成K组平衡的数据集,在每组平衡数据集中设有2*ls*ρ个样本,其中,大类样本和小类样本的个数都是ls*ρ,ρ为小类样本的采样率。
[0051] 步骤5.将上步得到的K组平衡的数据集分到K个基分类器中,作为基分类器上的初始训练集xtrn,在总的训练集X中排除掉初始训练集xtrn,得到基分类器上的初始验证集xte,即xte=X-xtrn。
[0052] 步骤6.在得到初始训练集xtrn和验证集xte后,每个基分类器上用动态样本选择的方法开始训练。
[0053] 6a)基分类器使用核匹配追踪分类器,对基分类器上的训练集xtrn进行训练,得到决策函数Ck,t 并利用决策函数Ck,t对测试集测试,得到决策值:
[0054] hk,t(x)∈{-1,+1},k=1,2,…,K;
[0055] 其中,k为基分类器的标记,代表第k个基分类器,t为在该基分类器上的训练轮数,x为测试集中的数据点;
[0056] 6b)利用得到的决策函数Ck,t对总的训练集X进行测试,并计算当前轮决策函数的错误率ek,t为:
[0057] ek,t=(kk*Nerr_s+Nerr_ b)/(kk*ls+lb)
[0058] 其中,kk是给定的调节总正确率与小类样本识别率之间关系的代价敏感因子,要求kk必须大于零,Nerr_b和Nerr_s分别代表总训练集X中大类样本和小类样本被错分的个数;
[0059] 6c)根据当前轮决策函数的错误率ek,t,计算当前轮决策函数的权重αk,t:
[0060]
[0061] 6d)在验证集xte上验证得到的Ck,t的效果,将xte中被分错的样本点按被错分的容易程度从大到小排序,被错分的容易程度表示错分样本决策值求绝对值后的值,即|f(x)|,该决策值f(x)由如下公式得到:
[0062]
[0063] 其中,gi(x)为KMP训练得到的一组基函数,βi为对应gi(x)的相关系数;
[0064] 6e)如果验证集xte中错分样本个数大于设定的阈值q,则选择前q个错分样本,将它们取出放入训练集xtrn中;如果错分样本个数小于q,则将所有错分的样本取出并且放入训练集xtrn中,这样就产生了新的xtrn和xte;
[0065] 6f)当验证集xte中的样本全部分对或者验证集为空时,循环停止。否则返回到6a)中继续执行。
[0066] 步骤7.将基分类器上每轮的决策值hk,t(x)加权集成,得到最终的识别结果:
[0067]
[0068] 其中,hk,t(x)为第k个基分类器t轮情况下的决策值,αk,t是第k个基分类器t轮情况下决策函数的权重。
[0069] 本发明效果可以通过以下实验进一步说明:
[0070] 1.实验条件和内容
[0071] 实验仿真环境为:MATLAB 7.0.4,Intel(R)Pentium(R)1 CPU 2.4GHz,WindowXP Professional。
[0072] 实验内容包括:分别应用本发明、动态样本选择和NB+DTS三种方法对表1中的数据进行分类识别。其中,NB+DTS方法为先通过训练集划分的方法得到K组平衡数据集,然后再利用Network Boosting方法集成训练,所以称为Network Boosting+Division of Training Set,简称NB+DTS。
[0073] 表1生物信息数据类型
[0074]数据 数据集规模 维数 正反例个数 不平衡度
data1030 1030*32 32 30/1000 1∶33.3
data2483 2483*14 14 306/2177 1∶7.11
data3260 3260*25 25 195/3065 1∶15.72
data5979 5979*14 14 65/5914 1∶90.98
data8687 8687*32 32 193/8494 1∶44.01
[0075] 本实验中的data1030为microRNA识别数据,其中microRNA为正样本,它是生物体内一种重要的非编码RNA分子,在调解遗传基因表达、控制细胞生长等方面有着重要的作用。表1中的data2483和data5979是核仁小分子RNA识别数据,data2483是从非编码RNA中识别出C/D box snoRNA的数据,正样本是C/D box snoRNA,data5979是从非编码RNA中找出H/ACA box snoRNA的数据,正样本是H/ACA boxsnoRNA,data3260为在EST序列中挖掘SNP位点的数据,其中,SNP为正样本,data8687也是microRNA识别数据,其中,训练集中有193个正例和8494个反例。这五种数据的类型如表1中所示。
[0076] 实验参数设置为:EAES和NB+DTS的基分类器的个数为10,NB+DTS方法所用的网络结构为随机网络,网络连接概率为0.2,训练轮次为10轮。EAES和动态样本选择中采样率取的都是1,分错样本的转移最大数q为70。基分类器中核函数选用RBF,RBF核参数为2,最大基原子数为100,拟合间隔步数为4,停止误差为0.001。EAES中的kk根据数据不平衡度的大小有所不同,在实验中,对data1031、data5979和data8687进行分类时kk取的是
15,对data2483和data3260进行分类时取的是10。下面实验的结果都是50次实验结果平均后的值。
[0077] 2.实验结果
[0078] 用本发明、动态样本选择和NB+DTS三种方法在data2483、data3260数据集上的ROC曲线对比结果分别如图1和图2所示。此对比图的X轴表示查全率,Y轴表示查准率。ROC曲线越凸越靠近左上方,表示对应的分类器一般化能力越强。由于本发明在集成学习的框架下,引入了动态样本选择的方法来选择训练样本,所以处理生物信息识别问题更加有效,一般化能力更强。从图1和图2中可以看出,本发明一般化能力最强。
[0079] 在下面对比结果中,从正确率、查全率、时间和AUC四方面对比本发明的优劣。正确率代表总的识别正确率;查全率是信息检索与数据挖掘中常用的评价指标,代表了小类样本被识别出来的概率;时间是指从训练到测试整个过程所需要的时间;AUC是指ROC曲线下面包括的面积,即ROC曲线的积分,AUC能以定量的方式表示该ROC曲线对应的分类器的一般化能力。
[0080] 1)将本发明的方法与动态样本选择的方法做比较,实验对比结果如表2[0081] 表2EAES与动态样本选择实验对比结果
[0082]
[0083] 从表2中可以看出,虽然本发明的方法比动态样本选择所耗用的时间长,但是本发明的方法效果明显要比动态样本选择要好,尤其是查全率和面积AUC,在每个数据上的效果都比动态样本选择要好。这是由于原来的方法只是以随机的一个平衡子集开始动态选择训练的,而本发明从不同的平衡子集入手,提高了多样性,最后通过集成的方法求得结果,使算法有了更高的泛化能力。
[0084] 2)将本发明的方法与NB+DTS方法做比较,实验对比结果如表3
[0085] 表3EAES与NB+DTS实验对比结果
[0086]
[0087] 从表3可以看到,本发明与NB+DTS方法相比较,不仅在正确率和AUC值上相对较高,而且所需要的时间也较少,这表明了本发明在处理生物信息识别问题上比NB+DTS方法更有优势。这是因为本发明在训练集划分的基础上引入了动态样本选择的方法,最后通过加权集成得到测试结果,所以利用本发明不仅取得的结果比较好,而且所需要时间相对较低。
[0088] 本发明方法中代价敏感因子kk对data1031测试结果的影响如图4和图5所示,其中,图4代表正确率和查全率随kk变化的影响图,图5代表AUC值随kk变化的影响图。从图4可以看出,随着kk的增大,正确率随之降低,而查全率随之上升。这表明kk变化可以调节正确率和查全率之间的大小关系。从图5可以看出,即使kk变化,AUC值仍然不会有大的变化,只在很短的区间内波动,这表明kk变化不会影响到分类器一般化能力的改变。
[0089] 以上实验表明,本发明是处理生物信息识别问题非常有效的一种方法,与动态样本选择算法相比效果有明显提高,与NB+DTS方法相比计算复杂度减小,加快了识别速度,提高了识别效果。