基于机器学习的临床事件预测优化

2021-11-27 11:17王晓勇
科技与创新 2021年7期
关键词:日志聚类向量

王晓勇

(首都经济贸易大学,北京 100071)

1 引言

计算机与信息技术的快速发展,使得当今社会的信息呈指数级增长,而如何从这些海量信息中挖掘有价值的信息服务于医疗系统,成为现阶段各界科研人员的焦点。流程挖掘(Process Mining),作为一种从事件日志(Event Log)中提取有价值信息的技术,是业务流程管理(BPM)领域方法的补充。流程挖掘利用现有的数据挖掘技术,对事件日志进行提取处理,建立相关流程模型加以分析,旨在获取流程中有价值的信息,从而改进优化业务流程。这对企业提高效率、降低成本、优化路径,进而扩大经济效益有很大的意义。

近些年来,在众多流程挖掘领域的研究方向中,预测业务流程活动的研究逐渐成为应用比较广泛的方向。其主要原因在于:流程挖掘、深度学习和自然语言处理技术等多个领域研究的快速发展和学科交叉,带动了业务流程活动预测方向的研究。医疗过程日志中包含着丰富的患者信息、检查检验信息、医嘱信息、住院信息等有价值的数据。医生对于病人的诊疗决策是基于自己的知识、经验做出的。但一些基层医疗单位的医生没有三甲医院的医生那么丰富的经验或者先进的医疗条件,从而限制了医生诊断的准确度。

本文的方法是通过构建一个基于改进的LSTM 结构神经网络的预测模型,去预测某一病种临床路径的下一个诊疗活动。而对临床诊疗中下一个诊疗活动的预测,更具体地说,等同于在整个文本内对一句话中下一个单词的预测,通过将流程事件日志解释为文本,痕迹处理解释为句子,事件处理解释为单词,来一步一步预测未来的流程活动事件。因此,本文预测研究基于深度学习和自然语言处理技术,进而构建改进的LSTM 的预测模型,来实现对单病种临床路径中的下一个诊疗活动的预测。

2 数据处理

本研究所需的初始数据是从某三甲医院的信息管理系统中采集的脑卒中患者的单病种真实数据。取得数据后将进行数据清洗操作,主要包括数据拼接组合、合并相近医学术语、去除停用词三方面内容。采集到的数据在众多医疗日志中,主要选取入院初步诊断、医嘱项目、检验项目作为过程日志。将每名患者入院后所做的医嘱项目、检验项目按时间序列顺序组成一条数据,一名患者入院后的所有信息即可视为一个完整的句子,其中每个项目视为句子中的单词。由于整理好的医疗过程日志已经由空格分开,所以可以省略自然语言处理中的“中文文本分词”步骤。

由于医疗数据的复杂性,直接对数据进行预测的效果并不理想,本文提出了一个三步框架:①先按照医嘱信息进行聚类,将原始数据采用无监督学习方法划分为更加相似的组,而后在组内进行进一步预测;②将分组后的医疗日志视为文本,将日志中每个病人的记录视为句子,将记录中的每个诊疗活动类似于句子中的单词,运用自然语言处理模型进行向量化编码;③构建了LSTM 的临床路径预测模型,最后使用Dropout 方法来防止神经网络模型过拟合问题的影响,最终达到预测出后续诊疗活动的目的。

3 文本聚类

本文主要用K-Means 算法对数据进行预处理,首先先利用手肘法和轮廓系数法来选取合适的k值。

手肘法的关键指标是误差平方和(sum of the squared errors,SSE),其主要理念是算法随着k值增大,每个簇的聚合度会越来越高,这时SSE 就会逐渐变小。k小于实际聚类数时,k值增加会使每个簇的聚合度迅猛增加,这时误差平方和的下降速度会较快,由于k的增大会大幅增加每个簇的聚合程度,因此SSE 的降低速度会很快,当k等于真实聚类数时,增加k值就不会使得SSE 快速降低,最后随着k值的增大逐渐平缓。也就是SSE 降低速率减缓的地方就是k值的最佳取值点,其图像为手肘形状,因此被称为手肘法。

轮廓系数法的关键指标为轮廓系数(Silhouette Coefficient)。簇内样本的距离越近,簇与簇之间的距离就越远,轮廓系数就越大,最后的聚类效果就越好。实验证明k取2、3 时轮廓系数最大,与手肘法综合后,本文中k值取2,也就是把原始医疗数据分为两组,这样减少了样本间差异。

