李长胜,王瑜,肖洪兵,邢素霞
北京工商大学计算机与信息工程学院食品安全大数据技术北京市重点实验室,北京100048
阿尔茨海默症(Alzheimer's Disease,AD)是老年人中最常见的疾病之一,AD患者数量的增长不断加剧家庭和社会的负担,在早期阶段开展该疾病的预防和治疗是最有效的[1]。因此,AD的早期诊断意义重大。传统的AD临床诊断方法过程复杂,取决于临床病史和临床评估,检查周期长[2]。神经影像学可以测量AD患者脑部的病理性变化,在过去的十年中,这些措施已经越来越多地成为诊断和预测的工具,一个有效的计算机自动诊断系统可以很好地起到疾病辅助诊断的作用[3]。
伴随着神经影像学技术的飞速发展,核磁共振成像(MRI)技术作为一种新兴的医学成像技术在临床医疗方面得到了广泛的应用,通过结合机器学习的方法,对MRI数据进行分析,从而达到辅助医生对AD患者进行诊断的目的。其中结构磁共振成像(sMRI)数据较好地反应了脑组织的形态学特征[4],而静息态功能磁共振成像(fMRI)反映了大脑中各脑区的激活状态[5]。研究表明,AD患者的大脑功能连接网络与正常人有明显的差异[6]。2016年,Guo等[7]通过实验证明小脑的萎缩与AD等常见神经疾病的关系。因此,本研究通过对被试的fMRI图像数据提取包括小脑在内的全脑功能连接矩阵作为初始特征,使用核主成分分析(Kernel Principal ComponentAnalysis,KPCA)方法降维,并结合机器学习方法,实现对AD患者、轻度认知障碍(Mild Cognitive Impairment,MCI)患者和正常对照组(Normal Control,NC)的分类,从而准确地对被试的患病情况进行判别,以达到辅助诊断的效果。
本实验所收集的静息态fMRI数据,全部来源于AD神经影像学(Alzheimer's Disease Neuroimaging Initiative,ADNI)数据库[8],实验共选取104例被试的静息态fMRI图像数据,其中包括34名AD患者、35名MCI患者和35名NC,每个被试分别有140幅图像,每幅图像扫描48层,所有被试样本的年龄、性别信息如表1所示。
表1 被试者统计分析Tab 1 Clinical information of subjects
本实验主要使用Statistical Parametric Mapping(SPM 8)和RS-fMRI Data Analysis Toolkit(REST)两个软件包在MATLAB平台对获取的fMRI图像数据进行预处理操作[9]。实验环境为个人PC机,处理器:Intel®Corei5-4200 H,CPU@2.80 GHz,内存为4 GB,实验运行环境为MATLAB2017a。从ANDI获取的数据格式为fMRI常用的Analyze格式,对每个被试的静息态fMRI图像数据依次进行如下处理:首先去除前10个时间点的图像数据;以第47层作为参考层进行时间层校正;进行头动校正;对图像进行空间标准化;对图像进行空间平滑(高斯核半宽全高设为6 mm×6 mm×6 mm);对平滑后的图像进行去线性漂移和0.01~0.08 Hz的低频滤波;最后去除头动校正时生成的头动参数的协变量,去除全脑均值信号、白质信号和脑脊液信号的协变量[10]。
所有被试的静息态fMRI图像进行预处理之后,根据自动解剖标记(AnatomicalAutomatic Labeling,AAL)分区模板[11],每个被试的脑部MRI被分成116个脑区。其中,被试的大脑部分共被分为90个脑区,小脑部分被分为26个脑区,AAL模板脑区分割情况如图1所示。
按照AAL模板,先将脑部MRI划分为116个脑区,接下来将每个被试对应的经预处理后得到的fMRI图像,结合AAL模板划分的脑区情况,分别计算划分后每个脑区内的体素平均值,从而组成脑区内体素平均值变化的时间序列,因此每个被试都能获取116个脑区的平均时间序列,数学形式即为一个116×130的矩阵,最后通过计算皮尔逊相关系数,得到一个全脑功能连接矩阵[12]。功能连接矩阵中元素的含义对应表示相应位置的脑区之间的功能连接情况,其中如果值大于零则表示功能连接正相关,值小于零表示功能连接负相关。由于通过计算皮尔逊相关系数的过程可以得到一个对称的功能连接矩阵,因此只需取矩阵中下三角的数据作为用于机器学习分类的初始特征,如图2所示,获取功能连接矩阵流程如图3所示[13]。
利用上述过程,可以得到功能连接矩阵,但由于其本身维度较大,需要对其进行降维,从而更好地利用机器学习的方法进行分类。Pearson[14]提出的主成分分析(Principal ComponentAnalysis,PCA)方法是常用的降维方法之一,PCA不仅可以实现对高维数据的降维,更重要的是可以通过降维去除原本数据中的噪声,发现数据中的模式。PCA用相对更少的m维特征取代原始数据中的n维特征,最终得到的新特征是原始特征的线性组合,这些组合最终使样本方差最大化,达到实现新的m维特征互不相关的目的。由于本实验中选取大脑功能连接矩阵作为初始特征,特征之间的关系并不是线性的,而常用的PCA方法是一种线性降维方法,无法挖掘特征之间的非线性关系,因此影响了PCA的效果。
图1 AAL分区模板Fig 1 Anatomical automatic labeling template
图2 功能连接矩阵Fig 2 Functional connection matrix
KPCA通过使用核函数的方法[15],将样本的空间通过核函数映射到更高维的空间中,再利用这个高维空间进行线性降维,从而很好地解决了非线性特征的降维问题。假设在高维空间中将一组数据X=(x1,x2,…,xn)T投影到由W=(w1,w2,…,wd)确定的超平面上,根据PCA方法所得出的结论[16]为:
设zi为样本点xi在高维特征空间的像,则对于wj有:
所以得到:
图3 获取功能连接矩阵流程Fig 3 Acquisition process of functional connection matrix
假设zi是由原始数据中属性空间的样本点xi通过映射关系φ产生,即zi=φ(xi),i=1,2,…,m,若φ能被显式表达出来,则通过它将样本映射至高维特征空间,再在特征空间实施PCA即可。则式(2)变换为:
式(3)变换为:
由于映射关系φ的具体形式一般情况下很难寻找,因此引入核函数k(xi,xj)=φ(xi)Tφ(xj),有:
其中,K为k对应的核矩阵,(K)ij=k(xi,xj),。式(6)是特征分解的问题,因此可以得到K最大的d个特征值对应的特征向量。
对新样本x,其投影后的第j(j=1,2,…,d)维坐标为:
KPCA虽然在求解过程中与PCA有类似的地方,但是使用KPCA方法降维与PCA方法具有本质上的差别,因为KPCA引入的非线性映射函数,间接去掉了原样本中的各个属性之间的非线性相关性,最终通过PCA方法实现降维目的,最大程度保留了样本的主要特征信息,同时简化了数据。
本研究选用目前比较经典的两种分类方法进行分类实验,包括支持向量机(Support Vector Machine,SVM)和Adaboost方法。
2.3.1 SVMSVM是机器学习方法中一种常见的有监督的学习模型[17],SVM根据支持向量构造最优超平面,使得数据集中所有向量都能够满足被某一个超平面正确分类,且距离该超平面的支持向量与超平面之间的距离最大,即分类后的不同组数据之间距离间隔最大。
假设数据样本为x1,x2,…,xn,在训练样本中,模型的支持向量和距离其最近的平行超平面的数学公式可以表达为:
其中,w为分类超平面的法向量;x为分类超平面上的点;b为位移量,两个分类超平面之间具有最大间隔,且他们之间的距离为,因此只要使||w||2最小化,就可以使这两个超平面之间的距离达到最大化,SVM的目标函数[18]为:
找到使SVM目标函数最小的w和b,也就找到了最合适的超平面,实现对数据的分类。
2.3.2 AdaboostAdaboost是一种较为先进的模式识别分类算法[19],可以通过不断调整数据集中每个样本对应的权重,实现分类学习的目的。首先在每个样本对应初始权重时训练出一个弱分类器,然后根据分类的结果,重点关注被分错的样本,逐渐增加未被正确分类样本的权重值,同时降低被正确分类样本的权重值,然后在新的样本分布下再次对弱分类器进行训练。以此类推,经过T次循环训练之后,得到T个弱分类器。最后赋予训练好的T个弱分类器一定的权重并叠加,最终通过组合得到一个强分类器。
给定训练样本以及对应的分类(x1,y1),…,(xn,yn),其中xi∈X,yi∈Y={-1,1}。初始化样本权重为,即训练样本的初始权值分布,然后进行最大循环次数为T的迭代训练。Adaboost算法流程如下:(1)对于第t=1,…,T次迭代,通过使用样本的权值分布Dt训练弱分类器;(2)得到弱分类器的分类结果,计算如下弱分类器分类结果的错误率:
(3)选取参数αt:
更新第t+1次迭代中的权值分布:
其中,Zt是归一化参数;(4)在经过T次迭代训练之后,得到h1,h2,…,hT,共T个弱分类器;(5)最后通过加权投票,组合得到强分类器:
本研究采用Scikit-learn中实现的Adaboost方法[20],其中选择的弱分类器使用分类回归树方法。
为证明本研究提出方法的有效性,精心设计两组实验。本实验根据采集的fMRI图像数据,利用机器学习的方法实现AD、MCI和NC的分类,根据每一个被试的fMRI图像分别计算功能连接矩阵,然后对功能连接矩阵进行KPCA降维后作为特征,得到特征向量。随机选取所有样本的70%作为训练集,剩余30%作为测试集,最后根据得到的特征向量,通过SVM和Adaboost两种分类器进行分类,观察分类效果。
实验选取的评价指标为准确率(precision)、召回率(recall)和F1值(F1 score),计算公式如下:
其中,P和R分别代表准确率和召回率,TP(True Positive)为分类后被正确标记为正例的个数;FP(False Positive)为分类后被错误标记为正例的个数;TN(True Negative)为分类后被正确标记为负例的个数;FN(False Negative)为分类后被错误标记为负例的个数。在结果的分析过程中,精确率和召回率的含义也可以被理解为查准率和查全率,而F1值可以被看作是模型准确率和召回率的一种加权平均,作为统一准确率和召回率的评估标准,来衡量模型分类的性能。具体实验结果如表2所示。
根据表2的结果可以看出,通过使用KPCA降维后的特征,并结合Adaboost方法,最终分类效果要优于使用传统的SVM分类器。并且KPCA结合Adaboost方法分类准确率最高可达到96%,F1值最高0.95,说明全脑功能连接矩阵可以作为区分AD、NC和MCI的特征,同时KPCA可以有效地从数据中继续提取出更多的非线性特征,通过Adaboost分类算法实现有效区分AD、NC和MCI,以达到辅助诊断的目的。
表2 实验对比结果Tab 2 Comparison of experimental results
本研究对被试的fMRI数据计算其包括小脑在内的全脑功能连接矩阵,利用KPCA降维并作为特征,然后分别采用SVM和Adaboost方法对AD、MCI和NC进行分类。实验结果表明,本研究提出的方法可以对fMRI数据进行有效分析,由于KPCA方法能够挖掘数据的非线性信息,所以KPCA方法较PCA方法获得了更好的准确率,同SVM方法相比,Adaboost分类器取得了更好的分类效果,同时也说明全脑功能连接矩阵能够反映出AD、MCI和NC之间的差异,这些结论可以为AD的诊断提供有效的判断依据。