机器学习在肿瘤登记中的应用介绍
一切技术的出现都是为了解决现实问题,而现实问题分为简单问题和复杂问题。简单问题,我们使用数据进行基本的分析。复杂问题,需要使用机器学习进行复杂分析。
比如医院行政管理人员想知道本院每月恶性肿瘤患者的基本就诊情况,通过对病案首页的信息进行基本分析就可以得到相应平均住院日、平均住院花费等简单指标,这类问题通过简单分析即可得到有用信息。
如果医院行政管理人员想知道本院每月恶性肿瘤患者的详细诊疗情况,并将病人按照一定特征进行分类,然而病案首页上缺少足够的数据,记录都是电子病历上的大段文字,传统的分析方式无法奏效,这时就需要利用机器学习的技术来完成复杂分析,进而实现研究目的。
本节将简单地介绍机器学习在肿瘤研究中的应用。
一、机器学习分类
根据机器学习过程中是否使用数据标签,可将机器学习方法分类为监督学习、无监督学习、半监督学习。
1.监督学习。
利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。例如从< x,y >这样的示例对中学习统计规律,然后对于新的x,给出对应的y。常用的监督学习方法包括:K-近邻(KNN)、线性回归、逻辑回归、支持向量机、决策树和随机森林、神经网络。监督学习可以概括为给定数据、给定结果对应的数据标签、预测未来结果。
2.无监督学习。
无监督学习相比监督学习没有标注数据,也就是y。无监督学习是从一堆数据中学习其内在统计规律或内在结构,学习到的模型可以是类别、转换或概率。这些模型可以实现对数据的聚类、降维、可视化、概率估计和关联规则学习。无监督学习可以概括为给定数据、通过统计方法、自行寻找隐藏的结构。
一些重要的无监督学习算法:
(1)聚类算法:k-平均算法(k-means)、分层聚类算法、最大期望算法(EM)。
(2)可视化与降维:主成分分析(PCA)、核主成分分析、局部线性嵌入、t-分布随机近邻嵌入。
(3)关联规则学习:Apriori 算法、Eclat 算法。
3.半监督学习。
半监督学习是监督学习和无监督学习相结合的机器学习方法,使用大量未标注数据和部分标注数据,目的是尽量减少学习过程中数据的标注工作,同时可以在大型未标注数据集上进行计算,其核心是衡量未标注数据与标注数据之间的相似性。
例如,上传的照片都是大量未标注数据,但会有重复的同一个人的照片,可以通过无监督学习进行分类;如果你为其中一份照片标注了信息,则可以为其他未标注的数据标注信息。
大多数半监督学习算法是无监督式和监督式算法的结合,例如深度信念网络(DBN)。它基于一种互相堆叠的无监督式组件,中间结构称为受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)。
二、典型机器学习方法介绍
1.逻辑回归(Logistic Regression)。
逻辑回归是有监督学习中的经典方法,用于处理模式分类中的二分类问题,如垃圾邮件的是或否,目标对象的真或假,肿瘤诊断的阳性或阴性等。逻辑回归属于广义线性回归的一种,当回归函数因变量服从连续分布则是线性回归,当回归函数因变量服从二项式分布则是逻辑回归。线性回归就是通过学习,训练一条直线y = W T x + b对数据样本进行拟合,如图6-8所示。

图6-8 线性回归拟合示例
由于这种直线拟合只能对连续值进行预测,无法针对二分类问题进行求解。因此需要通过函数映射的方式将连续的线性方程预测值映射为[0,1]两个离散值,且映射函数必须满足单调且可微的条件。最简单的映射函数是“单位条件分段函数”,当线性回归值小于0时输出阴性(逻辑假)结果,大于0时输出阳性(逻辑真)结果,如下式所示。

