APP下载

DNA微阵列数据判别的旋转森林方法

2012-03-11陈金瓯

中国卫生统计 2012年4期
关键词:剪枝子集分类器

陈金瓯 柳 青

DNA微阵列技术的出现使得我们可以同时检测成千上万个基因表达水平。基因表达数据分析的一个重要部分是通过表型(是否患疾病,疾病类型,疾病预后情况等)已知的样本,运用基因表达水平数据建立判别模型,以识别未知样本的分类,并期望获得良好的分类效果,这对疾病的分子分型、诊断、筛查和治疗等研究都有很重要的意义。目前应用于微阵列数据的基因分类方法主要有:(1)传统统计学方法,如logistic回归、Fisher线性判别;(2)机器学习方法,如分类与回归树(CART);(3)集成分类系统(ensemble classification system),如 Boosting,Bagging和随机森林(random forest)〔1-2〕;(4)其他方法,如支持向量机(SVM)和神经网络(NN)等。集成分类系统由于其优良的分类性能得到人们的重视。它通过多个子分类器的学习,用投票(voting)的方法得到判别结果,使得分类结果更加准确、稳定,泛化误差和推广能力也较单个分类器强。近期出现的众多算法中,旋转森林(rotation forest)是一种建立在随机森林基础之上的数据判别分类方法。它具有随机森林算法的优点:可应用于高维小样本数据,不容易过拟合等;且它的分类性能更加优良。本研究首先介绍旋转森林算法,并应用旋转森林算法对公开的基因表达谱数据进行分类判别分析,调整算法参数以初步探究旋转森林的分类性能。

基本原理和算法过程

旋转森林是2006年提出的一种分类器集成系统,其基本设计思想建立在随机森林算法基础之上〔3-4〕。旋转森林把原特征空间分割成若干子集,之后对每个子集分别进行某种线性变换,如主成分分析(principal components analysis,PCA),保留所有主成分的情况下,将得到的变换分量分别按照这些子集原来对应的顺序合并,这样每次随机分割后得到的数据都被投影到不同坐标空间中,因而形成差别较大的分量子集,用这些分量自己训练分类器,能够得到差异度很大且分类性能较高的基分类器,以提高集成系统的分类性能。

算法如下:在包含了n个特征的x=[x1,…,xn]T数据集中,x是样本量为N的N×n矩阵,它们构成了特征集F,Y是与之对应的分类变量y=[y1,…,yN]T,分类取值为{ω1,…,ωc}。在微阵列表达数据中,通常以基因表达量为特征集,表型为分类变量。算法中有两个重要参数需要定义:即数据集分割数目K;以及集成分类系统的基分类器数目L。在集成分类系统中,一般包含L=D1,…,DL个子分类器。

第一步,首先将特征集F随机分割为K个子集,每个子集含有M=n/K个变量,为简单起见,一般设定K为n的一个因数。由于是随机分割,这些子集中的变量可以相同,也可以是不同的。

第二步,Fij是用于训练子分类器Di的第j个特征子集。对应于每一个特征子集Fij,Xij为X中包含特征Fij的样本子集。对Xij'采用bootstrap重采样技术,随机且有重复的抽取75%的个体,构成新的bootstrap样本集Xij'。随后对Xij'进行某种线性变换,一般采用主成分分析,并且记录生成的系数矩阵 Cij,用 a1ij,…,表示其系数,它们都是M×1的向量。值得注意的是,可能得到的特征值为0,导致Mj≤M。在特征子集而不是全数据集上进行线性变换的目的是为了避免用相同的系数矩阵来构建子分类器。

第三步,用已经获得的系数矩阵Cij构造一个稀疏的“旋转”矩阵Ri

由于bootstrap过程打乱了数据顺序,为了计算子分类器Di的训练集,需对矩阵Ri中的每一列都按原始特征集重新排序,重新排序后得到的旋转矩阵记为Ra

i,它是一个N×n的矩阵。对于子分类器Di,旋转变换后的训练集为X'=

第四步,在分类阶段,对新样本x也需要进行旋转变换,变换后的新样本x'=设 dij()为子分类器Di判定样本x属于类别ωc的概率,则将该样本分配为某个类别的可信度为:

样本x以最大可信度判断其所属的类别。

实例分析

本文采用Bioconductor平台的四个经典基因微阵列数据〔5〕。分析包含结肠癌(colon),白血病(golub),急性淋巴细胞白血病(ALL),弥漫大B细胞淋巴瘤(DLBCL)四个数据集。colon数据以肿瘤患者和正常人为分类变量。golub数据以白血病种类ALL/AML(急性淋巴细胞白血病/急性髓细胞样白血病)为分类变量。ALL数据集协变量较多,这里分别取是否复发(ALL1),是否有多重耐药性(ALL2),以及是否有连续症状缓解(ALL3)作为分类变量。DLBCL以生存和死亡作为分类变量。

