APP下载

基于Lasso-RFE的乳腺癌预后仿真

2022-02-09刘嘉欣王宏伟

计算机仿真 2022年12期
关键词:特征选择乳腺癌分类

刘嘉欣,王宏伟,王 佳

(1. 新疆大学电气工程学院,新疆 乌鲁木齐 830000;2. 大连医科大学基础医学院,辽宁 大连110041;3. 艾美汉信疫苗(大连)有限公司,辽宁 大连 116100)

1 引言

乳腺癌是全球范围内,女性患癌中最常见的癌症,并且其发病率呈现出逐年升高的趋势。根据世界卫生组织统计,仅2018年,全球新发乳腺癌 210 万例,发病率、死亡率均居女性癌症榜首[1]。以我国2011年为例,中国女性乳腺癌发病人数约24.9万,发病率37.86/10万,且其发病率与死亡率仍呈现一个上升趋势[2]。期望通过精准的乳腺癌预后诊断,实现高效、个性化治疗,进而提高患者五年生存率,提升患者生存幸福感。

当前对影响乳腺癌预后的因素研究,大致分为以下几个方面:一是根据遗传学与人口统计学详解的预后因素研究。如A. R. Carmichael指出[3],肥胖与乳腺癌复发存在一定关系,并且体重控制应作为防止乳腺癌复发策略之一;二是根据病理学特征,治疗手段等进行预后分析。例如CH Koh,N Bhoo-Pathy等[4],对中性白细胞与淋巴细胞比值,血小板与淋巴细胞比值在乳腺癌预后中的作用进行研究,证明,该比值可作为乳腺癌预后的特征,存在附加价值;三是根据基因数据,选择影响基因,进行预后预测。例如Laura J. van ′t Veer,Hongyue Dai等[5],通过对117例乳腺癌患者基因微阵列数据分析,证明相较于当前使用的临床参数,基因表达谱在乳腺癌预后方面表现更为优异。

相比当前临床使用的预后指标,如淋巴结状态、肿瘤因素等,存在一定的不确定性,基因数据分析更加的准确,可靠,且具有更强的泛化能力因此,对基因数据进行分析,实现乳腺癌预后诊断,十分具有研究价值。

但与此同时,基因数据也被称为高维、冗余数据。而在癌症的预后诊断中只需要少量的特征基因,而基因数据具有庞大的搜索空间。因此如何得到精简、高效特征基因,进而实现更为精准的预后预测,十分必要。随着机器学习算法不断地发展,以及多学科的融合,使得乳腺癌基因表达数据的使用更加多样、准确和高效。如Kavitha K R等[6],使用基于相关支持向量机的递归多特征消除算法与虚拟基因,实现对基因数据的乳腺癌预测。易丛琴等[7],提出基于模糊支持向量机的乳腺癌基因数据特征提取,有效提高了基于乳腺癌基因数据的分类准确率。秦璞等[12],对t-检验后的基因表达数据进行FDR(假发现率)以及随机森林降维,后建立分类预测模型,发现特征排序中较靠前基因均与三阴性乳腺癌迁移、预后相关。

但是,上述研究仍存在一定问题。如理论研究大多基于数据集样本比例均匀条件下,实际样本中,多存在样本比例不平衡的情况,不平衡样本对算法结果是否造成影响,如何减少其带来的影响;模型大都选择一次完成降维,易忽略部分特征,且所提取特征是否足够稳定、简洁;其次,去除冗余特征与特征提取是否可以同时进行。

基于针对以上问题,本文进行基于Lasso-RFE的高维不平衡数据的乳腺癌预后分类研究。对公开数据库美国国立生物技术信息中心(NCBI,National Center for Biotechnology Information)数据库进行分析,建立乳腺癌预后模型。首先,使用Wilcoxon-test对基因表达数据进行差异表达分析;其次,对算法采样方式进行改进,后使用Lasso-RFE算法,实现不平衡基因表达数据的降维与稳定特征选择。最终,使用支持向量机进行分类预测,建立37个特征基因的乳腺癌预后预测模型,对乳腺癌五年预后结果进行预测,结果准确率达到94%。与其它传统模型对比,本模型在敏感性、准确率方面得到提高。

2 基于Lasso-RFE特征提取的SVM预测模型

2.1 基于Lasso的稳定特征提取

2.1.1 基于数据层面的平衡数据构建

乳腺癌基因表达数据中,多存在阳性样本数量较少的情况。而常用数据挖掘算法,对多数类样本更加敏感,因此无法得到较好的结果[8]。为避免或减少因样本不平衡对特征基因选择造成的误差,从数据层面出发,通过改变采样方式,对数据进行重构。根据采样方式不同,重构方式可分为过采样,欠采样,双采样,以及人工合成数据[9]。

过采样通过随机过采样或基于先验信息,对少数类样本进行重复,达到平衡样本比例的目的。欠采样,即对多数类样本,采用与过采样相同方案,进行无放回采样。双采样则是对少数类样本进行过采样,对多数类样本进行欠采样的一种混合采样方式。人工合成数据利用过采样技术,对少类样本数据通过SMOTE等方法,进行人工合成。

