基于稀疏自动编码器算法的HBV再激活分类预测模型

2019-05-16 01:39赵咏旺刘毅慧
智能计算机与应用 2019年2期
关键词:编码器分类器特征提取

赵咏旺,刘毅慧,黄 伟

(1齐鲁工业大学(山东省科学院)信息学院,济南250353;2山东省肿瘤医院放疗病区,济南250117)

0 引 言

近年来,对原发性肝癌(PrimaryLiver Carcinoma,PLC)的诊治及术后已引发了研究学界的高度关注。目前,对中晚期原发性肝癌患者采用精确放疗后也会导致乙型肝炎病毒(Hepatitis B Virus,HBV)再激活[1]。 因此,有效降低 HBV 感染率、发病率及死亡率至关重要。

当下研究中,文献[2]中接受HSCT的患者在单变量因子分析中检测到 HBV DNA水平、年龄、HbsAg、HbcAb与HBV再激活有关。在多变量分析中,年龄、HBsAg是HBV再激活的危险因素。Ji等人[3]通过应用 Kaplan-Meier检验及 Cox回归模型分析影响HBV-PLC患者生存期的因素。实验结果表明,Child-Pugh分级、肿瘤转移、年龄、抗病毒治疗、血清HBV DNA水平和肿瘤治疗方式是影响患者生存期的重要因素。Han等人[4]指出HBV再激活与肿瘤直径大小及是否术前规范抗病毒治疗等因素有关。Wang[5]通过研究比较基线特征差异筛选出HBV再激活的可能危险因素,结果显示性别、年龄等指标无明显差异,肝功能Child-pugh分级可能是HBV再激活的危险因素。Huang等人[6]在69例原发性肝癌患者接受精确放疗后致使乙型肝炎病毒再激活研究中发现基线血清HBV DNA水平和放疗剂量是HBV病毒再激活的独立危险因素。Wu等人[7]在以前发现的危险因素的基础上又研发建立了RBF神经网络模型,识别率提高到80%。随后通过遗传算法发现HBVDNA水平、肿瘤分期TNM、Child-Pugh、外放边界、V45和全肝最大剂量是乙肝病毒再激活的危险因素[8]。 Wang 等人[9-10]又分别利用随机森林、小波变换、顺序前向、顺序后向等一系列特征选择方法使得HBV再激活的分类预测精度进一步提高。

特征提取就是指利用已有特征计算出一个抽象程度更高的特征集的过程。而稀疏自动编码器(Sparse Auto-Encoder)于2007年由 Bengio提出,这就是一个典型3层结构神经网络,可以对特定数据进行关键特征提取[11]。其中,输入层和隐藏层之间的信号传递是编码过程,隐藏层与输出层之间的信号传递是解码过程,通过对输入数据的重构一方面可以检验自动编码器算法的学习效果,另一方面也可以对复杂的特征数据集进行降维,降维后的数据集表示输入数据最重要的因素[12]。本文通过采用稀疏自动编码器对山东省肿瘤医院提供的90例原发性肝癌患者精确放疗后影响HBV再激活的特征进行降维,并分别利用SVM及Softmax分类器对新的样本空间进行分类预测。对此拟展开研究论述如下。

1 数据来源

研究中,将山东省肿瘤医院的90例经过精确放疗后原发性肝癌患者的临床资料作为研究样本,每个样本包含有28个特征,组成90∗28维大小的数据集,详情见表1。

表1 特征编号及分别对应的医学名称Tab.1 Feature numbers and the corresponding medical name

2 算法研究与实现

2.1 稀疏自动编码器

稀疏自动编码器是人工神经网络的一种特殊学习模型。该模型输入输出是相同的,通过训练调整参数,使得输入的样本经过编码、以及解码变换后尽可能复现原来特征,具有良好特征提取能力[13]。本文利用稀疏自动编码器对原发性肝癌临床患者数据集进行特征提取,其中稀疏自动编码器隐含层分别取一到二层,其网络设计结构如图1所示。假设F和G分别表示编码和解码函数,可将其分别写作如下数学形式:

其中,sl为编码器激活函数,pl为解码器激活函数,本文研究中,分别选取satlin函数为编码器激活函数,purelin函数为解码器激活函数,权值矩阵w1,w2互为转置。