数据预处理用R软件完成,用几个数据集标准预处理方法进行〔6〕。colon用loess法进行归一化,golub先使最小值100最大值16000,而后对数据进行对数转换和归一化。Bioconductor平台的ALL数据已进行归一化和预处理,DLBCL用KNN法填补缺失值。数据分析用新西兰Waikato大学开发的数据挖掘软件Weka进行〔7〕。所有分类器都以10折交叉验证(10-folod cross validation)评估分类性能。

原始数据集基因数较多,会给分类器带来较大的计算负担,直接利用原始基因表达谱数据建立模型并不现实,因此在建立分类模型之前需要提取对分类重要的特征。六个数据集以SAM(significant analysis of microarray)法获得在两组间差异表达的基因〔8〕。其中colon,golub数据集以FDR<0.001为准,得到相应差异表达基因。由于SAM法控制假阳性率较为严格,ALL1,ALL2,ALL3,DLBCL 数据得到差异表达基因过少,采用调整后的P<0.001作为差异基因入选标准。得到六个用于分类和判别分析的数据集。对数据集的描述见表1。

1.不同分类器分类效果的比较

所有分类器在默认参数设置下进行分类情况的比较,比较十种分类器的分类准确性,比较的分类方法为:旋转森林(RoF)、AdaBoost、LogitBoost、随机森林(RF)、Bagging、CART、J48、支持向量机(SVM)、神经网络(NN)和logistic回归。旋转森林的参数设置是K=3;集成规模L=10,即有10颗子树;基分类器为剪枝的J48决策树(J48是对C4.5的一种扩展);线性变换方式为PCA。得到各分类器在各个数据集上的分类正确率见表2。

表2 十种常用分类器分类结果比较

按每个数据集上各个分类器分类准确性排序编秩,若秩次相持则按平均秩次计算,各秩次相加得到分类器在六个数据集上的得分(score),对得分排序得到分类器分类性能的rank。

从表2可以看出,在所有参数默认的情况下,对六个数据集的分类效果旋转森林(RoF)为最佳。其次的是LogitBoost和支持向量机。

2.线性变换方式,基分类器是否剪枝对分类性能的影响

线性变换方式是旋转森林的重要参数之一。除主成分分析外,还有两种随机映射(random projection,RP)可以选择〔9〕。同时,对于基分类器J48决策树,可采取剪枝和不剪枝两种策略。线性变换方式和剪枝(pruning)、未剪枝(unpruning)对分类性能的影响见表3。

表3 旋转森林不同线性变换方式和是否剪枝的分类结果比较

对表3中同一线性变换方式下是否剪枝,以及不同线性变换方式下剪枝和不剪枝的分类准确性分别作配对t检验,P>0.05,分类效果间差别无统计学意义。

3.基分类器的选择

对旋转森林的基分类器,Weka提供了多种选择。除了算法内嵌的J48,其他常用的决策树有:(1)Decision Stump,一种只一次进行分裂的最简单的决策树;(2)CART,分类与回归树;(3)Random Tree,在每个节点随机抽取变量进行分裂的决策树;以及(4)Best First Tree,扫描数据库,以熵不纯度下降最快的变量作为分裂节点的决策树。结果见表4。

表4 旋转森林不同基分类器的分类结果比较

对表4中各不同分类器分类结果进行配对t检验,P>0.05,分类效果间差别无统计学意义。

4.参数 K

对旋转森林的参数K的设置是否会影响分类性能,我们取 K=1,2,…,10,得到结果见图 1。

专业英语词汇量大是商务英语的特点,尽管这些专业词汇和普通英语词汇不一样,但是这些专业词汇来源于具体使用的工作环境中,为了让商务英语广泛应用在农产品对外贸易中,与谈判相关的工作人员应该积累大量的商务英语专业词汇,使用专业词汇表达贸易双方的意思,而且使用的专业词汇也要符合世界通用的标准,不然会造成误差。

图1 旋转森林参数K对分类性能影响的比较

5.特征数(feature size)

特征数是影响分类器分类性能的一个重要因素,而SAM法只能选取基因表达谱中特定数目的差异基因。为了比较不同特征数对旋转森林分类性能的影响,在此我们按照P值对基因进行排序,分别取几个数据集的前 5,10,15,20,25,30,40,50,60,70,80,90,100个差异基因进行分析,分类准确性的结果见图2。

6.集成规模(ensemble size)

集成分类系统的集成规模L是算法的重要参数,在此我们设置起始为5个子分类器,间隔为5,直到集成规模为 100,L=5,10,15,…,100,同时分别测试三种线性变换方式PCA,RP1,RP2对旋转森林分类性能的影响,结果见图3。

讨 论

