心脏病诊断建模研究
2020-09-29汤永杰
汤永杰
摘要:心脏病诊断检查可产生大量医疗数据,使用人工智能技术对其进行分析可实现辅助诊断并供医生参考,从而降低误诊率,使用支持向量机可进行诊断建模,为进一步地提升模型性能,使用智能优化算法进行参数调整,对灰狼算法、粒子群算法、遗传算法进行测试函数寻优、实际数据诊断建模实验。结果表明,灰狼算法寻解能力最强,其优化后的心脏病诊断模型性能最优,是最佳建模算法。
关键词:心脏病;诊断建模;支持向量机;灰狼算法;粒子群算法;遗传算法
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2020)17-0014-03
Abstract:The diagnosis of heart disease can produce a large amount of medical data, which can be analyzed by artificial intelligence technology to achieve auxiliary diagnosis and for doctors' reference, so as to reduce the misdiagnosis rate. Support vector machines can be used for diagnostic modeling.In order to further improve the model performance, intelligent optimization algorithm is used for adjusting parameters.The grey wolf algorithm, the particle swarm optimization algorithm, the genetic algorithm carries on the test function optimization, the actual data diagnosis modelling experiment,The results show that the grey wolf algorithm has the best searching ability and the best performance of the optimized heart disease diagnosis model,which is the best modeling algorithm.
Key words: heart disease; diagnostic modelling; support vector machine; grey wolf optimizer; particle swarm optimization; genetic algorithm
心脏病是威胁我国人民生命健康的主要疾病之一, 其准确诊断对我国卫生、经济发展有重要意义[1]。临床上为诊断疾病,会进行多项指标检测,生成大量医疗数据。而随着电脑性能提升,人工智能得到迅速发展并受到广泛关注,从海量信息提取有价值信息较过往更加高效、准确。人工智能与疾病诊断成为新的研究方向,可避免因医生主观因素对诊断造成影响, 直接利用人工智能技术对数据进行分析,生成辅助诊断供医生参考。而支持向量机(Support Vector Machine,SVM)已被广泛应用于众多行业[2-5],并取得良好效果,是理想的用于诊断建模的机器学习算法。
1 支持向量机
支持向量机基于结构风险最小化思想,可解决非线性分类问题。SVM基本原理为寻找最佳分割超平面,从而使问题变得线性可分。假设有n个训练样本集:S = {(x1,y1), (x2, y2), … , (xn, yn)},xi是训练数据,yi 是样本类别且yi ∈{-1,1},+1 表示正例,-1 表示负例。如样本集为线性可分,存在超平面WTX+b=0可对样本数据正确分类,其中W为样本权重向量,X 为训练样本,b为偏置。各分类点与分割超平面距离最大时,抗扰动能力最强,该超平面称为最佳分割超平面。但实际应用时,数据通常存在离群点导致不可直接分割数据,为此加入松弛变量以允许离散点存在,同时使用惩罚因子C平衡松弛变量与最大间隔距离。此外,实际数据常为非线性可分,SVM 利用核函数将数据进行高维空间映射,从而找到一个超平面,实现线性可分。常用核函数有线性核函数、径向基函数、多项式核函数。其中径向基核函数面对不同问题时性能较佳和稳定,将其作为本文使用的核函数。而SVM性能受惩罚因子C、核函数参数σ的取值影響。
2 智能优化算法
为找到合适的惩罚因子C、核函数参数σ,使用智能优化算法是理想途径之一。本文所用算法有以下几种。
2.1 灰狼算法
灰狼算法(Grey wolf optimizer,GWO)是MirjaliIi等受灰狼捕食行为启发,于2014年提出的群体智能优化算法[6]。自然界中,灰狼是群居生物,并有严格等级制度,低等级受高等级狼支配,最高级的头狼领导整个狼群行动。灰狼算法模拟其机制,将狼群中最佳的个体定为α狼,次优个体为β狼,第三优个体为δ狼,其余个体根据此三狼调整自己位置,具体机制如下:在问题解空间内随机生成初始狼群,计算各狼适应度并进行排名,并选择排名前三的狼,依次设置为α、β、δ;其余个体则依据α、β、δ狼的位置进行调整至新的位置,实现对猎物即解的围捕,若调整后出现优于α狼的个体,其将成为新的α狼,β、δ狼类推;此后反复进行位置更新与头狼迭代,当达到约束条件,例如达到最大迭代次数时,停止算法,将α狼位置作为求解结果。
2.2 粒子群算法
粒子群算法(Particle Swarm Optimization, PSO)是由Eberhart和Kennedy根据鸟群在觅食时迁徙、聚集行为而提出的优化算法[7]。算法中,种群内各粒子在解空间内协同飞行,以实现搜索问题潜在解,其特点为记录种群及个体的最优记录以指导搜索。具体实现方法为:设定惯性因子与学习因子,其中惯性因子决定粒子新速度受原速度影响程度,学习因子决定新速度受全局历史最优值与个体历史最优值影响程度;随机初始化每个粒子的位置与速度,依据速度进行位移实现粒子位置更新,根据全局最优值与个体最优值进行速度更新,若出现比全局历史最优值更优的个体,则用其替代全局历史最优值,个体最优值亦然,达到算法结束条件时,全局历史最优值为算法所得解。
2.3 遗传算法
遗传算法(Genetic Algorithm,GA)是Holland提出的优化算法,其模仿自然界生物遗传进化机制,引入染色体、交叉、变异概念,将求解个体信息0-1化作为染色体,通过交叉变异产生新的个体,优胜劣汰方式寻解[8]。其过程如下:设定交叉概率与变异概率,随机初始化个体,个体信息为0-1化信息,计算每一个体对应值的适应度,适应度好的个体更容易被保留至下一代;对于保留下来的个体,根据交叉概率对群体进行交叉操作,即选取个体的0-1化信息片段进行互换,根据变异概率对群体进行变异,即对个体0-1化信息片段以随机产生的片段进行替换,通过交叉和变异产生新的个体;反复进行选择、交叉变异,当达到算法终止条件时,返回群体内最优个体作为解。
3 实验结果及分析
3.1 算法比较
不同优化算法的性能会有所差异,需选取适合的算法进行模型优化。客观起见,本文进行对比的GWO算法,PSO算法,以及GA算法的种群大小统一设为50,最大迭代次数均设置为500;其中PSO算法的学习因子c1=c2=1.8,惯性权重设置为0.9;GA算法交叉概率为0.8,变异概率为0.1。
首先,本文使用4个标准测试函数进行对比实验,函数信息如表1所示。
函数均为30维,且最小值为0,为避免偶然偏差,对于每个测试函数,各算法均独立运行30次。GWO、PSO、GA三个算法在测试函数上运行结果如表2所示。
表2列出了GWO、PSO、GA算法独立运行30 次后得到的平均值与标准差。可见对于不同函数,PSO均优于GA,而GWO显著优于二者,对于函数f1-f4,GWO的寻优平均值分别达到5.19869E-33、3.91674E-07、3.63735E-11、7.80762E-14的水平,同时具有最小的标准差,表明GWO在寻解精度与鲁棒性上有明显优势。
为了更直观地展示GWO算法的寻优性能,取4个标准测试函数其中一次运行的迭代曲线图进行讨论,如图1-图4所示。
由函数迭代曲线可知,GWO算法的收敛速度要明显优于PSO、GA,其在所有测试函数均能取得最佳寻优结果。在单峰函数f1,PSO、GA均于低精度时即出现早熟,GWO则能保持解精度的高速提升。单峰函数f2中,GA算法的解精度提升最早出现停滞,PSO停滞时间较晚并取得较GA更优解,但仍为早期停滞,GWO则全程保持解精度高提升速率。多峰函数f4中,GWO的曲线呈逆S型,早期提升速率较低,在150代附近求解精度出现快速提升,后期提升趋缓。f5函数是很难找出全局最优值的一种多模态函数,直至接近300代时,GWO算法保持高精度提升率。PSO、GA在两多峰函数中均在解精度较低时即停止提升。
3.2 诊断模型比较
式中aij为原始数据值,[maxiaij]为第i个特征值的最大值,[miniaij]为第i个特征值的最小值,rij为归一化所得数据值。经归一化处理,所有特征值均位于[0,1]区间,具有相同量纲。
为验证GWO-SVM有效性,使用PSO-SVM、GA-SVM与之进行对比,取前60%数据作为训练集,余下40%数据作为测试集。实验中,SVM参数范围为:惩罚因子C ∈[0.001,1500] ,核函数参数σ ∈[0.001,1000]。设置种群大小为30,最大迭代次数为100,将训练集数据导入算法,以最大准确率为训练目标,训练所得参数如表3所示。
选取表3中的参数C和σ,建立GWO-SVM、PSO-SVM以及GA-SVM对应的心脏病诊断模型。表4列出GWO-SVM、PSO-SVM、GA-SVM的诊断准确率、MSE。
表4中的对比结果表明,相对于PSO-SVM、GA-SVM,GWO-SVM诊断模型有更强的诊断能力,不仅有最高的准确率有,MSE值也比其他诊断模型更低。最终结果可见,GWO的寻优能力更佳,从而使得GWO-SVM心脏病诊断模型有更好的性能。
4 结束语
为实现心脏病辅助诊断,本文选用支持向量机进行建模,并使用优化算法提升模型性能。为选取最佳优化算法,先对灰狼算法、粒子群算法、遗传算法进行测试函数寻优实验,结果表明灰狼算法具有最佳尋优能力,然后使用实际心脏病数据集进行诊断建模比较,灰狼算法同样获得最佳结果。实验表明,结合灰狼算法的GWO-SVM诊断模型性能最优,为心脏病诊断建模提供参考。
参考文献:
[1] 袁国铭,陈新利,袁国娜, 等.心脏病健康知识系统构建与应用[J].医学信息,2019,32(22):8-10.
[2] 宣琦,方宾伟,王金宝,等.基于支持向量机的珍珠多特征分类方法[J].浙江工业大学学报,2018,46(5):473-480.
[3] 张春红,胡勇.基于支持向量机的机械振动信号识别与分析[J].图像与信号处理,2019,8(03):142-154.
[4] 徐晓冰,史兴燕.煤炭需求量预测的支持向量机模型[J].电脑知识与技术,2014(7X):4906-4908.
[5] 秦东兴,邵雨新,张自圃.基于支持向量机的Scholte波自动识别[J].电子世界,2020(2):20-22.
[6] Mirjalili S, Mirjalili S M, Lewis A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014,69: 46-61.
[7] 曹孟达,张涛,李文桦,等.基于粒子群算法的卫星蓄电池区间预测方法[J].无线电工程,2020,50(4):285-293.
[8] 路永和,梁明辉.遗传算法在改进文本特征提取方法中的应用[J].现代图书情报技术,2014(4):48-57.
【通联编辑:梁书】