[Notes] Machine Learning for Clinic Predictive Analytics

[Paper]

 

为什么是机器学习?

机器学习是由计算机科学、数学、统计学组成的跨学科领域,也是建立智能机器、实现人工智能的途径。机器学习的思路是利用数据(实例与经验)进行学习,将数据喂给模型,算法会基于数据和特定任务学习到优化函数。这种数据驱动的方法目前在许多研究领域都是最先进的方法,例如计算机视觉(Krizhevsky et al.,2012)、NLP(Yala et al., 2017)、语音文本翻译(Wu et al., 2016; Chung et al., 2018; 2019)。与传统需要专家的临床数据分析不同,机器学习的方法能够帮助我们识别数据内部的模式,使用可生成的预测模型作出个性化的临床预测。

临床预测的学习方案

在临床预测的场景下进行机器学习,可按照以下步骤进行:

  • 定义任务的输出
  • 咨询领域专家,确定重要的特征/变量
  • 选择合适的参数和恰当的算法(或设计一个新的机器学习算法)
  • 根据训练集找到优化模型
  • 选择合适的评价指标,使用测试集评估模型
  • 在真实数据中应用该预测模型

机器学习方案

机器学习有许多学习方案,例如监督学习、无监督学习、半监督学习、强化学习,和迁移学习。我们只关注前两种类型,监督学习和无监督学习,这两种方案的目标都是学习数据的潜在分布,寻找数据的潜在模式。两者的区别是,监督学习拥有标签数据,而无监督学习没有标签数据。

监督学习

如果输出定义得好,监督学习是机器学习任务中最常见的学习策略,例如预测病人死亡率、住院时间、药物反应等。监督学习可以根据预测类型或模型类型分为两类:回归问题和分类问题。对于预测连续输出,使用诸如线性回归的回归模型是合适的;但对于分类问题,应该使用逻辑回归、朴素贝叶斯、决策树、支持向量机一类的回归算法。

例如,对于儿童的身高预测,应该使用线性回归;而对于二值的死亡率,使用SVM更加。无论学习目标是什么,判别模型(回归、决策树、SVM)都是使用数据学习判别边界;而诸如朴素贝叶斯的生成模型则是学习数据的概率分布。

无监督学习

由于缺乏相应的输出变量,无监督学习算法直接从给定的无标签数据中发现潜在结构和模式,机器只能发现数据内部的联系和区别(簇),例如我们可以使用无监督学习发现某种疾病的潜在子类型(Ghassemi et al., 2014)。

其他策略

强化学习:交互。例如通过交互地仿真病人状况和动作,改善模型参数,获得反馈奖励,最终模型收敛。

寻找最佳函数

为了评价预测任务的模型,我们需要定义一些标准,因此我们需要一个损失函数和一个代价函数(目标函数)。损失函数定义的是模型预测值与真值之间的距离,不同的机器学习算法需要使用不同的损失函数;代价函数是每个训练集所有损失之和的平均值,我们可以通过定义代价函数来评价模型表现。

在无监督学习中,没有真实数据去计算损失函数,因此我们直接使用输入数据计算输入与输出的距离。例如,对于自动编码器使用重建损失来评价模型是否能够很好地重建输入数据。

评价指标

选择恰当的评价指标对于优化来说至关重要。

监督学习

在分类任务中,经常使用的评价指标是:

  • 准确率 accuracy
  • 精确度 precision/ posictive predictive value (PPV)
  • 召回率/敏感度 recall/ sensitivity
  • 特异性 specificity
  • F1分数

我们使用混淆矩阵来展示。

受试者工作特性曲线下的面积(AUROC)也是常用的评价指标,x轴为FPR,y轴为TPR。根据主观选择的阈值不同,FPR和TPR的值可能会改变。

 在回归任务中,常用的评价指标是校正决定系数。

  • R-square value
  • adjusted R-square value(多元)

此外,还有其他用于不同研究目的的回归评价指标,如AIC、BIC信息准则等。

无监督学习

由于缺乏真实标签,无监督学习的评价指标相对而言难以定义,取决于要求的算法模型。例如,K-means聚类算法使用CH指标(数值越大模型越优)和轮廓系数来评价,而自动编码器使用重构误差来评价。