中国卫生资源  2020, Vol. 23 Issue (4): 432-436  DOI: 10.13688/j.cnki.chr.2020.19608

引用本文  

黄光成, 周良, 石建伟, 等. 机器学习算法在疾病风险预测中的应用与比较[J]. 中国卫生资源, 2020, 23(4): 432-436. DOI: 10.13688/j.cnki.chr.2020.19608
HUANG G C, ZHOU L, SHI J W, et al. Application and comparison of machine learning algorithms in disease risk prediction[J]. Chinese Health Resources, 2020, 23(4): 432-436. DOI: 10.13688/j.cnki.chr.2020.19608

基金项目

国家自然科学基金面上项目(71774116);2018年“重大慢性非传染性疾病防控研究”重点专项(SQ2018YFC130057);上海市卫生和计划生育委员会面上项目(201740202);上海市浦江人才计划资助(2019PJC072);2019上海市社区卫生协会社区科研项目(201940052);2019年度上海市浦东新区卫生科技项目(PW2019A-42)

作者简介

黄光成, 大学本科, 主要从事全科医学与医疗卫生建模研究, E-mail:guangchengh@163.com

通信作者

俞文雅, E-mail:jsjyyuwenya@sina.com

文章历史

收稿日期:2019-12-11
机器学习算法在疾病风险预测中的应用与比较
黄光成 1, 周良 1, 石建伟 1, 黄蛟灵 1, 杨燕 2, 陈宁 3, 刘茜 2, 巩昕 3,4, 王朝昕 1, 唐岚 5, 俞文雅 1     
1. 上海交通大学医学院, 上海 200025;
2. 同济大学经济与管理学院, 上海 200092;
3. 同济大学医学院, 上海 200092;
4. 同济大学附属东方医院心力衰竭专科, 上海 200120;
5. 上海市浦东新区潍坊社区卫生服务中心, 上海 200122
摘要:就最适合应用于疾病风险预测的4种机器学习经典算法,即支持向量机、BP(back propagation)神经网络、随机森林和朴素贝叶斯,对其在疾病风险预测中的前沿应用、方法学特征、优势、缺陷和适用条件进行综述,以期为更合理地应用机器学习方法预测疾病风险提供方法学支持。
关键词机器学习    疾病风险预测    支持向量机    BP神经网络    随机森林    朴素贝叶斯    
Application and comparison of machine learning algorithms in disease risk prediction
HUANG Guangcheng 1, ZHOU Liang 1, SHI Jianwei 1, HUANG Jiaoling 1, YANG Yan 2, CHEN Ning 3, LIU Qian 2, GONG Xin 3,4, WANG Zhaoxin 1, TANG Lan 5, YU Wenya 1     
1. Shanghai Jiao Tong University School of Medicine, Shanghai 200025, China;
2. School of Management and Finance, Tongji University, Shanghai 200092, China;
3. School of Medicine, Tongji University, Shanghai 200092, China;
4. Shanghai Heart Failure Research Center, Shanghai East Hospital, Shanghai 200120, China;
5. Weifang Community Healthcare Center, Pudong New Area, Shanghai 200122, China
Abstract: Four classical machine learning algorithms, namely support vector machine, back propagation neural network, random forest and naive Bayes, which were most suitable for disease risk prediction, were reviewed in terms of their frontier applications, methodological features, advantages, disadvantages and applicable conditions in order to provide support for more reasonable application of machine learning methods in disease risk prediction.
Keywords: machine learning    disease risk prediction    support vector machine    back propagation neural network    random forest    naive Bayes    

2018年8月,教育部、财政部和国家发展改革委员会印发的《关于高等学校加快“双一流”建设的指导意见》[1]明确提出,要加强学科协同交叉融合。为响应学科交叉融合,“医工融合”概念的提出推动了医学与工程学、生物学的融合与应用,实现了不同学科的优势互补。

机器学习(machine learning,ML)方法作为人工智能方法的分支,利用计算机系统以算法和统计模型实现预测或决策任务,能为医学科学的进步提供极大的可能性。尤其是随着“健康中国2030”[2]的提出,疾病零级预防显得愈发重要,同时,居民对于个体健康管理服务的需求也在迅速增加,这催生了疾病风险预测的需求。机器学习因其方法学优势,在疾病风险预测领域发挥着越来越重要的作用。

