一种基于PTPR和轮盘赌的特征选择方法与流程

文档序号:11156064阅读:714来源:国知局

本发明属于生物信息学技术与数据挖掘的交叉领域,用于从生物信息中筛选出具有区分能力的生物标志物,具体涉及一种基于PTPR和轮盘赌的特征选择方法。



背景技术:

生物信息学是伴随着人类基因组计划发展而产生的一门涉及生物学、数学以及计算机科学的交叉学科,包含了生物信息的获取、加工、存储、分配、分析、解释等在内的所有方面,它综合运用数学、计算机科学和生物学的各种工具来阐释和理解大量数据所包含的生物学意义。数据挖掘是近年来新兴的一种科学计算技术与数据分析方法,它能够有效地从大量数据中提取潜在的信息与知识。在生物信息领域,计算机工作者与生物学家合作,研究提出了一系列的挖掘算法和挖掘模式,并应用于生物数据,取得了传统生物计算技术无可比拟的效果。

生物信息数据具有数据量巨大,数据维数高等特征。通常情况下,数据维数可以达到成百上千甚至几万维。如此高的维数带来了两个主要问题。一是所谓的“维数灾难”。现有的大多数算法的时间复杂度都达到了二次或更高,很难去处理更高维的数据。处理高维数据面临的另一个困难是样本数目的相对短缺。也就是说,维数有时会远远高于样本的数量。在这种情况下,对于高维数据的分析和处理,传统的数据处理方法己经不能满足稳健性等要求了,需要设计更有效的搜索策略和评价准则。为了解决高维数据所带来的问题,需要对数据进行降维处理,并且通过某种方式来增加样本的数量。特征选择是对数据降维的一种有效方法,能删除那些干扰特征和冗余特征,从大量特征中筛选出有意义的、具有代表性的少数特征,从而挖掘出隐藏的、具有研究价值的重要信息。

近年来,一种基于职业网球选手排名(PTPR)的基因随机选择算法(称为“PTPR算法”)被广泛使用。该算法在Monte Carlo(MC)特征选择算法的基础上,根据对职业网球选手排名和基因选择问题的分析,把PTPR的思想引入到特征选择方法中形成了一种新的特征选择算法。MC特征选择算法通过建立成千上万棵决策树,然后计算所有决策树各节点(特征)的重要性,即RI值(见公式(1)),作为最终衡量特征排名的指标。特征的RI越大,代表其越重要,排名越靠前。

PTPR算法保留了MC算法的精髓,即随机选择,同时借鉴PTPR排名机制,引入了种子变量排名、排名滚动更新,在每次迭代之后根据特征的重要性对特征进行排名,根据特征排名把排名靠前的少数特征放入种子集中,其余的特征放入非种子集中,类似于网球比赛中的种子选手和非种子选手,种子集中特征的表现要优于非种子集中的特征。在下次迭代中,非种子集中的特征以较低的概率被抽中参与决策树建立,而种子集中的特征以较高的概率被抽取参与建树,这样使得每次迭代都有表现相对较好的特征参与建树,优化了搜索过程,提高了搜索效率。PTPR算法将种子变量放入种子集list中,种子变量排名是list内的种子选手到目前为止累计RI的比较,同时算法逐次滚动更新当前种子变量排名,使得表现较好的特征有较大的概率被抽取,进一步提高搜索效率,随着迭代次数的增加逐渐有真正的种子变量进入种子集中,种子集逐渐趋近最优。PTPR算法最重要的思想是:运用种子变量、滚动更新及历史信息(RI),标记并保留已搜索到的当前最优变量,并在下一步的迭代搜索中更新特征排名,避免因初解不同、盲目搜索对结果造成的不稳定,从而快速高效地筛选出重要特征。

在随机搜索策略中,轮盘赌算法是一种常用的随机选择方法,类似于博彩游戏中的轮盘赌,常被用于遗传算法中,个体的适应度按比例转换为选择的概率,按个体所占的比值在一圆盘上进行比例划分,每次转动圆盘后待圆盘停止后指针停靠扇区对应的个体为选中的个体。显然,个体概率越大,其在圆盘中所占的面积越大,其被选中的机会也就越大。



技术实现要素:

虽然PTPR算法把特征集合分成了种子集和非种子集,使得种子特征比非种子特征有较高的概率被抽取,但是在各自的集合中,特征还是以相同的概率被抽取,无法尽可能地抽出表现相对较好的特征。本发明在PTPR算法的基础上,结合了轮盘赌算法,分别在种子集和非种子集中加入了轮盘赌机制,进一步在两个集合中抽取相对优秀的特征,该机制用每个特征的历史得分RI计算出该特征被选中参与下一轮竞争的概率。这样,在各自的集合中,表现相对较好的特征(RI得分高)会以较高的概率被抽取,而不是以等概率随机地被抽取,这样提高了优秀的特征参与建树的概率,从而提高了算法的收敛速度,增加了算法的搜索效率。由此,本发明提出了一种基于职业网球选手排名和轮盘赌的特征选择算法称作MPTPR算法。