“单位条件分段函数”虽然简单,但并不具备相对优秀的数学性质,所以使用逻辑函数(Sigmoid 函数)进行替代,如图6-9所示。
逻辑函数的输出在(0,1)之间连续变化,当自变量趋向于负无穷大或正无穷大的时候,逻辑函数的导数无限接近于0。当自变量在0附近时,逻辑函数的导数非常大,使得逻辑函数可以快速在很窄的范围内将输出从0过渡到1。因此逻辑函数不但可以将线性回归结果映射到接近0或接近1,同时保留了变化连续性。这两个优秀的数学性质使得逻辑函数的输出结果可以作为分类后验概率估计融入目标任务的训练和学习中,定义逻辑回归的目标函数如下:

通过极大似然估计算法可将逻辑回归模型的损失函数表示为:

逻辑回归模型的训练目标就是通过梯度下降法和牛顿法,求解使损失函数J(θ)能够取得极大值的参数θ,即多元线性表达的权重向量w 和常量向量b。

图6-9 Sigmoid 函数图形
2.决策树(Decision Tree)。
决策树算法是一个递归选择最优特征,并根据选择的特征对训练数据进行分割,使得划分后的子数据集具有最优分类决策的过程。目标类作为叶子节点,特征属性的验证作为非叶子节点,而每个分支是特征属性的输出结果。其决策过程从根节点触发,测试不同的特征属性,按照其结果选择不同分支,最终到达某一叶子节点(目标类),得到分类的结果。
假设有肿瘤患者数据集LN={l1,l2,l3,…,ln}∈RN×K,每一个肿瘤患者提取了K 项指标作为患者的特征表达,从而构成了肿瘤患者的特征属性集A={a1,a2,a3,…,ak}。为构建决策树分类模型,对肿瘤患者的良恶性进行判断,需要引入基尼系数计算每一个特征属性的纯度值,基尼系数越小,则特征属性纯度越高,该属性下包含的样本属于同一类的概率越高。基尼系数计算方法为:

其中pn 是样本属于第n 类的概率。结合给定的肿瘤患者数据集,令Cn 为数据集中第n 类样本的数量,则基尼系数计算如下:

特别地,对于肿瘤患者数据集,存在特征属性集A,若某个特征属性ak 存在个m取值,则待划分节点上考察特征属性ak 的基尼系数为:

其中Lz 是肿瘤患者样本中特征属性ak 取值为z 的样本数量。当
取值最小时,特征属性ak 就是该节点上的最优特征,并在该节点上根据特征属性ak 对数据集中的样本进行划分。当某个节点
时,该节点为决策数中的叶子节点,其包含样本对应的类标则是该节点的分类结果。肿瘤患者良恶性分类决策树生成示例如图6-10所示。

