基因芯片技术的出现, 使得人们能够同时监控成百上千的基因表达水平.但对于生物信息学来说, 如何有效地利用这些基因表达数据来预测和诊断疾病也具有很大的挑战性.肿瘤分类是其中一种典型的值得关注的应用, 近年来已经有很多的研究证明了其可行性[1-5].
一般来说, 基因表达谱数据来源于临床试验, 而在临床试验中, 试验样本的类分布情况是不确定的, 这就使得表达谱数据往往具有比较明显的不平衡性.如文献[1]中所用的结肠癌数据集(Colon), 总共具有62个样本:其中40个为癌症样本, 22个为正常样本.而且数据类型的不平衡性不仅仅是表现在健康和病变样本之间, 也有在不同肿瘤样本之间进行分类时出现的类型不平衡, 例如文献[4]中的Lung-Brigham数据集, 其中MPM样本31个, ADCA样本150个.所以可以看出基因表达谱数据集中的类不平衡问题是普遍存在的.而当要分类的数据具有复杂的类分布时, 由于一般的学习算法都是默认地将数据假设为类平衡分布或者是相同的错分代价, 而使得分类结果更偏向于多样本类别[6].
对于不平衡数据分类问题, 现如今主要采用的方法有:过采样、欠采样以及代价敏感方法等.过采样是指对少数样本类(少类)的样本重复采样以降低数据的不平衡性, 如文献[7]中的少类样本随机重复采样(oversampling), 文献[8]中采用SMOTE方法对少类样本进行过采样处理等, 但过采样比较难以区分重复采样的是有益样本还是冗余样本, 这就使得采样的结果得不到有效保证;欠采样是指对多数样本类(多类)的样本进行部分采样以使数据尽量达到平衡, 如文献[9]中基于聚类融合欠抽样的改进AdaBoost分类算法, 就是采用欠采样的方式来处理数据的不平衡问题.欠采样会导致样本信息的丢失, 基因表达谱数据的样本信息普遍较少, 故不适合做欠采样处理, 而且欠采样也具有与过采样相同的问题:难以区分冗余和有益样本数据;代价敏感学习是通过对少类样本赋予更多的错分代价方式来处理不平衡数据问题, 如文献[10]中的代价敏感超网络算法, 文献[6]中的加权极限学习机算法.总之, 代价敏感学习能够在保全所有样本信息的情况下, 通过赋予一个代价敏感错分矩阵来处理不平衡数据问题, 但是该方法的难点在于难以确定一个有效的代价敏感错分矩阵.本文所提出的算法是在文献[6]提出的加权极限学习机基础上增加类别权重值的可调性, 使其能够更好处理数据的不平衡性, 并将其应用于基因表达谱数据.
1 方法 1.1 基因特征提取算法每个基因表达谱样本都记录了组织细胞中所有可测基因的表达水平, 这使得每个样本都具有很高的维度, 但实际上只有其中的少数基因包含了样本的某种分类信息, 与样本的类别有关, 这些特殊的基因被称为分类特征基因.而分类特征基因的选取是建立有效分类模型的关键之一.目前, 已经有很多有效的特征提取算法应用于基因表达谱数据.例如文献[4]中的ReliefF算法, 文献[11]提出的GBC算法, 文献[12]中的分层特征提取算法等.ReliefF算法原理较为简单, 而且已在其他文献中证明其具有较好的性能, 所以本文采用该算法对数据集进行特征提取.
ReliefF是在Relief算法的基础上提出的利用特征之间的依赖强度来估计特征质量的算法.该算法的基本思想在于调整权重矩阵W=[w(1), w(2), …, w(m)]来获得特征之间更多的关联, 从而用来更好区分不同类别.
算法随机选出一个样本x, 然后分别在其同类样本(hj)和不同类样本(mj)中分别选出k个最近邻域的样本对权值进行更新.更新方程为
(1) |
其中:P(c)表示类别c的先验概率;P(class(x))表示包含x样本的类别的先验概率;dist(f, x, hj)和dist(f, x, mj)分别表示基于f特征, 样本x和同类样本hj及不同类样本mj之间的距离.
在重复运算t次之后, 算法最终可以得到每一个特征的相关系数权重值, 然后利用该权重值, 从原始样本m个基因中提取权重值排名靠前的g个基因作为特征基因(g < m).
1.2 评价指标通常情况下, 总精度能够用来很好地评价一个分类器的性能.然而对于不平衡数据, 这种评价方法有可能会忽略少样本类的低识别率[6], 而过多加大多样本类别带来的影响.为了考虑到每一个类别的识别率, 本文采用G-mean评价指标方法.在计算每一个类别的准确率之后, 然后取这些准确率的平方根.二分类问题举例:
(2) |
其中TP, TN, FP, FN分别表示真阳, 真阴, 假阳和假阴.敏感性(sensitivity)和特异性(specificity)见式(3):
(3) |
极限学习机(extreme learning machine)[13]是一种基于最小二乘, 拥有快速训练和较好泛化能力的单隐层前馈神经网络算法(SLFNS).它已经在许多肿瘤诊断应用中表现出很好的性能[14-16].加权极限学习机(weight extreme learning machine)是在ELM的基础上引入加权矩阵, 对每一个样本进行加权, 减少样本类间可能存在的不平衡性, 从而提高样本总体的识别率.
对于包含N个样本的数据集{(xi, ti)|xi∈Rn, ti∈Ro, i=1, 2, …, N}, 其中xi为单个样本, ti为目标向量, 那么包含n个神经元结点的SLFN, 假设其激励函数为g(x), 则其模型可表示为
(4) |
其中
使
(5) |
则输出链接权重θ可以通过求解线性系统的最小二乘解得到:
(6) |
其中, H+为隐藏层结点输出的Moore-Penros广义逆矩阵.为了提高分类器的稳定性, 本文采用正交投影分解法求解θ.然后对不同类别的样本进行不同的权值加权, 则WELM算法求解隐藏层输出权重可以表示为
(7) |
其中W为一个对角矩阵, 对角线的每一个元素代表相应样本的权重值;c为正则化参数, 在文献[6]中已证明c值较小时(小于20)分类器的性能会很差, 而当c取值大于20时, 分类器的性能表现得很稳定, 所以本文c值都取210.
文献[6]中只是简单考虑到用样本数量来确定权值, 本文为了提高算法的分类精度以及使算法的适用性更广, 引入一个调整参数.初始权重值设定为该类样本的数量的倒数.
(8) |
其中#(ti)为第i个训练样本对应类的样本总量.假设wa和wb分别代表多类和少类的样本初始化权值, w′a和w′b为本文所用权值.
(9) |
其中参数α的确定将在下文详细介绍.本文所提出算法流程如下:
1) 将实验数据分为训练集(Tr)和测试集(Te), 然后将训练集数据分为参数测试集(P-Tr)和参数寻优集(P-Op);
2) 使用参数测试集(P-Tr)建立训练分类器, 初始化权值矩阵为式(9), 参数α=0, 正则化参数c为210;
3) 使用参数寻优集(P-Op)测试步骤2) 建立的分类器, 计算α取值在0到1之间变动时分类器G-mean值, 并选取G-mean值最大时的α值;
4) 使用步骤3) 确定的参数α值和训练集(Tr)建立分类器, 然后使用测试集(Te)测试该分类器性能.
2 实验为了验证本文提出算法的有效性, 在实验中, 将使用三个基因芯片数据集分别采用本文算法, 以及SVM, ELM和文献[6]的算法建立分类器, 然后用G-mean评价指标对每一个分类器的性能进行评价.数据集1为急性白血病数据集, 该数据集包含2 096个样本, 54 675个基因, 14个类别的数据, 本文只讨论二分类问题, 所以选取其中AML正常核形(351个样本)和AML复杂异常核形(48个样本)作为建立分类器的原始数据集.数据集2是Kent Ridge生物医学数据库的肺癌数据集, 该数据集包含181个样本, 12 533个基因, 其中31个恶性胸膜间皮瘤(MPM)样本, 150个恶性腺瘤(ADCA)样本.表 1给出了这两个数据集的简要描述, 可以看出以上两个实验数据集其数据都具有较大不平衡性.为了验证本文算法对于平衡数据集也有较高的支持度, 实验中还加入了第3个数据集(前列腺癌数据集), 该数据集总共包含136个样本, 每一样本有12 600个基因特征值.其中癌症样本为77个, 健康样本为59个.前列腺癌数据集较急性白血病和肺癌数据集平衡性高很多.
在实验过程中, 首先在总样本中随机选出2/3作为测试集(Tr), 其余1/3作为训练集(Te).本文提出算法为了确定参数α, 在测试集中再随机选出1/2作为参数训练集(P-Tr), 余下为参数寻优集(P-Op).同时为了证实本文算法的性能, 也使用SVM, ELM和文献[6]的算法分别对该数据进行分类, 然后和本文算法进行对比.这里假设少类为正标签, 多类为负标签, 则测试结果中的sensitivity表示的是少类的识别率, specificity表示的是多类的识别率.
2.1 急性白血病数据集由于急性白血病数据集每个样本有54 675个特征值, 但并不是每个特征值都对分类具有帮助, 且样本维数过高会降低算法的学习速度, 所以需先将测试集数据采用ReliefF算法进行特征值提取.图 1为提取的特征值在WELM分类算法下的特异性值.
从图 1可以看出, 当特征值数量超过1 000之后, 其特异性值较为稳定.因此, 可将测试集每一个样本均采用ReliefF算法提取1 000个特征值来建立分类器.
图 2表示WELM在隐藏层神经元个数从0~2 000下分类精度G-mean的数值变化.
从图 2中可以看出当神经元个数超过800之后, G-mean的数值已比较稳定, 则隐藏层神经元个数可确定为1 000.
从表 2可以看出参数α取值越大(多类的权值越小), 本文算法的敏感性就越高, 相对的特异性变低, 即对少类识别率更好, 对多类识别率降低.因此, 可以认为能够取到一个适当的α值, 使得少类识别率大幅提高, 而多类识别率保持较高, 从而使得G-mean值取得最大值.
图 3,图 4和图 5分别表示α取值范围在0.99到0.999 9之间时P-Op specificity值、P-Op sensitivity值和P-Op G-mean值.从图中可以确定参数α的最佳值为0.997~0.998.
通过P-Op确定参数α取值之后, 则将全体训练集用于算法训练, 然后用Te测试集数据来测试算法的性能, 为了支持实验结果的可信性, 实验中使用了3次3折交叉验证法, 然后求实验结果的平均值.从表 3中可以看出几个算法的总精度都能达到很高的程度, 但是少类识别率和G-mean值是本文所提出的算法最好, 文献[6]算法其次.
本文算法需要确定参数α, 耗费的时间较其他算法有一定增加, 但本文算法应用场景并不属于实时性场景, 所以算法用时间上的消耗来换取分类准确度的提高是可以接受的.
2.2 肺癌数据集肺癌数据集共包含181个样本, 12 533个特征值, 其中31个恶性胸膜间皮瘤(MPM)样本, 150个恶性腺瘤(ADCA)样本.
从表 4中的值可以看出, SVM, ELM, 文献[6]的算法都不能使少类识别率达到1, 而本文的算法通过调整参数α达到该效果.
前列腺癌数据集总共包含136个样本, 每一样本有12 600个基因特征值.其中癌症样本为77个, 健康样本为59个.前列腺癌数据集较急性白血病和肺癌数据集平衡性高很多, 选择该数据集是为了验证本文算法对于平衡数据集也有较高的支持度.该样本的数据分配方法与前两个数据集相同.
从表 5可以看出, 本文算法在总体的分类准确度远远高于其他算法, 证明本文算法对于平衡数据集也具有较好的性能.
WELM使用加权的方式处理数据集, 可以提高不平衡数据集中少类样本的识别率.本文在WELM的基础上引入参数α, 通过调整参数α的值, 来进一步提高少类的识别率, 从而提高分类器整体性能.虽然改进的算法分类在效率上有些降低, 但是算法本身具有比其他算法更好的性能, 这在肿瘤识别和分类问题上是更重要的.同时本文算法能够在不平衡数据和平衡性较高的数据上都保持良好的分类性能, 而且对于不平衡数据集的分类, 本文算法明显优于SVM, ELM和文献[6]的算法.
[1] | Lee K, Man Z H, Wang D H, et al. Classification of microarray datasets using finite impulse response extreme learning machine for cancer diagnosis[J]. IEEE Industrial Electronics Society, 2011, 22(5): 2347–2352. |
[2] | Zong W W, Huang G B, Chen Y Q. Weighted extreme learning machine for imbalance learning[J]. Neurocomputing, 2013, 101(3): 229–242. |
[3] | Su Y R, Wang R J, Li C X, et al.A dynamic subspace learning method for tumor classification using microarray gene expression data[C]//7th International Conference on Natural Computation.Shanghai, 2011:396-400. |
[4] | Zhang X, Guan N Y, Jia Z L, et al. Semi-supervised projective non-negative matrix factorization for cancer classification[J]. Plos One, 2015, 10(9). |
[5] | García V, Sánchez J S. Mapping microarray gene expression data into dissimilarity spaces for tumor classification[J]. Information Sciences, 2015, 294: 362–375. DOI:10.1016/j.ins.2014.09.064 |
[6] | Zheng C H, Ng T Y, Zhang L, et al. Tumor classification based on non-negative matrix factorization using gene expression data[J]. IEEE Transactions on Nanobioscience, 2011, 10(2): 86–93. DOI:10.1109/TNB.2011.2144998 |
[7] | Bolón-Canedo V, Sánchez-Marono N, Alonso-Betanzos A. Distributed feature selection:an application to microarray data classification[J]. Applied Soft Computing, 2015, 30: 136–150. DOI:10.1016/j.asoc.2015.01.035 |
[8] |
李克文, 杨磊, 刘文英, 等.
基于RSBoost算法的不平衡数据分类方法[J]. 计算机科学, 2015, 42(9): 249–252.
( Li Ke-wen, Yang Lei, Liu Wen-ying, et al. Classification method of imbalanced data based on RSBoost[J]. Computer Science, 2015, 42(9): 249–252. DOI:10.11896/j.issn.1002-137X.2015.09.048 ) |
[9] |
张枭山, 罗强.
一种基于聚类融合欠抽样的不平衡数据分类方法[J]. 计算机科学, 2015, 42(B11): 63–66.
( Zhang Xiao-shan, Luo Qiang. Unbalanced data classification algorithm based on clustering ensemble under-sampling[J]. Computer Science, 2015, 42(B11): 63–66. ) |
[10] |
郑燕, 王杨, 郝青峰, 等.
用于不平衡数据分类的代价敏感超网络算法[J]. 计算机应用, 2014, 34(5): 1336–1340.
( Zheng Yan, Wang Yang, Hao Qing-feng, et al. Cost-sensitive hypernetworks for imbalanced data classification[J]. Journal of Computer Applications, 2014, 34(5): 1336–1340. DOI:10.11772/j.issn.1001-9081.2014.05.1336 ) |
[11] | Alshamlan H M, Badr G H, Alohali Y A. Genetic bee colony (GBC) algorithm:a new gene selection method for microarray cancer classification[J]. Computational Biology & Chemistry, 2015, 56: 49–60. |
[12] | Nguyen T, Khosravi A, Creighton D, et al. Hierarchical gene selection and genetic fuzzy system for cancer microarray data classification[J]. Plos One, 2015, 10(3): e0120364. DOI:10.1371/journal.pone.0120364 |
[13] | Huang G B, Zhu Q Y, Siew C K. Extreme learning machine:theory and applications[J]. Neurocomputing, 2006, 70: 489–501. DOI:10.1016/j.neucom.2005.12.126 |
[14] | Sánchez M J, Cruz R M, Fernández N F, et al.On the suitability of extreme learning machine for gene classification using feature selection[C]// International Conference on Intelligent Systems Design & Applications.Sanya, 2010:507-512. |
[15] | Baboo S S, Sasikala S. Multicategory classification using an extreme learning machine for microarray gene expression cancer diagnosis[J]. Communication Control and Computing Technologies, 2010, 4(3): 748–757. |
[16] | Bharathi A, Natarajan A M.Microarray gene expression cancer diagnosis using machine learning algorithms[C]//International Conference on Signal & Image Processing.Quebec, 2010:275-280. |