图1 二层自动编码器结构示意图Fig.1 Two-layer automatic encoder structure diagram

研究中,pi表示第j(j=1,2)个隐藏层上的第i号神经元在训练集S={x(j)}上的平均激活度。要求pi=p(i=1,2,3,…,m),保证隐藏层上每个神经元都满足稀疏性限制。pi的数学表述见如下:

其中,hi(n)表示稀疏自动编码器隐含层数量为n(n=2) 的第i号神经元的激活度[14-15]。 本文中,h(j=1)=20,即第一层神经元节点数取值20。h(j=2)=15,第二层神经元节点数取值15。p是稀疏性参数,p(j=1)=p(j=2)=0.015,一层二层神经元稀疏性参数都是0.015。 正则化系数r(j=1)=r(j=2)=2,一层二层神经元稀疏性参数都是2。KL散度函数如下:

如果将KL函数加入到稀疏自动编码器的损失函数中,那么稀疏自动编码器的损失函数可表示为:

其中,β为控制稀疏性惩罚的权重系数。当KL(pi‖p)=0,也就是pi=p,此时就可以得到最小损失函数。

稀疏自动编码器是一个特征提取器,本实验要实现分类功能还要添加一个分类器,如贝叶斯分类器(Bayesian classifier),支持向量机(Support Vector Machine)等[16]。本文主要采用的是SVM分类器,下面会将Softmax分类器的实验结果与SVM分类器的实验结果做出对比。

2.2 主成分分析

研究可知,作为特征提取的另一种方法,主成分分析算法(Principal Component Analysis)也可以对本实验数据集中的特征进行降维。PCA特征降维的过程就是首先求得这个样本的协方差矩阵,并求出这个协方差矩阵的特征值与特征向量[17]。然后根据特征值大小,选取前三个特征值所对应的特征向量构成特征矩阵。最后用原始样本矩阵与得到的特征矩阵做积运算,会得到一个降维之后的新样本矩阵。为了保证原始测试样本同样能够映射到这个空间中进行表示,就需要将测试样本与之前对训练样本降维过程中得到的特征矩阵重新做积处理,便可以得到一个新的测试样本矩阵[18]。特征提取后的主要成分以及贡献率如图2所示。此后,研究中会针对不同主成分个数进行比较分析。

图2 主成分贡献率排序Fig.2 Ordering of principal component contribution rates

2.3 分类器选择

本文主要选取SVM分类器进行最终分类处理,并用Softmax进行对照实验。作为一个二分类模型,SVM的分类思想是给定一个包含正例和反例的样本集合,寻找一个超平面对样本根据正例和反例进行分割。其研究旨在使得分开的2个类别具有最大间隔,这样一来,分类才具有更高可信度以及更好的泛化能力[19]。假设超平面为wx+b=0;样本点到超平面距离为:

首先,构造并求解约束最优化问题,研究推得数学运算公式如下:

求得最优解a∗,然后将用到公式(8)进行运算:

最后求得分类决策函数,具体公式如下:

文中,选取的是线性内核函数G(xj,xk)=xj'xk。惩罚因子c是误差容忍系数。当c设置一个较大值时,表示要求的分类精度很高,分错的点会很少。当c设置一个较小值时,表示可能容忍一定的错误,分错的点可能就很多。由于本文的样本数据中乙型肝炎病毒再激活的类标签数量较少,在这里就必须保证其分类正确率。本文中,c的取值是2。

Softmax模型是logistic回归模型在多分类问题上的推广,当Softmax是一个二分类处理器时就会成为一个Logistic分类[20]。在本文Softmax分类层中,选取交叉熵函数作为损失函数,函数公式如下:

其中,n是训练样本数量k=2,即二分类问题;tij是目标矩阵t的i行j列的元素;yij是输入向量为xj时自动编码器的第i个输出。

3 实验结果及分析

3.1 分类性能度量

本文主要采用3个分类性能指标,分别是准确性、特异性、灵敏性。其中,准确性是指分类的正确预测值占样本实际值的比重。特异性是将实际无病的人正确判定为真阴性的比例。灵敏性是将实际有病的人正确判定为真阳性的比例。

3.2 实验结果

实验分别采用3折、5折、10折交叉验证,选取每一个分类性能度量标准的平均值作为最终数据,测试实验结果见表2~表4。