本发明的技术方案:

一种基于PTPR和轮盘赌的特征选择方法,步骤如下:

MPTPR算法分为两部分:初始化和循环寻优;

(1)初始化

对于d个特征,计算每个特征在训练样本上的信息增益;MPTPR算法使用ID3决策树作为分类模型,信息增益是ID3决策树所使用的节点分裂准则;使用每个特征的信息增益作为其初始RI得分,再根据每个特征的RI得到最初的特征排名,初始化循环变量s为1;

(2)循环寻优

1)根据特征排名,把特征排名前200的特征放入种子集,其余的特征放入非种子集;对于种子集和非种子集,分别根据其中每个特征的得分RI构造一个轮盘赌,从种子集中按照轮盘赌机制随机选择p*m个特征;从非种子集中按照轮盘赌机制随机选择(1-p)*m个特征,得到含有m个特征的子集;

2)对于含有m个特征的子集,从训练样本中随机抽取50%的样本用于构建一棵决策树,其余50%样本用来测试所构建的决策树,该过程进行t次,即构建t棵决策树;

3)计算步骤2)中参与决策树建立的特征的得分,更新RI值,根据每个特征的RI进行排名,动态更新特征排名,计算公式如(1):

其中:k为决策的节点即为特征,wAcc为特征k所在决策树的分类准确率,IG(nk(τ))为特征k所在决策树中节点nk(τ)处的信息增益,no.innk(τ)为节点nk(τ)处的样本数,no.inτ为特征k所在决策树根节点的样本数;

4)此时s=s+1,当s≤snum时,返回步骤1),否则,进入步骤5);

5)得到d个特征的最终排名,根据需要,选出排名靠前的特征作为最后的特征子集;

其中:d为训练集的特征数;m为每次迭代参与建树的特征数,m<d;p为每次从种子集中抽取的特征占m个特征的比例;t为每次迭代所构建决策树的数量;snum为算法迭代总次数。

本发明的有益效果:本发明提供了一种特征选择的新方法,该算法迭代多次,通过轮盘赌机制尽可能地使表现相对较好的特征参与每次迭代,从而提高了算法的收敛速度,增加了算法的分类准确率。算法最后根据每个特征的最终得分进行排序,得到特征排名,从排名靠前的特征中挑选出具有区分能力的特征形成特征子集。

具体实施方式

以下结合技术方案,进一步说明本发明的具体实施方式。

实施例

以数据集breast为例,简要说明特征选择方法MPTPR的执行过程。数据集breast有77个样本、4869个特征,其中F={f1,f2,……,f4869},F代表特征集合,f代表每个特征,参数设置如下:d=4869,m=d*0.02=97,p=0.6,t=10,snum=100.

MPTPR算法分为两部分,首先算法进入初始化部分,计算breast中每个特征在所有样本上的信息增益,把每个特征的信息增益作为其初始的RI值,根据RI值进行特征排名,以排名前10的特征为例,此时排名前10的特征分别为f4359,f3700,f2272,f413,f3979,f4426,f2191,f2727,f1878,f2947,其对应的信息增益大小为0.2653,0.253,0.23,0.2243,0.2154,0.2132,0.2116,0.2097,0.2095,0.2095。

得到初始特征排名之后,紧接着算法进入循环竞争部分,此时s=1,第一次迭代开始。根据初始排名,把排名在前200的特征放入种子集中,其余4669个特征放入非种子集中。在种子集中,根据每个特征的RI值构建轮盘赌机制,随机抽取97*0.6=58个特征;同理在非种子集中按轮盘赌机制抽取97*0.4=39个特征,得到含有97个特征的子集。对于含有97个特征的子集,进行10次样本抽取,每次从77个样本中抽取77*0.5=38个样本构建决策树,其余39个样本来测试所构建的决策树,得到10棵决策树的分类准确率。对于参与构建决策树的特征,根据公式(1)计算其RI值,根据RI值进行特征排名,以排名前十的特征为例,此时排名前十的特征分别为f3700,f4359,f1924,f788,f4054,f1377,f4488,f1221,f1135,f4256,对应的RI3700=0.9534,RI4359=0.9213,RI1924=0.6164,RI788=0.5672,RI4054=0.5078,RI1377=0.4934,RI4488=0.4602,RI1221=0.4074,RI1135=0.3925,RI4256=0.3853,此时第一次迭代结束,s=s+1。MPTPR算法循环执行上述迭代过程,当s=snum=100时,可以根据每个特征的RI值得到最终特征排名,以排名前十的特征为例,此时排名前十的特征分别为f4359,f2272,f3700,f316,f3007,f2727,f4050,f869,f1135,f32,对应的RI4359=74.1015,RI2272=47.3298,RI3700=46.6722,RI316=42.0532,RI3007=32.8807,RI2727=24.6079,RI4050=17.1033,RI869=16.5638,RI1135=13.5295,RI32=13.1345,根据需要,从最终排名中选取前50个特征作为最后的特征子集。

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