1机器学习算法的分类&选择中国人民解放军总医院医疗大数据中心报告人:王逸飞2019年7月4日CHIMA20192机器学习算法PCALDAK-meansDBSCANSVM逻辑回归随机森林GBDTAdaboostKNNXgboost决策树神经网络CHIMA20193SupervisedLinearDiscriminantAnalysisDimensionReductionTryPCA聚类分类降维回归CHIMA2019401020304特征降维聚类分类&回归总结目录CHIMA20195特征降维特征向量较多时使用SVM进行分类,结果并不理想;随机删除几个特征后,准确率反而提升?CHIMA20196特征降维==特征选择???通过属性间的关系(如组合不同的属性得新的属性)改变原来的特征空间特征选择特征降维从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间找一个高维到低维的映射!删除若干特征!CHIMA20197特征选择按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。如:移除低方差的特征、移除相关性较高的特征Filter(过滤法)Wrapper(包装法)Embedded(嵌入法)根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。如:递归地训练基模型,移除对模型贡献度较小的特征使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。如:基于随机森林的特征选择方法CHIMA20198特征降维无监督的降维找到一个能最大保留数据方差信息的子空间,降维后的数据是原来特征在新空间中的映射值APCA(主成分分析)SVD(奇异值分解)LDA(线性判别分析)无监督的降维将矩阵A分解为三个矩阵UΣVT的乘积,选择Σ中数值较大的几个奇异值及U和VT中对应的奇异向量,完成特征降维。有监督的降维相同类别在超平面上投影之间的距离尽可能近,不同类别投影之间的距离尽可能远,最多降到类别数-1的维数CHIMA20199降维算法的注意事项:➢PCA、SVD、LDA均为线性降维方法,但可引入核函数实现非线性降维,此外还有一些非线性降维方法如Isomap谱嵌入法等➢LDA作为有监督的降维方法,容易使后续的分类过程发生过拟合应用:•PCA是最常用的数据降维方法,可用于图像压缩等领域•SVD可用于推荐系统、自然语言处理等领域,如电子病历文本潜在语义分析•LDA既可以用于降维也可用于分类缺点:•经过降维后的数据与原特征不存在一一对应关系,较难解释CHIMA201910案例分享1——利用PCA对数据集去噪心衰患者是否发生院内死亡预测选取2015-2018年于解放军总医院住院的心衰患者,根据是否发生院内死亡选择正样本1094例,随机筛选负样本1094例,选用94个特征用SVM做分类,利用5折交叉验证法进行结果评估。基本信息3项•性别•年龄•BMI共病信息6项•呼衰•肾衰•脑梗•冠心病•糖尿病•高血压检查信息9项•射血分数•缩短分数•胸腔积液•心包积液•二尖瓣反流•……检验信息76项•血常规类15项•血生化类38项•尿类化验23项SVM5折交叉验证结果训练集AUC测试集AUC未经过PCA降维0.95910.8436经过PCA降维到90维0.90090.8605特征分布情况CHIMA201911聚类想做一个分类问题,但是却没有分类标签?如:疾病可能存在的亚型研究如:疾病风险因素的归类分析CHIMA201912聚类层次聚类凝聚方法AGNES分裂方法DIANA密度聚类DBSCAN原型聚类GMMK-meansAGNESDBSCANGMM聚类方法的类别CHIMA201913对数值型数据进行聚类随机选取K个对象作为初始的聚类中心,把每个对象分配给距离它最近的聚类中心,根据聚类中现有的对象重新计算聚类中心,不断重复此过程直到满足终止条件K-MEANS(K均值聚类)K-means聚类(不断迭代过程)K-modes(k众数聚类)对分类型数据进行聚类采用差异度(属性不相同的个数)来代替k-means算法中的距离CHIMA201914聚类方法优缺点:优点:让数据变得有意义缺点:结果难以解读,针对不寻常的数据组,结果可能无用➢分层聚类:✓不需要预先制定聚类数,可以发现类的层次关系;✓耗时,受离群值影响大➢密度聚类:✓不需要输入类别数,可发现任意形状的聚类簇,可识别离群值;✓无法反映数据尺寸,对高维数据密度难以定义➢K-means聚类:✓简单,最常用;✓仅适用凸的样本集聚类,受离群值影响大➢高斯混合聚类:✓在各类尺寸不同、聚类间有相关关系时可能比k-means聚类更合适;✓需要初始化多个参数高斯混合聚类K-means分层聚类密度聚类原型聚类聚类方法在医学中的应用:1.无监督的医学图像分割2.疾病可能存在的亚型分类研究➢采用聚类分析为早期帕金森疾病分亚型,对致病机制假说的提出和治疗策略的制定有重大暗示3.疾病与模式基因之间的关联关系分析研究4.特征解释CHIMA201916案例分享2——利用层次聚类解释模型肠道菌群与年龄之间的关系研究从公共数据库中选用江苏地区923个健康人(按照年龄被分为7组)粪便检材的16S测序数据,从中获取5621个菌群的丰度值,特征筛选后得到278个菌群的丰度值,用来对不同年龄分组的样本做层次聚类。分组年龄人数幼儿园学生3-6103小学生8-12161中学生13-14114青年人19-24135中年人30-5086老年人60-7986长寿老人94198长寿老人老年人青年人幼儿园学生小学生中年人中学生CHIMA201917分类&回归疾病发病风险预测术式选择术后恢复时间预测药效评估CHIMA201918分类LogisticRegression(逻辑回归)DecisionTree(决策树)RandomForest(随机森林)GBDT(梯度提升树)NeuralNetwork(神经网络)SVM(支持向量机)NaiveBayes(朴素贝叶斯)回归LinearRegression(线性回归)DecisionTree(决策树)RandomForest(随机森林)GBDT(梯度提升树)NeuralNetwork(神经网络)SVR(支持向量回归)分类&回归常用方法CHIMA201919分类&回归算法常见问题:ABC各种算法的优缺点缺失值、异常值对算法的影响冗余特征对算法的影响D是否可进行模型解释,得到特征权重CHIMA201920模型优点缺点线性/逻辑回归1.容易使用和解释。1.要求数据线性可分;2.容易欠拟合。决策树1.易于理解和解释,运行速度快;2.对于噪声干扰具有较好鲁棒性。1.容易过拟合;2.模型结构不稳定。随机森林1.训练速度快;2.泛化能力强,预测精度高。1.取值划分较多的属性会对模型产生更大的影响。梯度提升树1.预测精度高,能处理非线性数据。1.难以并行训练数据,数据维度较高计算复杂度也高。神经网络1.分类准确度高,对噪声有较强的鲁棒性;2.具备联想记忆的功能。1.需要大量的参数,学习时间过长;2.学习过程为黑盒,输出结果难以解释。支持向量机(回归)1.可解决小样本情况下的机器学习问题;2.泛化性能较强1.对缺失数据敏感;2.运行复杂度较高。朴素贝叶斯1.稳定的分类效率;2.模型所需估计的参数很少,算法简单。1.需要计算先验概率;2.分类决策存在错误率。问题一:各种算法的优缺点CHIMA201921案例分享3——树模型会赋予连续变量更大的权重?➢数据来源:2015年解放军总医院医院开展的社区流行病学调查➢研究目的:发掘冠心病的发病风险因素➢样本情况:正、负样本各1590例➢29个特征向量:•性别、年龄、BMI、腰臀比、抽烟、喝酒•共病信息、家族史•生命体征信息、ECG检查信息➢采用模型:随机森林00.050.10.150.20.250.3高血压病程年龄糖尿病病程是否有血脂异常是否有其他共病腰臀比BMI平均收缩压平均舒张压脑卒中病程连续变量离散化前连续变量离散化后CHIMA201922问题二:缺失值、异常值对算法的影响问题三:冗余特征对算法的影响问题四:是否可进行模型解释,得到特征权重模型对缺失值、异常值的敏感度对冗余特征的敏感度是否可得到特征权重线性/逻辑回归敏感一般敏感可以决策树不敏感不敏感可以随机森林不敏感不敏感可以梯度提升树不敏感不敏感可以神经网络不敏感不敏感不可以支持向量机(回归)敏感敏感不可以朴素贝叶斯不敏感敏感不可以CHIMA201923案例分享4——不同分类器对缺失值的敏感度➢朴素贝叶斯对缺失值的敏感程度最低➢KNN(K-最近邻,基于距离的方法)对缺失值的敏感程度最高➢决策树、神经网络对缺失值的敏感程度不高LiuP,LeiL,WuN.AQuantitativeStudyoftheEffectofMissingDatainClassifiers[C]//FifthInternationalConferenceonComputer&InformationTechnology.2005.CHIMA201924分类算法选择的建议:分类需要得到特征权重逻辑回归随机森林其他基于树的bagging或boosting算法不需要得到特征权重逻辑回归随机森林其他基于树的bagging或boosting算法SVM、神经网络CHIMA201925总结CHIMA201926如何选择机器学习算法:312确定数据分析目的降维聚类分类回归了解数据数据量大小缺失值、异常值冗余度数据的分布情况考虑资源合理性软硬件的配置是否满足当前数据集下算法的正常运行CHIMA201927中国人民解放军总医院医疗大数据中心王逸飞CHIMA2019