ML是通过研究算法和统计模型,让计算机系统使用这些算法和统计模型,依靠模式和推理来执行特定的任务,而不使用明确指令的一种方法。机器学习能基于样本数据建立数学模型,以便在没有被明确编程的情况下作出预测或决策[3]。ML与医学的融合为疾病的预防和治疗带来了诸多便利,如China-PAR模型可以评估心血管疾病的10年风险和终生风险,为我国心血管疾病的一级预防提供了实用性评估工具[4]。在疾病风险预测领域,研究人员运用多种ML算法对不同疾病风险进行了预测,例如,使用支持向量机来检测糖尿病前期和糖尿病患者[5],利用多种深度神经网络模型预测宫内生长发育迟缓[6],应用随机森林算法对体格检查人群的糖尿病患病风险进行预测[7]。但是,对于不同类型的ML算法如何在疾病风险预测中精确应用,不同算法的适用条件如何,不同算法的精准度如何,尚缺乏相关研究。

现对ML方法在疾病风险预测中的前沿应用进行综述,以期为更合理地应用ML方法预测疾病风险提供方法学支持。

1 适合疾病风险预测的ML算法

ML的核心是ML算法,主要有3种学习方式:①监督学习,基于先前的示例调整预测算法,使再次输入时预测的结果尽量接近示例的输出值[8];②无监督学习,不给出输出值,训练系统对数据底层结构建模;③强化学习,使用奖罚序列,在试错中形成在特定问题空间中行动的策略[9]。ML通过监督学习算法如支持向量机(support vector machine,SVM)、贝叶斯学习、决策树、回归等,无监督学习算法如k均值聚类,关联规则学习等,强化学习算法如Q-learning、SARSA等,以及神经网络等特殊算法实现[10]。目前,疾病风险预测的量化识别技术的主要思路是将疾病风险问题转化为统计中的分类问题,然后采用对应的模型进行处理。基于文献研究、应用实例和方法学特征,现概述最普遍应用于疾病风险预测并具有较好效果的算法[11]包括SVM、BP(back propagation)神经网络、随机森林和朴素贝叶斯。

1.1 SVM

SVM是一种监督学习算法,是数据驱动的、无模型的,具有强大的分类鉴别能力。SVM算法通过构造一个(n-1)维的分离超平面来区分n维空间中的2个类,该超平面把输入数据转换到高维空间,生成一个n维向量,并且最大化2个数据组之间的余量来对不同类别进行最优分离。正是因其适用于小数量样本数据,可以解决高维问题等优点,近来SVM越来越多地被用于疾病监测,并且在解决生物信息学中的分类问题方面表现出色。

1.2 BP神经网络

人工神经网络(artificial neural network,ANN)是一种特殊的ML算法,由大量的节点相互连接构成。每个节点代表一种特定的输出函数,称为激活函数。每2个节点间的连接都代表一个对于通过该连接信号的加权值,称为权重,这相当于人工神经网络的记忆。网络的输出则依据网络的连接方式、权重值和激活函数的不同而不同。BP神经网络算法是根据误差反向传播算法训练的多层前馈网络,是应用最广泛的人工神经网络模型之一。BP神经网络可以用来学习和存储大量的输入输出模型的映射关系,且不需要事先揭示描述这些映射关系的数学方程。其学习规则是采用最速下降法,利用反向传播来调节网络的权值和阈值,以达到误差平方和最小[12]。BP神经网络具有并行处理方式、自组织、自学习能力、联想记忆和容错等能力,尤其在疾病的早期预防、诊断和预后评估等方面可起到专家系统的作用[13]

1.3 随机森林

