1. 引言
乳腺癌是女性最易患的恶性肿瘤之一。在我国,其发病率以每年3%的递增速度发展,且有日益增长之势,其死亡率增幅已达到38.9%。同时更令人担忧的是发病年龄也呈现出年轻化的趋势,形势非常严峻 [1] [2] [3] 。乳腺癌能否治愈,关键在于发现的时期。早期诊断和早期治疗是有可能痊愈的。现代医学仍无法治愈晚期乳腺癌,因此应做到早期发现、早期诊断,还要防止误诊和漏诊,正确的鉴别诊断对降低死亡率是极其重要的 [4] 。
利用机器学习方法来诊断疾病是目前发展较快的一个应用分支 [5] 。SVM (Support Vector Machine,支持向量机)是一个被广泛使用的机器学习算法,它是在1995年由Vapnik等人提出的 [6] 。该理论是基于统计学VC维理论和结构风险最小原理提出的,它在解决小样本、非线性和高维模式识别方面展现出了较强的优势,现已广泛的应用于模式识别、回归估计等领域 [7] [8] [9] 。但SVM容易受输入变量过多和噪声的影响,过多的变量会使得运行的时间过长,变量之间的相关性和输入数据中存在的噪声会使得模型的稳定性和分类识别率降低。鉴于KPCA (Kernel Principal Component Analysis,核主成分分析)不仅具有降维、除噪的优势,而且能够提取非线性的特征信息,提高数据质量 [10] 。因此本文把KPCA引入到SVM中,建立KPCA-SVM模型,实现乳腺癌的辅助诊断。
2. SVM分类器
SVM的工作原理:以二分类为例,设样本集设为
,其中
表示输入变量,
表示输出标量,l为样本集个数。通过引入非线性映射函数
,将处于低维空间的输入变量
映射到高维空间,可以构造出一个最优分类超平面:
(1)
其中w表示权重向量,b表示最优超平面位移。
为了最小化结构风险,构造出的最优超平面需满足以下约束条件:
(2)
若构造的最优分类超平面仍存在少量分类错误,那么可以引入非松弛变量
来量化分类器的误差,此时分类超平面最优化问题可表述为:
(3)
其中C为惩罚参数,表示对错误分类的惩罚代价。C越大,惩罚代价越大。
为结构风险,表示问题的复杂程度;
为经验风险,表示问题的误差。
对于该二次规划问题,采用拉格朗日乘子法将其转化为对偶形式:
(4)
在上式中引入核函数,可转化为:
(5)
其中
称为核函数,
,最终构造出的最优分类超平面为:
(6)
SVM采用不同的核函数就会生成不同的SVM分类器,目前支持向量机常用的核函数主要有:径向
基(RBF)核函数
、多项式核函数
、线性核函数
、Sigmoid核函数
等。其中径向基核函数只需要确定一个
核参数,并且相关研究表明:它是一种在分类问题上表现较好的核函数 [11] ,因此本文采用径向基核函数作为SVM的核函数。SVM常采用GA (Genetic Algorithm,遗传算法)和PSO (Particle Swarm Optimization,粒子群算法)对参数
进行迭代寻优。遗传算法是根据生物进化思想而启发得出的一种全局优化算法,它采用选择,交叉,变异操作对群体中的个体进行优胜劣汰操作,在问题空间中搜索最优解。粒子群也是一种基于群体叠代的算法,但它没有遗传算法用的交叉以及变异,而是粒子在解空间中追随最优的粒子进行搜索的一种优化算法。
3. KPCA算法
设原始空间Rm中有n个样本
,由这n个样本构成的数据矩阵为X,利用非线性映射函数
将原始空间X映射到高维特征空间
中,为方便讨论,设其映射空间的维数为M (其中M远大于m)。将中心化后的数据记为
,即
(7)
其中
。
中心化的数据
的协方差矩阵为
(8)
将中心化后的数据对应的核矩阵记为
,且定义
,且有:
,其中K为原始数据对应的核矩阵,
为
的矩阵,其中每一个元素都是
(n为样本数目)。对
进行特征向量分析,设
的特征值和对应的特征向量分别为
和V,设
是V的第k个特征矢量,对其进行归一化处理,即
,且有:
(9)
设
为中心化的核矩阵
的第K个特征向量(对应的特征值为
)。则有
。
将
进行归一化处理,则有:
(10)
则可得到原始空间任一样本x的映射数据
在特征向量
方向上的投影为:
(11)
即原始空间中任一样本数据x的第K维的非线性主成分为:
(12)
4. KPCA-SVM模型
4.1. 详细流程如下
步骤1:数据归一化。为了消除量纲对结果造成影响,对初始输入变量数据通过
的方
法进行处理,将初始输入数据归一化到[0,1]之间。其中x是某一特征的原始数值,
是对应特征的最大值,
是对应特征的最小值。y为归一化后的数值。同时将乳腺癌数据中标签M (恶性)和B (良性)分别标记为−1和1。
步骤2:随机抽样。利用随机抽样的方法随机选取285组数据作为训练数据,其余284组数据作为测试数据。
步骤3:用KPCA方法降维。对Breast Cancer Wisconsin (Diagnostic)的全部数据的30个初始影响因子应用KPCA算法降维,将降维后的数据的前285组作为模型训练的新样本,其余284组作为模型的检验数据。
步骤4:参数寻优。分别采用PSO算法和GA算法对参数
进行迭代寻优,建立乳腺癌诊断结果与影响因素之间的非线性模型。
步骤5:利用所建立的模型对检验样本进行预测,检验模型的预测能力,分别得到KPCA-PSO-SVM (核主成分分析和粒子群优化支持向量机)模型和KPCA-GA-SVM (核主成分分析和遗传算法优化支持向量机)模型的分类准确率。
4.2. KPCA-SVM模型的介绍
KPCA-PSO-SVM模型是先用KPCA算法对乳腺癌数据进行特征提取,提取原始数据中的非线性的特征信息,这些特征向量去除了原始数据中的噪声,数据质量有所提高。将KPCA算法提取出来的特征信息作为支持向量机的特征向量,SVM基于这些特征向量进行建模,在建立模型的过程中采用PSO算法对SVM的参数进行迭代寻优。KPCA-GA-SVM模型与KPCA-PSO-SVM模型类似,只是KPCA-GA-SVM模型是采用GA算法对SVM的参数进行迭代寻优。
5. 仿真实验
5.1. 数据源
数据集采用UCI网站(http://archive.ics.uci.edu/ml/datasets.html)中的Breast Cancer Wisconsin (Diagnostic)数据。该数据集是美国威斯康辛大学麦迪逊分校采用针吸细胞学方法所得到的乳腺肿块的样本。该样本具有10个属性,分别为半径、结构、周长、面积、圆球度、体密度、轮廓的凹陷度、轮廓的凹陷点数量、对称性、碎形维度。这10个属性又分别从均值、标准差、最大值三方面来描述,所以总共有30个特征。该数据集不包含缺失值,共有569组样本,构成一个
的样本空间。同时对应的得到了
的标签向量矩阵,分别用B表示良性(benign),M表示恶性(malignant)。在数据预处理时,使用1表示良性样本标签,使用−1表示恶性样本标签。并随机选择285组样本作为训练集,其余284组样本作为测试集。
5.2. 实验设置
本文中参数寻优的方法分别采用粒子群算法、遗传算法,惩罚参数c和核参数g的参数范围均设置为默认。除此之外,设定KPCA的核函数为高斯核函数,参数sigma设定为7.5。本文采用了台湾林智仁教授开发的Libsvm 3.22工具箱来进行实验。实验平台为Intel奔腾双核处理器(1.8 GHz),4 GB内存,Windows 7操作系统,所用软件为Matlab 2014a。由于模型计算结果具有一定的波动性,为了公平性和准确性,我们随机取十次样本,对每次取得的样本分别建立SVM模型、KPCA-PSO-SVM模型和KPCA-GA-SVM模型,并分别计算SVM、KPCA-PSO-SVM模型和KPCA-GA-SVM模型的分类准确率和运行时间,取十次随机抽样模型下分类准确率的平均值作为最终的平均分类准确率,取十次运行时间的平均值作为最终的平均运行时间。
5.3. 实验结果分析
为了使分类的结果得到更好的评估,引入灵敏度(Sen)、特异度(Spe)、F分数和平均分类准确率来评价SVM、KPCA-PSO-SVM和KPCA-GA-SVM三个分类器的性能 [12] 。灵敏度是指将实际有病的人正确地判定为有病的比例,灵敏度越高,表示该模型越好。特异度是指将实际无病的人正确地判定为无病的比例,特异度越高,表示该模型越好。F分数是判定该模型优良性的指标,F值越大,表示该模型越好。
下面给出灵敏度(Sen)、特异度(Spe)、F分数的计算公式。

Table 1. Comparison of experimental results
表1. 实验结果对比

Table 2. Comparison of experimental results
表2. 实验结果对比
(13)
(14)
(15)
在(13) (14) (15)式中TP是指在工作集中实际是良性样本,预测结果为良性样本的数目。FN是指在工作集中实际是良性样本(即标签为1的样本),预测结果是恶性样本(即标签为−1的样本)的数目;TN是指在工作集中实际是恶性样本,预测结果为恶性样本的数目;FP是在工作集中实际是恶性样本,预测结果为良性样本的数目 [12] 。
SVM、KPCA-PSO-SVM和KPCA-GA-SVM分类测试结果如表所示,其中准确率指测试数据的平均分类准确率。
由表1可知,KPCA-PSO-SVM分类器比PSO-SVM分类器在平均分类准确率上提高了0.71%,KPCA-PSO-SVM模型在运行时间方面相比PSO-SVM模型缩短了72.32秒。由表2可知,KPCA-GA-SVM分类器比GA-SVM分类器在平均分类准确率上提高了1.41%,KPCA-GA-SVM模型在运行时间方面相比GA-SVM模型缩短了47.95秒。因此在乳腺癌的辅助诊断中KPCA-SVM方法比SVM方法更为有效。
6. 结语
本文使用了SVM、KPCA-PSO-SVM和KPCA-GA-SVM三种分类方法,并对其结果进行对比。从实验结果来看,不论是用粒子群优化算法还是遗传算法,KPCA-SVM在乳腺癌辅助诊断方面的效果均要优于SVM。KPCA算法不仅提高了SVM的建模效率,并且提高了模型预测的准确率、灵敏度和特异度,获得了较好的识别结果。以上结果表明KPCA-SVM算法可以用于乳腺癌疾病的辅助诊断,为乳腺癌的诊断提供了一种新途径。
参考文献
NOTES
*通讯作者。