刘宝民,汪健冬,郭志佳,乔梦茹
(1.鲁东大学物理学院,山东烟台,264025;2.鲁东大学数学与统计科学学院,山东烟台,264025)
帕金森病(Parkinson’s disease, PD)是继阿茨海默病之后的第二大类神经系统变性疾病, 常发于中老年人群。目前全球PD患病率约405/10万,预计至2030年我国患病人数将达到494万人[1],因此准确诊断PD越具有重要意义。
国内对于深度学习与帕金森疾病诊断的研究,根据研究的内容,大致可分为两个方面:深度学习在医学影像上的应用,如王洋等人[2],根据卷积神经网络对于MRI图像进行研究、并进行反卷积处理,张巧丽等人[3]使用深度学习方法实现对帕金森疾病、多系统萎缩症和健康人群的诊断;深度学习在患者行为表现方面的识别,如张颖等人[4]提取声纹特征、DNN识别并分类的方法用于区分PD患者和健康人,焦嘉烽[5]提出深度学习与声谱图的帕金森症检测方法,王金甲等人[6]基于卷积神经网络进行特征学习并识别出步态冻结,李彦琳等人[7]设计了一种基于DCNN的步态识别方法,用于PD患者的步态分类和严重程度等级评定。
尽管有了很多卓有成效的研究,但是结合深度学习,在遗传基因方面对于帕金森疾病的研究并不常见,缺乏遗传学角度对帕金森疾病成因的分析。因此,本文在使用LSTM网络提取SNP数据特征的基础上,使用不同的分类器,对于提取后的特征进一步分类,实现对于基因数据在帕金森疾病诊断上的应用。
首先对于SNP数据进行预处理:质量控制、独热编码、时间序列化处理。在对数据预处理之后,我们对于基因数据使用LSTM提取特征。对于LSTM提取出的特征分别使用LSTM(Linear Classifier)、XGBoost算法、LightGBM算法、SVM算法、随机森林分类器对结果进行对比,如图1所示。脚本使用Python编程语言开发,仿真在Intel Core i5 2.3 GHz处理器、12Gb随机存取存储器(RAM)和2核的机器上执行。
图1 LSTM-SVM算法流程图
长短时记忆网络是改进后的循环神经网络,它在原有RNN的基础上,增加了三个门控单元,用于控制信息传递,有效解决了长序列在输入RNN后的梯度消失或爆照缺陷[8]。由于遗传基因具有一定的时序性,即前面的数据对后面的数据有影响,而LSTM利用专门进行记忆的存储单元,保存记忆的同时避免了梯度消失与爆炸的现象,较为适合时间序列化的基因数据的特征提取。
根据输入数据,将数据所在的特征空间的超平面作为决策边界,可以把学习目标分为两类,同时使任意样本点到超平面距离大于1[9]。通过求解最大边距超平面,结合约束条件,将硬边界SVM转化为二次凸优化问题求解。其中,LSTM提取出的特征,作为输入数据X,进行训练。
本文中的SNP数据来自PPMI(Parkinson’s Progression Markers Initiative)数据库(ida.loni.usc.edu),共选取了533个测试对象,包含167位正常人和366位患者。测试对象共有349位男性,184位女性,年龄分布为31岁至85岁,
基因数据预处理包括质量控制、独热编码与时间序列化处理。本文获取的SNP数据记录每个测试对象位于各条染色体上某一位点发生突变的情况。在对基因数据做相关分析时,需要对其进行质量控制:首先,统计533个测试对象发生变异的位点,对其计数共6851个位点;其次,进行纯杂合处理,对SNP数据重编码,记隐形纯合(即0/0)为1,杂合(即0/1)为 2,显性纯合(即 1/1)为 3,存在个别情况(即 1/2)记为4,染色体上出现位点信息缺失记为0;然后,对测试对象与SNP基因位点的检测和筛选,如果出现5%测试对象中同时缺失某个SNP位点,那么就去掉该SNP位点,如果某个测试对象缺失5% SNP位点,那么就去掉该测试对象;最终,保留533个样本对象,76个SNP位点。
由于后续处理使用LSTM网络提取特征,需要对独热编码后的基因数据进行时间序列化处理。对于j个特征的样本,这里将每一个样本的基因特征都转化为长为m的序列,序列中每一元素的特征维度是n,满足m*n=j。
由于预处理后的基因数据维度j=256,维度不大,设置hidden_size=256,num_layers=3。为了增强特征提取的可操作性,设置两层全连接层,第一层用于特征提取,第二层用于LSTM模型准确率判断。时间序列化的m切割份数与输出特征维度作为超参数进行调节。在使用SVM对提取的特征进行分类时,同样需要对超参数进行调节。这里使用网格搜索来确定最佳参数,以准确率作为参数调节依据。
本文使用十折交叉验证进行诊断任务的评估。其中,随机抽取10%的受试者作为测试样本,其余受试者作为训练样本。以平均准确率作为最终模型的表现结果。
为了评估模型性能,引入了多个经典分类器:XGBoost算法、LightGBM算法、随机森林算法,作为对比,构建LSTMXGBoost、LSTM-LightGBM、LSTM-RF三个模型。同时直接使用LSTM进行分类,作为对照组。我们还引入了PCA算法,作为特征处理的另一类方式,用于比较,对于该方法,我们对SNP基因数据进行质量控制与独热编码处理,跳过时间序列化处理,直接进行数据降维,与分类器结合,形成:PCA-XGBoost、PCA-LightGBM、PCA-SVM、PCA-RF四个模型。
根据图2可知,本文使用的模型方法表现最优,准确率达到了0.73。对于同一特征提取方法而言,SVM分类效果最好,这可能与SVM能够求解凸优化问题的全局最小值、是一个小样本学习方法有关;根据图2可知,对于同一方法而言,LSTM对基因数据特征提取比PCA特征降维的表现更好。
图2 不同模型准确率间的比较
本文中我们设计了新的帕金森疾病诊断深度学习框架,该框架能够学习基因数据的潜在特征;潜在特征的提取后,SVM进行分类。基于PPMI数据的实验结果表明,LSTM-SVM算法诊断帕金森疾病的准确率高于使用PCA-SVM、LSTM-RF等方法。