随机森林是属于监督学习中的集成学习算法,其实质是一个包含许多随机生成的决策树的集成分类器,将若干个弱(基)分类器组合起来,得到一个分类性能显著优越的强分类器[14]。随机森林算法需要决策树之间有较大的差异性且没有任何关联,如果各弱分类器之间没有强依赖关系、可并行生成,就可以使用随机森林算法[15]。随机森林利用自主抽样法从原数据抽取多个样本,对抽取的样本先用弱分类器——决策树进行训练,然后把这些决策树组合在一起,通过投票得出最终的分类或预测结果。随机森林的基分类器可以用到许多算法,比如CART决策树、基于核函数的极限学习机(kernelized extreme learning machine,KELM)、BP神经网络、SVM等。由于引入随机样本和随机特征,随机森林不容易过拟合,并且具有一定的抗噪声能力。因采用了集成算法,具备准确率高等优点,该方法被广泛应用于医学、管理学、经济学等领域。

1.4 朴素贝叶斯

朴素贝叶斯建立在贝叶斯决策理论和贝叶斯网络的基础上[16],是一种被广泛应用的ML算法,属于监督学习[17]。算法主要分为2个阶段:第一阶段,对实验样本进行分类,分别计算不同条件下的概率;第二阶段,输入测试样本,计算不同条件的概率,比较其概率大小,从而完成对测试样本的分类。朴素贝叶斯算法假定属性之间相互独立,这使分类算法的逻辑变得简单。朴素贝叶斯算法具有对缺失数据不太敏感,分类效率稳定和能够处理多分类任务等优点,在处理文本数据时可以得到较好的分类结果,因此,被广泛应用于文本分类和自然语言处理等场景。

2 ML算法在疾病风险预测中的应用 2.1 SVM在多种疾病风险的预测中表现优异

SVM算法被广泛应用于多种疾病的风险预测,且表现优异。有学者[18]使用SVM算法构建了肝硬化分类模型,得到模型的正确率高达82.0%~98.8%。Ashfag等[19]分别使用SVM和随机森林来研究比较癌症、肝脏和心脏疾病数据集,通过选择适当的参数来优化不同内核的结果,以建立更好的预测学习方法。这一研究发现,用SVM径向基函数的观察结果比SVM其他参数组要好得多,并且与随机森林技术相当。在肾脏疾病风险预测方面,Vijayarani等[20]分别使用SVM和ANN来分类4种肾脏疾病。SVM方法的准确率高达76.32%,并且处理时间相比ANN缩短一半以上。

2.2 BP神经网络尤其适用于预测心血管疾病

BP神经网络适合预测心血管疾病。在心血管疾病的基础上,运用特征选择技术,选择7种与心血管疾病相关程度高的指标数据,并将这些数椐进行归一化处理,从而使用BP神经网络算法创建心血管疾病预测模型。该BP神经网络预测模型的准确率接近90%,并且优于SVM[21]。考虑到BP神经网络及其改进算法具有强大的分类与预测功能,研究人员还利用其开发出针对于老年人群缺血性心血管病发病风险的预警模型,用以解决老年人群缺血性心血管病早期预警的关键问题[22]。在冠状动脉粥样硬化性心脏病的中医药诊疗方面,有学者[23]以MATLAB构建了BP神经网络模型,用于疾病的中医证候。

2.3 随机森林可应用于预测多种疾病风险和比较算法

随机森林算法可用于预测多种疾病风险。为预测糖尿病的概率,随机森林算法被应用于构建出一个功能相对完善的糖尿病预警系统[24]。基于肝硬化患者的临床病历数据,构建了肝硬化患者上消化道出血的随机森林预测模型,用来识别可能发生上消化道出血的肝硬化患者,尽早实施干预以降低肝硬化上消化道出血的发生率及致死率[25]。在与其他算法的比较研究中,研究人员分别用逻辑回归、决策树和随机森林算法建立模型来预测心血管疾病,使用错误率、F1分数、药-时曲线下面积(area under the curve,AUC)值对模型进行评估,发现随机森林模型的预测效果优于逻辑回归和决策树[26]。在冠状动脉狭窄早期风险识别模型中,随机森林算法的综合性能相比logistic回归和BP神经网络更强[27]

2.4 朴素贝叶斯及其改进算法广泛应用于疾病风险预测

