基于独立成分分析和随机森林判别法的Microarray分析
及在分子生物学中的应用
汪 伟,华 琳,郑卫英,刘 红 (首都医科大学生物医学工程学院数学教研室,100069)
摘 要:提出基于独立成分分析(ICA)和随机森林判别的Microarray分析方法。该方法先采用独立成分分析获取高阶
统计信息,提取Microarray数据特征,达到降维的目的。再应用提取的特征,采用随机森林判别法对样本进行分类。数值分析结果表明,提取5个特征就可以使袋外样本OOB(outofbag)的分类错误率达到7189%。该方法有效地降低了特征空间维数,具有较高的正确识别率,提高了算法的鲁棒性和灵活性。
关键词:独立成分分析;随机森林;Microarray中图分类号:R318104 文献标识码:A 文章编号:1006-9534(2009)08-0008-03Microarrayanalysismethodbasedonindependentcomponentanalysisandrandomforestsdiscriminant.WANGWei,HUALin,ZHENGWei-ying,LIUHong.(CapitalUniversityOfMedicalSciences,Beijing100069)
Abstract:Inthispaper,amicroarrayanalysismethodbasedonindependentcomponentanalysisandrandomforestsdiscriminantisprovided.
Inthismethodtheindependentcomponentanalysisisusedtoobtainhighorderstatisticinformationandextractfeaturesof
microarrayinordertoreducethedimensionofthefeaturespace.Thesefeaturesextractedwereusedtoclassifythesamplesofout-of-bag(OOB)byrandomforestsdiscriminant.NumericalsimulationshowsthattheclassificationerrorratesofOOBcanbeupto7189%onlybyextractedfivefeatures.Themethodcanreducethedimensionoffeaturespaceeffectivelyandhashighercorrectclassi2ficationrate.Theresultsshowthatitimprovesrobustnessandflexibilityofalgorithms.
Keywords:Independentcomponentanalysis;Randomforests;Microarray
随着分子生物领域的发展,生命科学进入了后基因组时代,DNA微阵列芯片技术已经得到了广泛的应用。研究人员可以同时测定成千上万个基因的表达水平,获得大量的微阵列(Microarray)数据。对基因表达数据分析的常见任务就是对样本进行分类,希望用较少的基因数目获得较好的分类效果,它对于临床诊断、治疗以及对功能基因的研究都有重要的意义。而微阵列数据的特点是样本含量小,而变量数(基因)多达上万个。此时,传统的统计方法往往因为高维而失效了。近年来,涌现出大量的算法对高维数据进行降维。其中主成分分析是研究的热点,并得到了广泛的应用。主成分分析[1]是基于信号的二阶统计特征的分析方法,不能从高阶上消除数据各成分之间的相关性。而独立成分分析ICA(In2
[2]
dependentComponentAnalysis)是基于信号高阶统计特性的分析方法,独立成分分析各个分量之间在高阶上是相互独立的。ICA从本质上实现了对混合信息的分析,能很好的抑制高斯白噪声。我们将它用于Microarray的特征提取,达到“去冗余”和降维的目的。另一方面,随机森林算法[3,4]是一种利用多个分类树对数据进行判别或分类的方法,可显著提高生物类型分类的准确性。我们将提取的特征形成新的数据集,采用随机森林算法对袋外样本OOB(outofbag)进行分类,以分类错误率作为评价指标进行分析。
一、基于独立成分分析和随机森林判别法的Microarray分析
1.Microarray的独立成分分析(ICA)模型
基金项目:北京市教育委员会科技发展计划面上项目
(KM200910025006)
我们设Xn×oarrayp(n
T
成Xn×p=(x1,x2,…xn),每个x1可以表示成M个独立特征
TS=(s1,s2…s.其中A=(aij)N×M)的线性组合,即X=ASM
表示未知的混合矩阵,在混合矩阵A和独立成分S未知的情
T3
况下,根据Xn×p确定分离矩阵W=(w1,w2,…wM),使得S
=AX=WX为S的最优估计。其中A表示矩阵A的伪
+
+
逆。由信息论,服从正态分布的随机变量具有最大的微分熵,变量的微分熵越大,独立性越小。密度为p(y)的随机变量Y的微分熵为:
H(y)=-∫p(y)logp(y)dy
[5]
Hyvarinen和Oja提出使用负熵(negentropy)近似求取独立
成分,其近似公式为:
2
J(y)=[EG(y)-EG(yguass)]
其中yguass表示与y具有相同方差的高斯随机变量。G是一个非二次函数,常取
G1(u)=1lg(coshau),1≤a≤2a
u2G2(u)=-e2
采用牛顿法使得J(y)取得最大值,可求得ICA的递推公式为:
3T′T33
wi=E{Xg(wiX)}-E{g(wiX)}wi;wi=wi/‖wi‖
其中,g和g′分别为G的一阶和二阶导数。
2.随机森林判别法
随机森林判别法是基于递归分类树的有监督学习方法。对原始训练集采用bootstrap[6]法有放回的随机抽取新的样
通讯作者:刘红
中国优生与遗传杂志2009年第17卷第8期
本集并由此构建分类树,每次未被抽到的样本组成了袋外数据OOB(out-of-bag),作为测试集。在树的每个分叉结点对特征空间作一次穷尽搜索,提取一个特征基因gi,使得在结点t的划分最大程度降低类别杂质度[7]。采用Gini差异性指标作为结点t的杂质函数:
2
E(t)=1-∑P(wk|t),P(wk|t)=Pk=nk/n(k=1,2,3,
k=1k
・9・
是基于定点递推算法得到的,其估计方法是使信息的非高斯最大化。我们选择非二次函数G(u)=lg(coshu),最大迭代次数为200次,迭代收敛的界值为0.0001。我们将样本与提取特征构成的新数据集作为原始训练集,采用bootstrap法有放回的随机抽取新的样本集,并由此构建分类树,每次未被抽到的样本组成了袋外数据OOB(out-of-bag),作为测试集并计算分类错误率。在随机森林判别法中,我们根据分类错误率的稳定性来选择决策树的数目。图2给出提取2个特征并构建500棵树的OOB分类错误率,可以看出当树的数目达到200棵树后,分类错误率已基本稳定。因此,我们选择构建500棵决策树的随机森林算法。图2中横轴表示决策树的数目,纵轴表示OOB分类错误率。黑线表示实际分类错误率,红线和绿线分别表示分类错误率的上界和下界。我们分别提取2,3,5,7,10,15,20,30个特征,采用随机森林判别分析法计算OOB的分类错误率,结果见表1,从表1中可以看出,提取2个特征和5个特征,分类错误率均达到最小。图3给出分类错误率与提取特征数的关系图。从图3中可以看出,从提取15个特征开始,随着提取特征数的增加,分类错误率越来越高,特别是当提取的特征数达到30时,分类错误率已高达42.35%,算法性能受到很大的影响。
…K)
其中Pk表示结点t中某一样品属于第k类的频率。这种递归反复进行,直到满足树的增长停止规则。每棵树保证最大限度的增长,中间不作任何修剪。用袋外样本数据检验树的分类效果。将生成的多棵分类树组成随机森林,用随机森林对袋外数据进行判别与分类,分类结果按树分类器的投票多少而定。
3.基于ICA和随机森林判别的Microarray分析法Microarray数据的常规分析任务是将样本准确的分类。而由于数据中含有大量的基因,远远高于样本数,但真正对分类起作用的特征往往隐藏在少数基因中,冗余基因的存在会大大降低分类的准确率。因此,我们先对Microarray数据进行预处理,即中心化(训练样本数据均值为0)和白化(特征向量矩阵为正交矩阵),然后采用ICA分析法对Microarray数据进行特征提取,消除数据的高阶相关性,并将提取的特征形成新的数据集,采用随机森林算法对袋外样本OOB(out-of-bag)进行分类,具体过程见下图:
图2 n=500时的OOB分类错误率
因此,我们考虑提取5个特征对样本分类。图4给出提取5个特征的MDS[11](Multi-dimensionalScaling)点阵图,该图表示的是根据随机森林分类算法得到的近邻矩阵而构建的对38个样本的二维分类图,横纵轴分别代表两个维度,图中蓝点表示AML样本,红点表示ALL样本。从图4中可以看出38个样本被很好的分类。
表1 提取不同特征数的OOB分类错误率
[8]
图1 算法流程图
二、数值实验结果
我们选择Bioconductor提供的数据集golub
,它是白血
病微阵列芯片实验所得的基因表达数据集。包括38个肿瘤样本,3051个基因。其中,38个肿瘤样本中,包含27个急性
淋巴白血病(ALL)样本和11个急性骨髓白血病(AML)样本。我们将此基因表达谱数据作为训练样本,采用基于定点算法的快速ICA算法(FastICA[9,10])进行特征提取,此算法
分类错误率(%)
提取特征数
2357101520307.8915.797.8915.7913.1623.6836.8440.25
我们将本文提出的方法与其它的一些分类方法作比较,结果见表2.这些方法是从27个ALL样本中选取14个样本,从AML样本中选取6个样本作为训练集;并把ALL样本中剩余的13个样本和AML样本中剩余的5个样本作为测试
・10・中国优生与遗传杂志2009年第17卷第8期
Microarray分析方法,通过采用独立成分分析获取高阶统计
信息,提取Microarray数据特征,并应用由样本和提取特征构成的新数据集,采用随机森林判别法计算OOB分类错误率。
表2 各种分类算法的比较
算法分类错误率(%)
支持向量机支持向量机12.5
筛选差异表达基因后应用支持向量机8.6
遗传算法结合支持向量机6.4
偏最小二乘法成分数=115.0
成分数=210.0成分数=515.0成分数=1020.0成分数=1520.0
ICA与随机森林判别特征数=2或57.9
图3 提取的特征数对OOB分类错误率影响实验证明,当提取的特征数为2和5时,分类的效果最好。而从特征数为15开始,随着特取特征数的增加,分类效果越来越差。因此,提取特征数的个数对于分类结果有着十分重要的作用。
另一方面,我们将本文提出的算法与其它常见的分类算法进行比较,比较结果显示基于独立成分分析和随机森林判别的Microarray分析方法有很好的分类效果,具有较高的正确识别率。这说明ICA分析可以有效的降低高维特征空间的维数,由于各独立成分之间的高阶独立性,所得到的分类器有很强的泛化性能,而随机森林判别作为分类器也可显著提高生物类型分类的准确性。因此,此方法应具有一定的应用前景。
参
考
文
献
[1]TUKK,PENTANDA.Eigenfaceforregcognition[J].JournalofCogni2
tiveNeuroscience,1991,3(1):72-86.
[2]WUXJ,YANGJY,WANGST,etal.Anewalgorithmforgeneral2
izedoptimaldiscriminantvectors[J].JComputSci&Technol,2002,17(3):324-330.
[3]BreimanL,etal.RandomForestsMachLearn,2001,45,5-32.[4]BreimanL,etal.Manualonsettingup,usingandunderstandingRan2
domForestsV4.0.2003.
[5]HyvrinenA,OjaE.Independentcomponentanalysis:algorithmsand
applications[J].NeuralNetworks,2000,13(4-5):411-430.[6]KohaviR,JohnGH.Wrappersforfeaturesubsetselection[J].Artif2
icalIntelligence,1997,97:273-324.
[7]XiaLi,etal.AnensemblemethodforgenediscoverybasedonDNA
microarraydata[J].SCIENCEINCHINA,2004,(2):6-11.[8]Bioconductor:http://www.bioconductor.org.
[9]HYVARNENA.Fastandrobustfixed-pointalgorithmforindepend2
entcomponentanalysis[J].1999,10(3):626-634.
[10]HYVARNENA,OJAE.Afastfixed-pointalgorithmforinde2
pendentcomponentanalysis[J].NeuralComputation,1997,9(7):1483-1492.
[11]http://stat-www.berkeley.edu/users/breiman/RandomForests.[12]孙啸,等.R语言及Bioconductor在基因组分析中的应用[M].
IEEETransactiononNeuralNetwork,
图4 提取5个特征的MDS点阵图
集进行验证。其中支持向量机算法中分别为直接采用支持向量机进行分类和先利用SAM
[12]
方法筛选差异表达基因,
再采用支持向量机进行分类,筛选的差异表达基因为76个。
遗传算法-支持向量机(GA-SVM)[13]是将筛选出的76个差异表达基因作为初始的特征基因集合,以分类错误率作为目标函数,再次进行特征基因选择。每一代,都随机的将基因数减为上一代的一半,经过5代迭代后收敛,使分类错误率达到最低。所有三种方法均选择径向基函数(RBF)[14]。从表2的结果可以看出遗传算法结合支持向量机的分类错误率最低,其次就是我们提出的基于ICA与随机森林判别的分类算法,分类错误率也仅有7.9%,而偏最小二乘法的性能较差。同时,我们发现,筛选差异表达基因后再采用支持向量机算法进行分类,也能够得到很好的分类效果,说明在分析Microarray数据中,对高维数据进行降维是十分必要的。 三、讨论
本文提出了一种基于独立成分分析和随机森林判别的
北京:科学出版社,2006.7.
[13]乔立元,彭喜元,彭宇.基于微粒群算法和支持向量机的特征子
集选择方法[J].电子学报,2006,51-55.
[14]边肇祺,张学工.模式识别[M].第二版.北京:清华大学出版
社,2000.1.
收稿日期:2009-04-03
因篇幅问题不能全部显示,请点此查看更多更全内容