本文选择双采样的方式对基因表达数据的训练数据进行重构,即对其中少数类阳性性样本进行过采样,多数类阴性样本进行欠采样。

2.1.2 Lasso

基因数据具有特征冗余的特点,为实现预测,避免维数灾难,需要对其进行降维及特征选择。稀疏模型可以去除大量的冗余特征,留下与标签高度相关的特征,实现降维的目的。Tibshirani[10]通过将岭回归中的L2惩罚项替换为L1惩罚项,最小二乘部分保持不变,得到了Lasso(Least Absolute Shrinkage and Selection Operator),实现模型的稀疏化,具有同时实现特征选择与空间降维的优点。

对于双采样后的训练数据数据,其线性回归模型为

Y=Xθ+ε

(1)

(2)

Lasso与最小二乘法相比,不具有显式解,可通过坐标下降法迭代得到其解。则求解Lasso回归系数θj更新公式可表示为

(3)

2.1.3 基于Lasso-RFE的特征提取

各个特征对模型重要程度不同,为使得模型拥有更好的鲁棒性,选择递归式特征消除算法(Recursive Feature Elimination,RFE)对特征基因进行筛选。基本思想为,使用特征向量对机器学习模型进行训练,得到相应特征权重,移除权重较小特征。使用剩余特征进行新一轮训练,直至全部特征均被移除。在本文中,使用基于Lasso的RFE改进算法。在实现特征选择的同时去除冗余特征[14],具体算法描述如下:

1)假定初始状态,特征子集包含q个特征向量,训练Lasso估计模型,重复运行 L次;

2)计算各特征出现频次,作为当前特征权重,移除权重最小特征,更新特征子集;

3)重复步骤1)-2),直至特征子集无变化。

5)重复运行步骤4)直至当前特征子集剩余一个特征向量。

最终得到多组特征子集,分别对其训练分类模型,以分类准确率作为标准,选择最优子集。

2.2 基于SVM的分类预测

相较于其它分类算法,支持向量机对小样本数据分类,具有良好的鲁棒性与泛化能力,与基因表达数据分类需求相同。因此选择支持向量机算法,实现对标签的分类预测。

(4)

(5)

(6)

2.3 评价准则

传统评价方式多选择准确性作为分类标准,相对不平衡数据而言,准确率具有一定欺骗性。本文选择混淆矩阵作为评价准则,如表1所示,可以根据真实标签,以及预测标签评估模型的性能。根据混淆矩阵可得到以下评价标准:

1) 敏感性,即样本为阳性,预测结果也为阳性的几率,表示为TP/(TP+FN);

2) 特异性,即样本为阴性,同时预测结果也为阴性TN/(FP+TN);

3) 假阳性率,即样本为阴性,预测结果为阳性概率,表示为FP/(FP+TN);

4)假阴性率为(1-假阳性率)。

同时,采用ROC曲线(receiver operating characteristic curve),即受试者工作特征曲线,从泛化性能角度出发,评价模型泛化性能。其中,横坐标为假阳性率,纵坐标为真阳性率,表示为TP/(TP+FN)。

表1 预测结果混淆矩阵

3 实验结果与分析

3.1 数据下载和实验设计

本文收集来自美国国立生物技术信息中心的基因组数据库(https:∥www.ncbi.nlm.nih.gov/)基因芯片数据GSE1456,包含159个样本(其中40个阳性样本,119个阴性样本),41683个特征,算法流程框图如图1所示。

图1 算法流程图

3.2 数据预处理与差异性分析

基因表达原始数据具有数据维度高,冗余多,不规范,数量级不一致的特点,无法进行直接进行特征提取,需进行数据预处理,如下:

1) 删除重复样本,即同一个GEO编号对应多个样本;

2) 阵列质量检查;

3) 进NUSE(Normalized Unscaled Standard Errors)分析,删除被归为异常值样本;

4) 对数据进行归一化处理(包含分位数归一化);

5) 进行主成分析,若一对样本相关性大于0.9,判定为复制样本,随机删除其中一个样本;

6) 检查探针ID与ENTREZ_GENE_ID,若一个ENTREZ_GENE_ID对应多个探针,则选择表达值方差较高的一组。

通过数据预处理,筛选符合要求的样本数量为147个样本(其中33个正例,114个反例),基因特征为12750个。

高维基因数据中,存在部分特征基因对不同类型标签,不具有显著差异。因此,使用Wilcoxon秩和检验对预处理后的基因数据进行差异性分析[13],筛选对标签具有显著表达差异的特征基因,为后续特征选择做好准备。

假定显著性水平为0.05,使用Wilcoxon秩和检验对特征基因进行差异性分析,即判断特征基因阳性样本表达值与阴性表达值是否具有显著差异。当p值<0.05,即表达值分布不同,具有差异性;若P值>0.05,则表达值分布一致,做删除处理。经过差异性分析,共2542个特征基因满足。

3.3 基于改进Lasso-RFE算法的稳定基因筛选