朴素贝叶斯算法被广泛应用于对肝脏疾病、代谢综合征、中医疾病等的预测。在原发性肝癌预后的预测中,朴素贝叶斯算法通过若干属性取值预测患者手术后的存活期[28]。在肝脏疾病的分类中,其表现相比于函数式程序设计(functional programming,FP)增长算法更好。高聿琛等[29]研究发现,代谢综合征患病风险的预测中,在纳入12项体格检查指标后,贝叶斯模型平均法的最佳灵敏度和特异度分别为70.8%和81.1%,AUC值为0.824 6。此外,基于云框架实现的改进贝叶斯算法可以进行中医疾病预测,使得样本集的处理效率和疾病分类的准确率显著提高[30]

3 ML算法的特征比较及其在疾病风险预测中的应用启示

上述4种算法在疾病风险预测中都具有较广泛的应用性,并且其精准度、灵敏度和适应性在不同疾病风险预测中各有差异。要实现不同ML算法在各类疾病风险预测中的最佳效果,需充分掌握不同算法的适用条件、优势和缺陷等特征。

3.1 SVM算法适用于训练集样本量小、变量多的疾病风险预测

SVM算法尤其适用于样本量小、涉及变量多的情况[31]。SVM的最终决策函数只由少数的支持向量所确定,不仅避免了“维数灾难”,还能保持较好的“鲁棒性”,即最终结果不应受到模型中存在的数据扰动、噪声及离群点的太大影响。相比于其他方法,SVM更不容易过拟合。虽然SVM训练时间可能非常漫长,但非常精确,尤其在模拟复杂的非线性决策边界的能力方面[32]。SVM算法也具有一些缺陷,对于大规模训练样本难以实施,会耗费大量的机器内存和运算时间;经典的SVM算法只给出了二分类的算法,如要解决多分类问题,就要通过多个二类SVM的组合来解决。综上所述,SVM适用于样本量较少和(或)涉及多个变量的二分类医疗数据,常用于各种慢性疾病的预测。

3.2 BP神经网络适用于训练集样本量大的疾病风险预测

与SVM不同,BP神经网络更适用于大样本量的数据集,其特点如下:①系统在多维输入数据和输出数据处理上有优势;②能够处理任意复杂的非线性问题,所以非线性映射能力较高;③能够并行处理信息或数据,提高了数据的处理能力和性能;④具有较强的自适应性;⑤在数据融合方面较好[33]。但是,BP神经网络也存在一些问题,如:计算结果受初值影响大;系统训练需要较长的时间;系统训练不稳定,如果学习速率过大,权值在修正过程中会超出误差的最小值而永不收敛;算法可能使网络权值收敛到局部极小解,却并不是所求为误差超平面的全局最小解[34]。BP神经网络是应用最广泛的网络之一,常用于慢性疾病的预警以及重大疾病的后果预测,如癌症的死亡率、复发率、存活率预测等。

3.3 随机森林适用于训练集维度高、特征遗失和数据不平衡的疾病风险预测

随机森林的性能相比于其他算法通常更好。处理高维数据、特征遗失数据和不平衡数据,是随机森林算法的长处。如果有很大一部分的特征遗失,用随机森林算法仍然可以维持准确度。对于不平衡的数据集来说,随机森林算法可以平衡误差。因为使用的是无偏估计,随机森林模型的泛化能力较好[35]。对于小样本数据或者特征较少的数据,随机森林算法的分类能力下降。实验证明,随机森林能够比较好地克服过拟合问题,且在分类和回归问题上都能取得较好的效果[36],常用于糖尿病和心血管疾病等慢性疾病的预测。

3.4 朴素贝叶斯适用于训练集特征间完全独立或功能依赖的疾病风险预测

从根本上讲,朴素贝叶斯分类器假设一个类的特定特征的存在与任何其他特征的存在无关。即使基础假设不成立,朴素贝叶斯分类器的表现也相当不错[37]。朴素贝叶斯算法能在2种相反的情况下达到最佳性能,即特征之间完全独立或者特征之间功能依赖[38]。朴素贝叶斯模型有稳定的分类效率,对缺失数据不太敏感,算法也比较简单;对小规模的数据表现很好,能处理多分类任务,适合增量式训练[38]。贝叶斯模型可能由于假设的先验模型导致预测效果不佳,并且对输入数据的表达形式很敏感。朴素贝叶斯在处理文本数据时可以得到较好的分类结果,因此,多被广泛应用于需要处理大量文本的肝脏疾病和中医证候风险预测。