4 向量化

在进行聚类之前,本文需要把每条日志之间的相似度问题转化为向量矩阵的问题,创建出格式为(输入词,输出词)的数据元祖,其中每个词都来源于初始文本数据,同时表示成一个one-hot 向量。定义一个模型,将one-hot 向量作为输入和输出进行训练。定义损失函数,用于预测正确的词,这些词来自于输入词的上下文,从而优化模型。通过相似词具有相似的词向量来评估模型。

5 模型实现

本文构建了基于改进的LSTM 的临床路径预测模型,最后使用Dropout 方法来防止神经网络模型过拟合问题的影响。该模型LSTM 中,以词语的多尺度的特征组合,进行预测。例如,医疗日志中的一条事件轨迹为{u,v,w,},它的连续子序列的集合也就是前文所说的输入数据为{u,uv,uvw},输出数据则为{v,w,x,end},其中,end 为代表事件结束的符号。在预测临床路径下一个活动之后,可以多次循环使用网络来预测后续。该模型主要包括聚类分析、词向量、LSTM 层输出层3 个部分。主要的算法流程如下:①初始化神经网络超参数。句子最大长度1 m,每个训练数据批次的大小bs,词嵌入处理的维度d,过滤器大小fs,过滤器的数量fn,LSTM 隐含层节点数目hs,最大迭代次数n,全局学习率lr,学习衰退率ld。②在词向量处理层,将每个病人的诊疗过程作为文本数据,通过词频排序进行编码,将编码好的文本数据通过one-hot 模型中形成词向量,构建词向量矩阵。用词向量的维数来表示宽,每个样本的事件数量来表示长。③将聚类的结果作为输入,降低维度后输入到LSTM 层,把LSTM 层输出的结果作为文本的结果向量,连接全连接层使用Softmax 进行分类,并进行Dropout 操作。④计算交准确率、复杂度和交叉熵损失函数。使用Adam 算法优化损失函数,并基于反向传播不断调整参数。当达到模型设置的最大迭代轮数,或者满足其提前设置的终止要求时,模型结束训练。

6 结论与展望

本文所使用的业务流程数据源自于某三甲医院的医院信息系统(HIS),HIS 是覆盖医院的所有部门,提供患者诊断信息和内部管理信息的信息管理系统。业务流程事件日志的数据集来自于该医院脑卒中患者的用户临床路径数据。

由于可训练参数是随机初始化的,不同的初始值会导致不同的训练结果,其次每一条数据的医疗日志都是按特定顺序排列的,但每条数据之间顺序是任意的,这两个原因会影响神经网络的性能。所以为了解决这些随机的影响,使用十倍交叉验证,即将数据分成10 份,每次用9 份训练,用1份做验证,取最后精度的平均值作为验证结果。

由上述实验结果可知,经过K-Means 聚类后,1、2 数据都较原数据的精确度有了明显提升,可以说明对原始数据进行分类可以提高数据的聚合度,同一组的数据更具有医学相似性。LSTM 预测模型可提高数据准确率,并且在一定程度上可以降低复杂度和交叉熵损失。

未来可以考虑一些其他的神经网络模型,例如GRU 循环网络、双向循环网络、注意力机制等,来进一步提高模型预测的准确率。对于数据向量编码分布式表示方法,本文只选用了Word2Vec 的基本方法。本文还可以通过选择更多的语言模型,例如LBL、NNLM、C&W、GloVe 等,进一步丰富文本的语义信息。此外还可以在进行神经网络提取特征信息进行训练前先自行人工提取一部分特征信息,再与后续特征进行融合,以提高预测模型的性能。扩充实验数据集,笔者们将进一步收集近几年的脑卒中诊疗数据,使得模型中参数能够得到充分地训练优化,提升预测效果。

猜你喜欢
日志聚类向量
一种傅里叶域海量数据高速谱聚类方法
向量的分解
基于知识图谱的k-modes文本聚类研究
一名老党员的工作日志
一种改进K-means聚类的近邻传播最大最小距离算法
聚焦“向量与三角”创新题
读扶贫日志
基于模糊聚类和支持向量回归的成绩预测
雅皮的心情日志
雅皮的心情日志