为避免小类样本对机器学习算法造成的不稳定以及敏感性较差现象。分别对训练数据使用过采样、欠采样、双采样以及人工合成法进行重构。并对其使用Lasso算法进行稳定特征选择,后使用支持向量机模型进行分类。对表2分类模型特异性、敏感性进行对比,最终选择双采样对训练数据进行处理。训练数据经双采样,其样本比例如表3所示。

表2 数据处理方式对比

表3 样本比例对比

对双采样后的基因表达数据,使用本文2.1.3节中所示Lasso-RFE算法对无关特征及冗余特征进行消除。其中,Lasso估计使用k折交叉验证,估计最优λ,得到一系列可调节参数λ与二项式偏差对应关系,如图2所示。通过实验发现,当特征数量远大于样本数量时,由于交叉验证选取样本存在随机性,最优λ与随机划分的样本相关,选择样本发生改变,最优λ随之变化,进而特征选择发生改变,如表4所示。

为避免最优λ改变带来的特征选择变化,得到稳定的特征选择结果,多次运行Lasso,根据特征出现频次进行选择,出现频次越高,即特征越重要。因此,使用Lasso-RFE算法时,均重复运行Lasso500次,利用10折交叉验证确定最优λ。最终,得到多个特征子集。

图2 Lasso确定可调参数过程图

表4 可调参数对照表

根据Lasso-RFE算法得到的候选特征子集,使用支持向量机训练分类模型,可得一系列特征子集与分类模型准确性对应关系。如表5所示,可知使用37个特征基因进行训练时为最优点。分别是EIF2B1,TOR1A,SMAD4,CREBZF,ATG13,LSM1,SKP2,JUND,CEP164,CA3,ZNF211,UBFD1,LRP2,NMU,SEMA3F,CRISP3,ESM1,RPS14,CBR1,NFIX,EFCAB11,ZFP36L1,MT2A,ZNF259P1,DYNLRB1,SSBP3,PLEKHJ1,USP16,TRIAP1,REEP4,RPL26L1,DNAJC12,KLHL2,HEATR3,L2HGDH,HOXC8,SCIN。

表5 特征子集与分类模型准确性对应关系

3.4 支持向量机分类预测研究

使用未进行双采样的训练数据数据(包含2542个特征),分别训练随机森林、支持向量机、Adaboost、KNN分类器;并使用测试样本对分类器进行验证,结果如表6所示。实验表明,当数据处于高维状态时,随机森林、支持向量机分类器无法有效对阳性样本进行分类,Adaboost、KNN分类器虽拥有较好的效果,但特征存在大量冗余,无法满足使用少量特征基因进行预后诊断的需求。

表6 预处理后数据分类结果

而本文通过使用Lasso-RFE对特征基因进行筛选,最终得到37个特征基因,建立SVM分类模型,可更加精准实现乳腺癌预后预测。其中,支持向量机核函数选择径向基函数,最终得到43个支持向量。经测试集检验,根据分类结果混淆矩阵,如表7所示,可得模型敏感性为0.82,特异性为0.97,分类准确率可达94%。且根据图3所示ROC曲线,可得AUC面积为0.923,证明该分类器具有良好分类性能。

表7 分类结果混淆矩阵

图3 支持向量机ROC曲线

3.5 实验结果分析

为更加全面评估模型的性能,本文采用不同的特征选择、预后预测建模方法进行乳腺癌预后预测分析,如表8所示。

根据表8,未进行双采样时,算法敏感性较低,模型无法对阳性样本进行很好的辨别;虽然,改变SVM分类阈值后敏感性显著提高,但是牺牲了特异性,模型无法对阴性样本进行很好的分类。因此,可知在使用Lasso估计实现特征选择时,易受不平衡样本比例影响。对输入数据进行双采样后,样本比例不平衡现象得到改善,模型敏感性显著改善,具有显著优势。相较于一般Lasso算法,本文提出的Lasso-RFE有效简化了模型,实现了稳定、准确的特征选择,有效提高了模型准确率。相较于传统Lasso-SVM模型,模型敏感性,准确率均得到了改善,实现了更加简洁、准确的乳腺癌预后预测。

表8 各模型对比

4 总结

本文建立基于改进Lasso-RFE的SVM乳腺癌预后预测模型,本模型根据乳腺癌患者基因表达数据,对未来五年是否复发进行预测。模型通过双采样,有效减少了由于比例样本不平衡对实验结果带来的影响;利用改进Lasso-RFE算法,实现了稳定的特征提取,避免一次性大规模降维带来的信息丢失;相较于传统Lasso特征提取,改进Lasso-RFE有效提高了分类模型敏感性、准确率。本文为相似数据类型提供了新的处理思路。此外,模型结果可作为进一步研究乳腺癌对基因表达数据影响的基础,对乳腺癌的临床个性化治疗具有重要意义。

猜你喜欢

特征选择乳腺癌分类
绝经了,是否就离乳腺癌越来越远呢?
分类算一算
乳腺癌是吃出来的吗
分类讨论求坐标
胸大更容易得乳腺癌吗
数据分析中的分类讨论
别逗了,乳腺癌可不分男女老少!
教你一招:数的分类
Kmeans 应用与特征选择
联合互信息水下目标特征选择算法