综上所述,ML方法作为人工智能方法的分支,能够基于计算机系统对数据的自我学习,在最小化人为干预的情况下,作出高精度的预测和决策。ML方法较传统的统计学方法有着巨大的优势和良好的发展前景,它依据数据特征建立合适的模型,并在建模过程中自动学习更正。在疾病风险预测领域,ML方法既可以针对特定疾病进行预测,也可以对群发性、突发性的流行疾病进行监测预警。只有基于不同ML算法的特征和适用条件对这些算法更精准地运用,才能通过方法技术的发展,为疾病风险预测领域带来变革。

作者声明本文无实际或潜在的利益冲突

参考文献
[1]
中华人民共和国中央人民政府.三部门印发《关于高等学校加快"双一流"建设的指导意见》的通知[EB/OL]. (2018-08-27)[2019-12-03]. http://www.gov.cn/xinwen/2018-08/27/content_5316809.htm.
[2]
中华人民共和国中央人民政府.中共中央国务院印发《"健康中国2030"规划纲要》[EB/OL]. (2016-10-25)[2019-12-04]. http://www.gov.cn/zhengce/2016-10/25/content_5124174.htm.
[3]
BISHOP C M. Pattern recognition and machine learning[M]. New York: Springer, 2006.
[4]
YANG X L, LI J X, HU D S, et al. Predicting the 10-year risks of atherosclerotic cardiovascular disease in Chinese population:the China-PAR Project (prediction for ASCVD risk in China)[J]. Circulation, 2016, 134(19): 1430-1440. DOI:10.1161/CIRCULATIONAHA.116.022367
[5]
YU W, LIU T B, VALDEZ R, et al. Application of support vector machine modeling for prediction of common diseases:the case of diabetes and pre-diabetes[J]. BMC Med Inform Decis Mak, 2010, 10(1): 16-28. DOI:10.1186/1472-6947-10-16
[6]
梁思远.基于深度学习的小于胎龄儿疾病预测方法研究[D].北京: 北京工业大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10005-1019700671.htm
[7]
张占林, 孙勇, 妥小青, 等. 随机森林算法对体检人群糖尿病患病风险的预测价值研究[J]. 中国全科医学, 2019, 22(9): 1021-1026.
[8]
SATHYA R, ABRAHAM A. Comparison of supervised and unsupervised learning algorithms for pattern classification[J]. Int J Adv Res Artif Intell, 2013, 2(2): 34-38.
[9]
DHAKAN P, MERRICK K, RAÑÓ I, et al. Intrinsic rewards for maintenance, approach, avoidance, and achievement goal types[J]. Front Neurorobot, 2018, 12: 63-68. DOI:10.3389/fnbot.2018.00063
[10]
NGUYEN G, DLUGOLINSKY S, BOBÁK M, et al. Machine learning and deep learning frameworks and libraries for large-scale data mining:a survey[J]. Artif Intell Rev, 2019, 52(1): 77-124.
[11]
刘祎洋.面向健康评估的疾病风险自动预警技术研究[D].沈阳: 东北大学, 2013. http://cdmd.cnki.com.cn/article/cdmd-10145-1014183600.htm
[12]
LI J, CHENG J H, SHI J Y, et al. Brief introduction of back propagation (BP) neural network algorithm and its improvement[M]//JIN D, LIN S. Advances in computer science and information engineering. Berlin, Heidelberg: Springer, 2012: 553-558.
[13]
赵霞. BP神经网络及其在医学领域的应用[J]. 医疗卫生装备, 2010, 31(10): 43-46.
[14]
ZHANG C, MA Y Q. Ensemble machine learning:methods and applications[M]. New York: Springer, 2012.
[15]
石智强.随机森林算法的改进及其在慢性病预警模型中的应用研究[D].北京: 北京工业大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10005-1019700851.htm
[16]
杜瑞杰.贝叶斯分类器及其应用研究[D].上海: 上海大学, 2012. http://cdmd.cnki.com.cn/Article/CDMD-10280-1015574461.htm
[17]
朱晓丹.朴素贝叶斯分类模型的改进研究[D].厦门: 厦门大学, 2014. http://cdmd.cnki.com.cn/Article/CDMD-10384-1014223204.htm
[18]
陈志屹.基于机器学习的肝硬化疾病预测研究[D].长沙: 湖南大学, 2018.
[19]
ASHFAQ A, ALJAHDALI S, HUSSAIN S N. Comparative prediction performance with support vector machine and random forest classification techniques[J]. Int J Comput Appl, 2013, 69(11): 12-16.
[20]
VIJAYARANI S, DHAYANAND S. Kidney disease prediction using SVM and ANN algorithms[EB/OL].[2019-12-04]. http://www.researchmanuscripts.com/March2015/2.pdf.
[21]
李小敏.基于BP神经网络的心血管病预测系统的研究与实现[D].银川: 宁夏大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10749-1018313188.htm
[22]
陈金宏.老年保健人群缺血性心脑血管病预警模型研究[D].重庆: 第三军医大学, 2010. http://cdmd.cnki.com.cn/Article/CDMD-90025-1012281225.htm
[23]
孙贵香.冠心病中医证候数据库系统的构建及其BP神经网络模型的研究[D].长沙: 湖南中医药大学, 2008. http://cdmd.cnki.com.cn/article/cdmd-10541-2009207928.htm
[24]
刘欢.基于随机森林算法建模的糖尿病预警系统设计与实现[D].济南: 山东师范大学, 2019. http://cdmd.cnki.com.cn/Article/CDMD-10445-1019118987.htm
[25]
李金.基于随机森林的肝硬化上消化道出血风险预测[D].太原: 山西医科大学, 2017. http://cdmd.cnki.com.cn/Article/CDMD-10114-1017848845.htm
[26]
郑晓燕.基于机器学习的心血管疾病预测系统研究[D].北京: 北京交通大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10004-1018104572.htm
[27]
于大海.基于BP神经网络和随机森林算法的冠状动脉狭窄风险识别模型研究[D].太原: 山西医科大学, 2019. http://cdmd.cnki.com.cn/Article/CDMD-10114-1019611892.htm
[28]
申羽, 庄天戈, 程红岩, 等. 朴素贝叶斯算法在原发性肝癌预后预测中的研究[J]. 航天医学与医学工程, 2004, 17(5): 350-354.
[29]
高聿琛, 刘保东. 贝叶斯模型平均法对男女5年代谢综合征患病风险的预测效能[J]. 山东医药, 2016, 56(39): 91-94.
[30]
付欢欢.基于云计算的贝叶斯算法在疾病预测中的研究与应用[D].合肥: 中国科学技术大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10358-1016103652.htm
[31]
CORTES C, VAPNIK V. Support-vector networks[J]. Machine Learning, 1995, 20(3): 273-297.
[32]
DEVI P S, SOWJANYA C, SUNITHA K. A review of supervised learning based classification for text to speech system[J]. Int J Appl Innovation Eng Manage, 2014, 3(6): 79-86.
[33]
HAGAN M T.神经网络设计[M].戴葵, 译.北京: 机械工业出版社, 2002.
[34]
BREIMAN L. Random forests[J]. Machine Learning, 2001, 45(1): 5-32.
[35]
汪桂金.随机森林算法的优化改进及其并行化研究[D].南昌: 南昌大学, 2019. http://cdmd.cnki.com.cn/Article/CDMD-10403-1019037538.htm
[36]
ZHANG H. The optimality of naive Bayes[J]. Am Assoc Artif Intell, 2004, 1(2): 3.
[37]
RISH I. An empirical study of the naive Bayes classifier[EB/OL].[2019-12-04]. https://www.researchgate.net/publication/228845263_An_Empirical_Study_of_the_Naive_Bayes_Classifier?citationList=incoming.
[38]
蒋良孝.朴素贝叶斯分类器及其改进算法研究[D].武汉: 中国地质大学, 2009. http://cdmd.cnki.com.cn/Article/CDMD-10491-2009153776.htm