图6-10 肿瘤患者良恶性分类决策树生成示例
3.K 近邻模型(K-Nearest Neighbor)。(https://www.daowen.com)
K 近邻模型的基本思想是在训练数据集中寻找与当前实例最相似的K 个实例,根据这K 个相似实例中多数所属的类别确定当前实例的分类标记。
如图6-11所示,有两类不同的样本数据,分别用小正方形和小三角形表示,而图正中间的那个圆所表示的数据则是待分类的数据。如果K=3,与圆点的最相似(距离最近)的3个点是2个小三角形和1个小正方形,根据少数服从多数原则,判定待分类数据属于小三角形所代表的一类。由此可以看出,K 近邻模型的关键点有两个:K 值的选择和相似性的度量。

图6-11 K 近邻模型示意图
对于K 值的选择,当选择较小的K 值时,只有少数与待判定实例较近或相似的训练实例才会对预测结果起作用,会增加泛化误差从而造成容易发生过拟合现象;当选择较大的K 值时,相当于用较大领域中的训练实例进行预测。虽然可以有效减少泛化误差,但训练误差却会因此而增大,因为与输入实例较远(不相似)的训练实例也会对最终的判定产生影响。在实际应用中,一般推荐选择一个较小的K 值(如1,3和5),并通过训练过程中的交叉验证找到最合适的K 值。
对于相似性度量,可以通过多种方式进行计算,最常见的是欧式距离:

其中实例x 和实例y 都是包含有n 维特征的向量。在欧式空间中,若样本实例之间的距离度量存在某些问题时,还可以采用曼哈顿距离进行度量:

更加通用一点的度量方式是闵可夫斯基距离:

可以看出,欧式距离和曼哈顿距离其实就是闵可夫斯基距离当p =2和p =1时的特例。相似性度量除度量方式外,更为重要的是各维特征的归一化,其本质是统一各维特征在度量时的量纲。若不对样本实例的各维特征做归一化处理,就好比在度量时将厘米、千克、立方等各种不同的度量单位混在一起评估,度量本身就已经存在问题,就更不可能输出准确的判定结果。
4.随机森林(Random Forest)。
随机森林是一种集成学习算法,首先利用自助采样法(bootstrap sampling)对训练数据进行有重叠的多次随机抽样构建用于基学习器训练的样本子集。每个样本子集训练一棵独立的决策树,整个随机森林就是很多棵互相独立的决策树组成。当输入未知的测试集样本时,随机森林中的每一棵决策树都会对输入样本进行分类判定,然后通过投票法融合集成所有决策树的分类结果从而获得最终的分类判断。随机森林生成及结构如图6-12所示。

图6-12 随机森林示例
自助采样法是随机森林构建的关键步骤之一,针对包含n 个样本的训练数据集,首先随机抽取一个样本放入采样集中记录,然后将抽取的样本放回训练数据集,保证后续采样该样本仍然有可能会被抽取到,从而形成有重叠的抽样状态。重复上述抽样过程n 次,就可以得到含有n 个样本的采样集,训练集中的部分样本会在采样集中多次出现,也有部分会未包含在采样集中。根据多重抽样概率计算可知,当抽样次数趋于无穷时,一个样本始终不被抽样的概率为:

相应地,自助采样法得到的采样集将是包含训练集约63.2%样本的子集。重复采样集的抽样过程T 次,就可以得到T 个具有相互独立性和一定重叠的训练子集。因此,通过这些抽样训练子集构建的基决策树之间就具有了相互独立性,在集成学习理论框架下为随机森林模型提供了性能优秀的基学习器池。
随机森林除了在样本抽样上引入了自助采样法外,在基决策树生成过程的选择最优属性划分上同样引入了自助采样法。传统的决策树是划分节点从包含k 个属性的集合中选择最优属性。而在随机森林中,对基决策树的每个划分节点,首先通过自助采样法抽取包含d 个属性的子集,然后再从子集中选择最优的属性用于划分。这样增加了属性划分的随机性,实现了次优分割。一般情况下,属性子集抽样数量采用d = log2 k。
随机森林具有许多优点,包括不易陷入过拟合,抗噪声能力强,处理高维特征样本不用做特征选择,方便度量样本之间的相似性,易于实现且训练速度快等。同时,随机森林在很多任务中具有强大的性能。
5.深度学习(Deep Learning)。
深度学习是当前最流行也是性能非常强大的人工智能模型之一。其概念源于人工神经网络的研究,典型的深度学习模型就是有很多隐层,具有很深层次的神经网络。深度学习通过组合低层特征形成更加抽象的高层语义表示属性类别或特征,构成数据的分布式特征描述。
深度学习是机器学习中一种基于数据表征学习的方法,即对一幅观测图像,可以通过基于每个像素值的特征向量,一系列抽象的边,特定区域的特定图像来进行表达。这样的好处是采用非监督式或半监督式的特征学习和分层特征提取方法对观测目标构建描述信息,替代了手工“特征工程”中人本身的偏向性影响。随着学习层级的深入,深度学习通过简单的函数将该级的特征描述变换为更高级的语义级表达,因而深度学习也可以看作是许多简单函数的复合。当这些简单函数足够多时,深度学习就可以表达非常复杂的变换。
想要对复杂目标获取足够精准的表达,就必须增加网络的深度(隐层的数量),导致相关神经元之间的连接、阈值、权重等参数也成倍增加,使训练迭代中的误差在多隐层内传播时,呈现发散状态而不收敛,也使误差的反向传播算法(Back Propagation,BP)等经典的神经网络训练算法难以对深度学习网络进行直接训练。无监督逐层训练方法(Unsupervised Layer-wise Training)便成了深度学习有效的训练手段,其基本思想是每次仅训练一层隐层,训练时将上一层隐层作为训练的输入,完成训练后本层就作为下一层隐层训练的输入滚动到新的训练中。当网络中的所有层都完成训练后,再利用BP 等算法对整个网络进行训练。
卷积神经网络(Convolutional Neural Network,CNN)是深度学习模型的典型代表之一,网络结构主要包含卷积核、卷积层、降采样、采样层、全连接隐层几个部分。如图6-15所示,网络的输入是一幅图像,中间依次经过多个卷积层和池化采样层二维图像信号进行处理,然后再全连接层实现与输出目标的映射转换,最终输出识别结果。网络中卷积层中包含多个卷积核(多个神经元组成的特征学习“平面”),当输入信号由卷积层处理时,卷积核会与输入信号进行卷积计算,将原始信号转换为该卷积层的特征图谱。如图6-13中的第一个卷积层中包含有6个特征图谱,分别是原始信号与不同15×15特征学习卷积核作卷积计算的结果。信号经过卷积特征学习后,采样层会对每一个卷积后的信号进行降采样,在保留有用信息的同时减少后续处理的数据量。第一个采样层就是根据第一个卷积层中的特征图谱通过2倍降采样得到的,同样包含6个特征图谱,但图谱的大小16×16是卷积层图谱的一半。在经过多次卷积和采样复合处理后,原始图像信号转化成了一组96维的特征向量,最后通过一个由50个神经元构成的全连接层与输出层连接完成识别任务。

图6-13 卷积神经网络结构图
深度学习已经成为当今这个大数据时代的热门技术,针对各种应用场景、各种处理任务的深度学习模型层出不穷。在医学领域,未来的一段时间内深度学习将发挥越来越重要的作用,继续扮演实现医学人工智能的核心技术。
三、机器学习的应用介绍
自然语言处理(Natural Language Processing,NLP),是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,旨在弥合人与机器人之间的鸿沟,在各个领域都有应用。其在生物医学领域迅速发展,已经成为当前的研究热点。通过自然语言处理汇总和提炼,作用于原本非结构化、杂乱无章的数据,提取其中有用的诊疗信息,最终形成一个严密的治疗网络,从而为后续的各种治疗和研究提供标准和便利。
通过语音识别技术,医生可以快速将处方录入电子健康记录(Electronic health record,EHR)。由于NLP 语音到文本的听写和结构化数据输入方式,其对语音识别的影响与临床文档密切相关,这种方式将医生从繁重的健康记录结构中解放出来,通过分析实时数据,帮助临床医生简化操作流程,让他们有更多时间去护理患者,从而改善患者的体验。
NLP 同样可以识别电子病历记录中有关疾病和治疗的文字陈述,在利用自然语言处理之前,电子病历都是大段非结构化的文字信息,无法利用,如图6-14所示。
而利用NLP 对病历进行细致的、专业的结构化处理,使得病历内容的内在含义为计算机“理解”,实现监控和利用。NLP 通过分词,语义分析等方式将文本数据进行结构化处理,发现不同文字的映射规则,进而得到完整的结构化数据集,如图6-15、图6-16所示。

图6-14 电子病历示意图

图6-15 病历的后结构化,算法引擎示意图

图6-16 病历的后结构化示意图
四、机器学习注意事项
1.机器学习的模型通常是黑箱,可以得到结果,但是不知道每个参数对结果影响的具体作用情况。
2.研究得到的结果好,可能是由于过拟合现象,结果精确地匹配了特定数据集,导致获得的模型不能良好地拟合其他数据或预测未来的观察结果的现象。需要采取外部数据库进行验证,判断推广价值。
3.不是所有情况都适用于机器学习,如果数据集小/代表性差,通常会发生欠拟合,指不能很好地从训练数据中学习到有用的数据模式,从而针对训练数据和待预测的数据,均不能获得很好的预测效果。