表2 Softmax对不同隐含层数SAE对比实验结果Tab.2 Experimental results with Softmax classifier for different hidden layers SAE

表3 SVM对不同隐含层数SAE对比实验结果Tab.3 Experimental results with SVM classifier for different hidden layers SAE

表4 PCA不同主成分个数下分类预测实验结果Tab.4 Experimental results of classification prediction under different number of principal components

表2是Softmax分类器分别对原始数据集、一层、二层SAE提取的特征进行分类预测的结果。由表2可知,对原始数据集的预测准确率要低于对一层、二层SAE所提取特征数据的预测准确率。3折、5折、10折交叉验证下,Softmax分类器在一层SAE下的预测结果都要高于在二层SAE下的预测结果。其中,5折交叉验证下,SVM对一层SAE提取特征数据集的识别率可达72.22%,比二层SAE的识别率提高了近3.2个百分点。从灵敏性结果来看,3折、5折、10折交叉验证下,对一层、二层SAE所提取特征数据的灵敏度表现都要优于对原始数据集的灵敏度表现。

表3是SVM分类器分别对原始数据集、一层、二层SAE提取的特征进行分类预测的结果。由表3可知,对一层、二层SAE提取的特征进行分类预测的结果要明显优于未经过特征提取的原始数据预测结果。这一点与Softmax分类器的表现是一致的。而灵敏度的表现却截然相反,SVM对原始数据的分类灵敏度要略高于对SAE特征提取数据的分类灵敏度。在3折、5折、10折交叉验证下,SVM分类器在二层SAE下的预测结果都要高于在一层SAE下的预测结果。其中,10折交叉验证下,SVM对二层SAE所提取特征数据集的预测准确率可达78.52%,比原始数据集的预测准确率提高了近7.0个百分点,比一层SAE的预测准确率提高了近5.6个百分点。

综合来看,虽然SVM及Softmax对原始数据的分类预测表现相差不大,但从经过一层SAE或者二层SAE提取特征之后的预测准确率角度来看,SVM的表现要更加优越。经过一层SAE提取特征之后,在3折交叉验证下,SVM预测精度高于Softmax预测精度近3.2个百分点。在5折交叉验证下,SVM预测精度高于Softmax预测精度近3.0个百分点。经过二层SAE提取特征之后,在3折交叉验证下,SVM预测精度高于Softmax预测精度近7.2个百分点。在5折交叉验证下,SVM预测精度高于Softmax预测精度近8.7个百分点。在10折交叉验证下,SVM预测精度高于Softmax预测精度近8.5个百分点。

表4是PCA在5折交叉验证下特征提取并建立SVM模型分类预测的结果。由表4可以看出,在不同主成分个数下的预测精度是有区别的。随着主成分个数的增加,分类预测精度也是呈递增趋势。4个主成分的贡献率是99.88%,而除去前4个主成分之外的其它成分贡献率都在0.01%以下,可以看作是冗余信息,所以主成分个数最多取到4个,此时预测精度是75.92%。灵敏性也是最高的,相比3个主成分时提高了近10.2个百分点。同样在5折交叉验证下,SVM在二层SAE提取特征下的预测精度是77.75%,相比PCA在4个主成分下的预测精度提高了近1.8个百分点。由此可见,在对本实验的样本数据进行重要成分提取压缩的过程中,SAE的效果要优于PCA。

4 结束语

原发性肝癌患者在精确放疗后乙型肝炎病毒再激活是一种常见并发症,及时的预测防护能降低发病率、死亡率。影响原发性肝癌患者发生HBV再激活的危险因素有很多,通过构建二层学习的稀疏自动编码器相对主成分分析算法更能有效地对原发性肝癌患者临床数据中的重要成分进行提取。而SVM分类器有效提高了HBV再激活的分类预测准确性,并且对二层稀疏自动编码器分类性能堪称最优,10折交叉验证下,平均准确率达78.52%。

猜你喜欢
编码器分类器特征提取
WV3650M/WH3650M 绝对值旋转编码器
学贯中西(6):阐述ML分类器的工作流程
设定多圈绝对值编码器当前圈数的方法
转炉系统常用编码器选型及调试
基于朴素Bayes组合的简易集成分类器①
舞台机械技术与设备系列谈(二)
——编码器
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
一种自适应子融合集成多分类器方法