本研究应用旋转森林算法对六个DNA微阵列数据集进行判别分类的分析,除了对DLBCL数据分类结果不佳,分类准确率为0.663,其余数据集分类准确性均大于0.7。集成分类系统的分类准确性优于单个分类器。集成系统中旋转森林和LogitBoost的分类表现强于单个分类器支持向量机,而集成的Bagging也强于传统的logistic回归。有研究表明,集成分类系统分类性能是由基分类器的分类精度和各基分类器之间的差异决定的〔4〕。在旋转森林算法中,采用PCA等线性变换会增大基分类器之间的差异,若变量之间相关性较强,这种线性变换也可以旋转坐标轴以提高基分类器的分类精度,进而提高整个集成系统的分类性能。其他研究显示,对UCI的33个机器学习标准数据库进行测试,旋转森林的分类性能优于其他集成算法〔10〕。

图2 不同特征数对旋转森林分类性能的影响

图3 旋转森林不同集成规模以及三种不同线性变换方式的分类结果比较

对不同分类器比较中发现一个现象,传统的logistic回归分类性能受n/p影响较大,在n/p很小时,即高维、样本量较小时(对应第1,2个数据库),它的分类性能明显较集成系统差。而在n/p较大时,以DLBCL数据为例,logistic回归的分类性能较其他分类器好。

在对旋转森林参数设置的比较中,得到如下几个方面的结论:基分类器是否剪枝以及不同的基分类器选择对旋转森林分类性能影响不大,旋转森林在这两个方面稳定性较强。参数K对分类性能影响在p较大的数据集中算法表现稳定,而在对p较小的ALL1数据分析时,不同的K值对旋转森林分类效果影响较大。对于不同的特征数目,按照差异基因的显著性,即p值排序,前5到10个差异基因似乎已经能够提供足够多的分类信息,而增加差异基因数量并不能显著地提升分类器的性能。对于数据集如ALL3,甚至出现分类效果随特征数下降的现象,这说明在执行分类任务时寻找差异基因的重要性,过多的基因也许提供了冗余信息,增加了分类器的计算负担的同时降低了分类性能。集成规模L的初始值为5,开始时随着集成规模的增加旋转森林分类性能也在提高,但集成规模达到一定程度后,分类能力基本稳定,不再随集成规模的增加而变化。这也说明集成分类系统相对单个决策树分类稳定性更强,分类准确性更高,泛化误差的推广能力也更强。在不同的集成规模下使用不同的线性变换方式,在colon,golub和DLBCL三个数据集上,PCA和RP2分类性能优于RP1;而在ALL1数据库,PCA劣于RP1和RP2。这可能是不同数据集数据结构不同造成的。某种线性变换是否能在某个数据集上提供更精确的基分类器,能否增加基分类器之间的变异是决定集成系统分类性能的关键。

由于计算复杂性较高,本研究只采用分类准确性这个指标对分类效果进行评价,将来的研究需要用更多指标,如敏感度和特异度对分类效果进行更加全面的评价。未来应采取数据模拟方式探索旋转森林的分类性能,如在数据集中增加缺失值,以及对非平衡数据的研究。在算法参数设置方面,可以探索其他线性变换方式。

1.武晓岩,闫晓光,李康.基因表达数据的随机森林逐步判别分析方法.中国卫生统计,2007,24(2):151-154.

2.李康,武晓岩.随机森林方法在基因表达数据分析中的应用及研究进展.中国卫生统计,2009,26(4):437-440.

3.Breiman L.Random forest.Machine Learning,2001,45:5-32.

4.Guez JR,Kuncheva L.Rotation forest:a new classifier ensemble method.IEEE Transaction on Pattern Analysis and Machine Intelligence,2006,28(10):1619-1630.

5.http://www.bioconductor.org.

6.Jeffery IB,Higgins DG,Culhane AC.Comparison and evaluation of methods for generating differentially expressed gene lists from microarray data.BMC Bioinformatics,2006,7(1):359-375.

7.http://www.cs.waikato.ac.nz/ml/weka.

8.Tusher VG,Tibshirani R,Chu G.Significance analysis of microarrays applied to the ionizing radiation response.Proc Natl Acad Sci USA,2001,98(9):5116-5121.

9.Fradkin D,Madigan D.Experiments with random projections for machine learning.New York,NY,USA,2003.

10.Kuncheva LI,Rodrigue J.An experimental study on rotation forest ensembles.Lecture Notes in Computer Science,2007,4472:459-468.

猜你喜欢

剪枝子集分类器
人到晚年宜“剪枝”
拓扑空间中紧致子集的性质研究
基于朴素Bayes组合的简易集成分类器①
基于YOLOv4-Tiny模型剪枝算法
基于激活-熵的分层迭代剪枝策略的CNN模型压缩
Carmichael猜想的一个标注
关于奇数阶二元子集的分离序列
基于特征选择的SVM选择性集成学习方法
基于差异性测度的遥感自适应分类器选择
剪枝