本文针对高维生物数据特征提出了一种融合T-Rank和Softmax的特征提取算法。该方法比传统特征提取方法在处理高维生物数据更加有效,不仅提取的特征个数较少,而且计算速度快。利用算法本文对高维银屑病基因表达谱数据进行了研究,得到了分类准确率较高的疾病诊断模型。 The paper proposed a new feature extraction algorithm by integrating T-rank and Softmax for the high dimensional biological data sets, which is more effective than traditional method when dealing with high dimensional data. It can not only extract a very few number of features, but also have fast computing speed. By using of this new algorithm, the paper obtains a high accuracy diagnosis model for psoriasis.
刘哲1,彭春力2,陈鹏1,罗幼喜3*
1湖北工业大学电气与电子工程学院,湖北 武汉
2湖北工业大学经济与管理学院,湖北 武汉
3湖北工业大学理学院,湖北 武汉
收稿日期:2016年10月19日;录用日期:2016年11月8日;发布日期:2016年11月11日
本文针对高维生物数据特征提出了一种融合T-Rank和Softmax的特征提取算法。该方法比传统特征提取方法在处理高维生物数据更加有效,不仅提取的特征个数较少,而且计算速度快。利用算法本文对高维银屑病基因表达谱数据进行了研究,得到了分类准确率较高的疾病诊断模型。
关键词 :高维,Softmax算法,T-Rank算法,银屑病,基因表达谱
近年来,由于科学技术的发展以及基因诊断的进步,人们对高维生物数据有了更深的认识,基因表达谱数据一次性可以获得成千上万个基因片段的表达值,然而很多疾病只与少数几个关键致病基因有关。利用特征选择算法有助于在缺乏先验知识的情况下缩小致病关键基因的候选范围,并深入研究在分子层面上致病机理。目前关于关键特征基因筛选的方法大致可以分为三类:过滤法、缠绕法、混合法 [
我们将已经有m个标记了的训练样本作为训练集,特征向量x的维度为n + 1,即
在Softmax regression中的假设函数如下:
其中θ矩阵可以写成下面的形式:
此时,系统损失函数的方程为:
其中的1{.}是一个指示性函数,即当大括号中的值为真时,该函数的结果就为1,否则其结果就为0。
Softmax regression中损失函数的偏导函数如下所示:
Softmax regression中对参数的最优化求解不只一个,每当求得一个优化参数时,如果将这个参数的每一项都减掉同一个数,其得到的损失函数值也是一样的。这说明这个参数不是唯一解,数学公式如下:
由于在实际的使用过程中一般要加入规则项,加入规则项后的损失函数表达式如下:
偏导函数表达式如下所示:
最终通过程序求得的
T-test检验方法是比较独立样本的一种假设检验方法,此方法的零假设是
同时有:
本文提出的融合T-rank和Softmax算法流程图如图1。
本实验的两个基因表达谱数据集GSE14905 [
我们删除了一些总体方差过小判别能力较低的探针集,其中在调用IQR (Inter-Quartile Range)函数时var.cutoff参数设置为0.5,其它参数为默认参数。所有的过滤步骤应用于DWD算法校正之后的数据集,最终有27336个探针集的176个样本被保留进入下一步的分析。
首先我们考虑进行数据的降维,采用Deep learning中的Softmax回归算法,该算法是Logistics回归算法推广,在求解Cost function的时候,能很好的利用L-BFGS求得系统的参数,同时,L-BFGS算法运行速度快。之所以没有直接采用Logistic回归是因为在实际应用中发现如果类别是互斥的,那么多采用Logistics回归,而类别如果是一样的,则多采用Softmax回归算法,本题属于二分类问题,明显类别是不互斥的,综上,我们采用Softmax算法进行特征提取,为了保证算法的可靠性,又融合了T-rank算法。
图1. 融合T-rank的Softmax算法流程图
为了说明特征提取的效果,我们采用常用的分类算法进行测试,本文以BP神经网络为例,进行特征提取后的分类准确率测试。
在实际中可能会出现样本不平衡的情况,如样本总体为100,其中98个是正常人,而只有2个是病人,如果算法判定所有样本均为正常人,则总的准确率仍可以达到98%,而实际上算法对病人的并不具有很好的分类准确率,为此,我们定义以下分类准确率评价指标:
(1) 样本集总体的分类准确率:
(2) 样本集中正常人群体的分类准确率:
(3) 样本集中病人群体的分类准确率:
采用Softmax此方法后,就能得到高维特征量的权重(2*27,336维),然后分别对相对应的(正常人和患银屑病的人)权重进行做差取绝对值,然后将权重依次从大到小的排列,运行20次,每次都取权重为前30的特征基因,采用专家打分算法,最终选出前10个特征基因。
将T检验应用于基因表达数据即可检验基因在不同总体样本间表达差异是否显著。通过检验同一基因在正常人与银屑病患者之间的表达是否存在着显著性差异,可以判断该基因是否有可能是银屑病的致病基因之一。在此处,我们可以对每个基因分别进行T检验,取显著性最大,即正常人与银屑病患者表达差异最大的前十个基因作为特征值。将各个基因的T值(显著性)从小到大进行排序,取排名靠前的10个特征,并于Softmax算法得到的10个特征基因取交集,如图2。
从图2也可以发现两种基因特征提取方法提取到的特征存在很大的重合性,从侧面说明了所提取的特征具有较强的稳健性。
我们将数据分成3种不同方式进行训练和测试:
方式一:以GSE14905作为训练集,GSE13355作为测试集;
方式二:以GSE13355作为训练集,GSE14905作为测试集;
方式三:GSE14905和GSE13355中各随机抽取一半作为测试和训练集
采用BP神经网络的算法,对本文提出的融合T-rank的Softmax的特征提取算法得到的8个基因进行分类准确性验证,验证结果如下表1,表2,表3。
从表1中可知,当GSE14905作为训练集,GSE13355作为测试集,其中有22044(41469_at),3280(203691_at),27604(227736_at)这三个基因得到区分银屑病人的准确率为100%。
从表2中可知,当以GSE13355作为训练集,GSE14905作为测试集时,其中依然有27604(227736_at)这个基因得到区分银屑病人的准确率为100%。
从表3中可知,当以GSE14905和GSE13355中各随机抽取一半作为测试和训练集时,其中还有9270(209720_s_at),27604(227736_at),9953(210413_x_at)这三个基因得到区分银屑病人的准确率为100%。
图2. Softmax算法与T-rank法选择出的特征基因
编号(基因名称) | Acc | BAcc1 | BAcc2 |
---|---|---|---|
11356(211906_s_at) | 97.54% | 100% | 97.03% |
6941(207365_at) | 100% | 100% | 100% |
9270(209720_s_at) | 98.36% | 100% | 98.02% |
32038(232170_at) | 88.52% | 71.43% | 92.08% |
22044(41469_at) | 100% | 100% | 100% |
3280(203691_at) | 100% | 100% | 100% |
27604(227736_at) | 100% | 100% | 100% |
9953(210413_x_at) | 97.54% | 100% | 97.03% |
表1. 方式一8个基因编号及其对应的Acc,BAcc1及BAcc2
编号(基因名称) | Acc | BAcc1 | BAcc2 |
---|---|---|---|
11356(211906_s_at) | 94.44% | 95.24% | 93.94% |
6941(207365_at) | 94.44% | 95.24% | 93.94% |
9270(209720_s_at) | 96.30% | 95.24% | 96.97% |
32038(232170_at) | 96.30% | 100% | 93.94% |
22044(41469_at) | 94.44% | 95.24% | 93.94% |
3280(203691_at) | 94.44% | 95.24% | 93.94% |
27604(227736_at) | 100% | 100% | 100% |
9953(210413_x_at) | 94.44% | 95.24% | 93.94% |
表2. 方式二8个基因编号及其对应的Acc,BAcc1及BAcc2
编号(基因名称) | Acc | BAcc1 | BAcc2 |
---|---|---|---|
11356(211906_s_at) | 96.59% | 95.24% | 97.01% |
6941(207365_at) | 97.73% | 90.48% | 100% |
9270(209720_s_at) | 100% | 100% | 100% |
32038(232170_at) | 98.86% | 95.24% | 100% |
22044(41469_at) | 98.86% | 95.24% | 100% |
3280(203691_at) | 97.73% | 90.48% | 100% |
27604(227736_at) | 100% | 100% | 100% |
9953(210413_x_at) | 100% | 100% | 100% |
表3. 方式三8个基因编号及其对应的Acc,BAcc1及BAcc2
编号(基因名称) | Average_Acc | Average_BAcc |
---|---|---|
11356(211906_s_at) | 96.19% | 96.41% |
6941(207365_at) | 97.39% | 96.61% |
9270(209720_s_at) | 98.22% | 98.37% |
32038(232170_at) | 94.56% | 92.12% |
22044(41469_at) | 97.77% | 97.40% |
3280(203691_at) | 97.39% | 96.61% |
27604(227736_at) | 100% | 100% |
9953(210413_x_at) | 97.33% | 97.70% |
表4. 综合评价所得8个基因的Acc及BAcc
最终我们综合考虑三种检测方式下各个特征基因对应不同群体的分类准确率,对测试的8个特征基因分别求出其在各个检测方式下的准确率的平均值,即
得到下述结果。
通过对表4的观察我们发现27604(227736_at)基因的平均分类准确率达到了100%。考虑到样本个数较少,为了保证模型的稳健性,同时我们也可以看到第9270(209720_s_at),22044(41469_at),9953(210413_x_at),这三个平均准确率次高的基因平均准确率也达到了97%以上,具有很大的参考价值。因此可以取27604(227736_at),9270(209720_s_at),22044(41469_at),9953(210413_x_at)这四个基因作为最终的诊断基因。
为了便于对比,我们首先将GSE14905的合并数据GSE13355采用传统的PCA (Principle Component Analysis)方法进行降维并取前8个主成分(累积贡献率达81.3%)标准化得分来代替原始数据,然后利用LDA (Linear Discriminant Analysis)方法对8个主成分同样在三种情况下进行分类验证,并计算出三种方式下的平均值准确率Average_Acc = 92.37%,Average_Bacc = 92.89%,可以看到本文算法提出的特征准确率明显高于PCA方法,更重要的是,PCA虽然也能够有效的经行降维,但其得到的是所有特征的加权综合,无法判断出究竟是哪个具体基因才是关键诊断基因,这在实际的临床诊断操作上没有本文的方法方便实用。
本文通过融合T-rank的Softmax的特征提取算法,极大程度的利用了Softmax算法和T-rank算法的优点,与传统的PCA+LDA算法相比,有着极大的优势。该算法成功解决了低样本高维数特征提取的难题,而且能成功有效的提取关键特征基因,获得较高准确率疾病诊断模型。
本文获教育部人文社科青年基金 (13YJC790105)、湖北工业大学博士科研启动基金(BSQD13050)、湖北工业大学基金项目(2015SW0204)资助。
刘哲,彭春力,陈鹏,罗幼喜. 一种融合T-Rank和Softmax的特征提取算法研究 The Research of Feature Extraction Algorithm by Integrating T-Rank and Softmax Methods[J]. 建模与仿真, 2016, 05(04): 123-130. http://dx.doi.org/10.12677/MOS.2016.54017