集成特征选择方法在基因表达数据上的应用
2019-02-20潇宁
,, ,潇宁
(山东科技大学 数学与系统科学学院 山东 青岛 266590)
随着生物信息技术的快速发展,DNA微阵列技术得到了广泛应用。在分子生物学水平上,基于DNA微阵列技术的基因表达数据成为生物医学领域上的一个重要课题。通常,基因表达数据具有高维度、小样本和分布不平衡等特点,如何获取其中有价值的信息成为该领域研究的一个难题。1999年,Gloub等[1]利用基因表达数据在癌症的诊断研究方面做出了开创性的研究,引发了广泛关注。从机器学习的角度看,在癌症的诊断研究中寻找最有可能导致癌变的基因可以看作是一个分类任务的特征选择问题,目标是找到最好的一组基因来区分癌症患者和正常人。
近年来,使用特征选择技术在高维度、小样本的数据领域中获取有价值的信息变得越来越重要。特别是在生物信息学和生物医学领域。Guyon[2]提出特征选择主要有三个方面的目标:①提高预测变量的预测性能;②提供更快更具成本效益的预测变量;③更好地理解数据生成的基础过程。特征选择可以通过消除不相关或嘈杂特征来建立功能更加强大的分类模型,可以从原始数据集的特征中选取一小部分子集来构建一个运算速度更快的模型,并有助于研究者从中发现一些新的信息。研究[1,3]表明,基因表达数据中的大多数基因并不能为疾病分类模型提供有用的信息,只和少数的基因有密切的关系。因此在基因表达数据的疾病诊断中运用特征选择技术,可以使研究者在未来的临床试验中只关注一部分有价值的特征基因,减少试验成本。特征选择技术可以宽泛的分为过滤法(Filter)、封装法(Wrapper)和嵌入法(Embedded)三类[4]。过滤法只通过数据的内在属性来估计特征的相关性,而不考虑模型的学习算法或分类器对特征的影响。封装法通过评估分类器的分类性能在候选子集空间内选取最佳的特征子集,对于特定的学习算法,封装法可能会取得比过滤法更好的效果,但会增加计算成本。嵌入法利用分类器的内部参数来评估特征的重要性程度,通常能够在分类性能和计算成本上取得一个良好平衡。
通常,在机器学习上使用单一的学习模型解决一个给定的问题。然而,最近的研究发现通过组合不同的学习模型可以得到更好的学习效果,这种方法称为集成学习[5-6],集成学习通常应用于分类模型。本研究将集成学习的思想引入到特征选择上,期望得到比单个特征选择方法更好的特征子集。由于过滤法(Filter)计算简洁快速且具有良好的泛化能力,因此使用三种过滤式特征选择方法进行集成学习。每种方法通过对数据集的学习都会得到一个按基因重要性排序的集合序列,不同的结果聚合在一起,得到一个最终的集合序列。选取排名靠前的一部分基因作为特征子集,最后使用支持向量机作为分类器对特征子集的分类性能进行检验。实验结果表明,集成学习特征选择方法能够提高基因表达数据的分类准确度。
1 集成特征选择模型
特征选择是数据挖掘预处理阶段关键性的步骤。在高维分类问题中,通常用于选取与目标高度相关的特征子集。集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好学习效果的一种机器学习方法。对于分类问题,集成学习的思路是在对新的实例进行分类的时候,把若干单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能。如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。Dietterich[7]研究表明,将弱或不稳定的学习模型组合在一起能够取得比单一模型更好的结果。类似的,可以将集成学习的思想引入到特征选择中,以此来提高特征选择的效果。不同的特征选择方法将会产生不同的特征子集,这些特征子集被认为是局部最优的,通过集成学习可能会产生近似于全局最优的特征子集。集成特征选择主要涉及两个方面:①在特定训练集下创建不同的特征排序;②将不同的特征排序结果聚合在一起。
1.1 集成特征选择模型介绍
假设基因表达数据训练集为D,有N个基因(即N个特征)。使用过滤式特征选择方法对D进行学习,每个基因都会得到一个关于不同类别差异程度评价的得分。例如在对特征基因使用t检验或秩和检验进行特征选择时,可以计算假设检验的p值,p值越小说明两类样本的统计学差异越显著,特征基因也越重要。根据得分大小对所有的基因进行降序排序,排名越靠前说明基因越重要。使用i(i=1,…,m)种不同的特征选择方法进行特征选择,每种方法都会得到一个基因序列Li,然后将m个不同的基因序列聚合在一起,最终输出一个唯一的基因序列。由于不同方法的评价标准不同,基因得分有很大的差异,因此不同基因序列聚合之前需要将基因得分进行标准化处理。因为需要选择一部分基因作为特征子集,因此设定一个阈值α(0<α<1),选取排名靠前的αN个基因作为特征选择的结果。设计的集成特征选择模型具体流程如图1所示。
图1 集成特征选择模型流程图Fig.1 integrated feature selection model flow chart
(1)
表1 基因序列聚合方法Tab.1 Gene sequence polymerization
1.2 模型算法
1) 输入基因表达数据集D,基因数目为N;
2) 循环步骤,对于第k(k=1,…,m)种特征选择方法:
3) 使用聚合方法将不同基因序列聚合在一起,得到{t1,…,tN};
4) 根据设定的阈值α(0<α<1),选取排名靠前的αN个基因作为特征子集。
表2 基因表达数据集Tab.2 Gene expression dataset
2 实验及结果
本研究选用白血病、结肠癌和前列腺疾病3个基因表达数据集[15],数据集具体信息如表2所示。其中Colon数据集为结肠癌数据集,正类为结肠癌样本,负类为正常组织样本。Leukemia数据集为白血病数据集,正类为急性淋巴细胞白血病(acute lymyhoblastic leubemia, ALL)样本,负类为急性髓性白血病(acute lymyhoblastic leubemia,AML)样本。Prostate数据集为前列腺疾病数据集,正类为前列腺样本,负类为正常组织样本。基因表达数据为数值型数据,列为样本,行为基因。以Colon数据集为例,是一个62列2 000行矩阵形式的数据集。为了评价特征子集的分类预测性能,使用支持向量机(support vector machine,SVM)作为分类器进行测试。在实验过程中,支持向量机的核函数选用线性核。为预防过拟合现象和人为因素的影响,对数据集进行五折交叉验证实验。
模型算法使用R软件 X64 3.3.3版本的脚本语言编写,并在Windows 7上运行。
2.1 分类准确度结果
研究表明,只有少数基因能够为疾病分类模型提供有用信息,因此将阈值α设定在1%~10%,比较不同条件下的模型预测准确度。实验结果如表3所示。
表3 Colon数据集分类准确度Tab.3 Accuracy of Colon data set
表4 Leukemia数据集分类准确度Tab.4 Accuracy of Leukemia data set
表3~5展示了不同特征选择方法在不同阈值α下获得的特征子集使用支持向量机得到的分类准确度。加黑字体部分为同一阈值下不同特征选择方法到达的最高准确度。从实验结果可以看出,集成特征选择方法得到的特征子集具有比单一方法更好的预测性能。采用的3种聚合方法中,中位数聚合方法在Colon数据集和Leukemia数据集表现出最佳的性能,但在Prostate数据集中,均值聚合方法表现的性能更好。说明针对不同的数据集应该选取不同的聚合方法。阈值α取值在0.05左右已经可以达到一个较好的分类准确度,当阈值α取值在[0.08,0.1]范围时,分类准确度不仅不会增加,反而会减小。原因是由于不同特征之间具有一定的相关性,过多的特征会造成数据的冗余,增加数据的噪声,从而导致分类性能的降低。如何减少特征子集的冗余是下一步研究的方向。
表5 Prostate数据集分类准确度Tab.5 Accuracy of Prostate data set
2.2 阈值α影响分析
阈值的变化体现在特征选择的百分比上,特征数量的变化又会对最终分类结果造成影响。为了得到更加客观准确的结果,对阈值α影响进行分析。在原有区间[0.01,0.1]将α取值间隔设定为0.005,分析α的取值是否会对准确度的变化产生较大的影响并增加随机森林分类器进行对比实验。实验结果如图2。
图2显示了三个基因表达数据集使用支持向量机与随机森林作为分类器,在更小的划分间隔下不同特征选择方法选择特征子集获得的分类准确度。可以看出Colon、Leukemia和Prostate 3个数据集在支持向量机上达到最高分类准确度的阈值α取值分别为0.05,0.055,0.04,在随机森林上达到最高分类准确度阈值α取值分别为0.055,0.055,0.06,这说明不同数据集之间具有一定的差异性,不同的分类器对阈值α也有不同的影响;随机森林的最高分类准确度相对于支持向量机要低一些,但也能达到一个较高的分类准确度,随机森林在集成特征选择方法上也能够获得比单一特征选择方法更好的分类性能,这说明集成特征选择方法对不同的分类器具有较好的适应性。对于特定的数据集需要寻找一个合适的阈值α,同时设置更小的阈值α不会引起分类准确度曲线产出较大的变化,这说明阈值区间间隔设置为0.01是一个较好的选择。
图2 阈值α影响分析Fig.2 Impact analysis of threshold
3 结束语
特征选择是模式识别系统的一个重要问题,是从原始特征中选择出一组最有价值的特征来降低数据集维度的过程,是提高模型学习算法性能的一个重要手段。单一特征选择方法得到的特征子集可能会有偏差,因此,在特征选择上引入集成学习的思想,构建集成特征选择模型。 针对基因表达数据的疾病诊断问题,将三种过滤式特征选择方法集成在一起,并分析了不同聚合方法在此模型上的集成效果,通过实验发现相对于单一的特征选择方法集成特征选择能够有效的提高分类准确度。但只在三个数据集上进行了测试,实验具有一定的局限性,因此需要将该方法应用于更多的基因表达数据集上,来进一步验证该模型的有效性。此外,本研究发现只有少数的特征能给分类模型带来有用的信息,过多的特征会造成特征子集的冗余,降低分类模型的预测准确度。因此考虑不同特征之间的相关关系,降低特征子集的冗余也是需要进一步研究的问题。