基于BP神经网络原理的医疗辅助平台

2022-03-19 02:00赵文龙马沐光颜弋乔
电脑知识与技术 2022年2期

赵文龙 马沐光 颜弋乔

摘要:针对患者就医前无法预估自身疾病,对检查注意事项准备困难等问题,该文设计一款就医辅助平台,通过预测疾病,给予检查项目建议,指出检查注意事项,帮助患者做好就医准备。该文基于BP神经网络模型,构造用户特征模型,建立一个分块处理主页信息的辅助医疗平台,对患者疾病类型进行预测,指导患者就医。通过测试数据的测试,该模型对于疾病预测准确值可达74%,若以输出可能性最高的前五种疾病作为判断,准确度可达89%。由于实验数据经过理想化处理,该数据集与真实情况存在一定偏差。该平台构想可成为患者就医看病过程中重要的一环,帮助患者在检查前有更充分的准备;同时,该构想可为医院实现迅速分诊提供思路。

关键词:就医辅助平台;神经网络算法;智能导向;基于用户体验的应用优化

中图分类号:R-056        文献标识码:A

文章编号:1009-3044(2022)02-0084-04

现如今,医疗卫生行业存在医疗资源紧缺和分布不均的问题。患者问诊前首先需要对自己的病情有一定的认知,然后选择相应的检查科室,并对有可能的检查项目做好相关准备。而相当一部分患者对自身病情缺乏全面的了解,需要花费大量的时间提前准备。针对此类问题,医疗辅助平台凭借其便捷的操作,在一定程度上帮助患者预测疾病类型,为就医提供建议。

早在1966年,Ledley 和 Lusted[1]就提出了机器诊断的思想。1972年,Willcox et al[2]等人还使用贝叶斯理论来识别细菌疾病。Abeel T[3]通过整合的特征选择技术和支持向量机分类算法进行疾病诊断。Chrysostomos D.Stylios[4]通过人工智能,实现对老年人病症进行快速诊断。在国内,梁建庆等人[5]通过神经网络,设计基于中医核心思维的诊疗系统。李强等人[6]基于神经网络模型,利用患者疾病数据开发远程医疗指导平台。崔莉耀等人[7]利用卷积神经网络进行疾病预测来实现在线网络医疗指导。张强强等人[8]利用卷积神经网络提取关键字并在SVM中进行疾病预测。

而现实生活中,在线医疗辅助平台几乎都是人工辅助的,现有的医疗指导系统仍然不足[7]。例如,利用丁香网进行专家网络会诊,采用人工方式帮助病人初步诊断疾病,给予相关建议。但是,人工网上诊断并不能全天候给予及时建议,且需要支付较高的人工费用。本文基于前人的研究对神经网络进行标注序列化,利用词嵌入在提取训练数据模型上的优势,设计了一款辅助医疗平台[9]。相较于将姓名年龄等特征同时内置到计算模型,考虑到现实中的平台建设,通过创建人物角色模型的方式描述用户需求,对设计目标人群形象、需求和价值观进行一种概括化、视觉化的呈现。用户角色画像将逐步分层、清晰、量化,为产品快速了解用户提供导向性和根据性[10]。本平台从患者的病症出发,基于神经网络预测患者的疾病种类,给出检查项目和检查科室建议,并告知患者检查前的注意事项,提供一种便捷、低成本的预测方法;同时根据市场定位,优化流程,使患者使用便捷,更好地帮助患者为就诊做准备。

1 BP神经网络的模型构建

1.1 BP神经网络模型概述

神经网络算法[11]是对人脑的神经元之间传送信息的形式进行模拟,通过输入层、隐层和输出层这些层次结构,对数据进行调整、评估和分析计算,得到的一类具有学习、记忆、预测和模式识别等功能的智能算法。对于非线性系统,利用BP神经网络可以很好地完成系统内各神经元之间权重值的调整工作。其学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐含层处理后,传向输出层,若输出层的实际输出与期望的输出不合要求,则转入误差和的反向传播阶段。误差反向传播是将输出误差和以某种形式通过隐含层向输入层逐层反向传播,并将误差和分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正单元的依据。这种信号在正向传播与误差反向传播的各层权值调整过程中不断重复地进行。权值不断调整过程也就是网络的学习训练过程。此过程一直进行到网络输出的误差和减小到可接受的程度或进行到预先设定的学习次数为止[11],其流程图如图1。

1.2 疾病预测模型构建

1.2.1 数据说明

为了更直观地表示算法对数据的学习筛选功能,应选取患病人群较为广泛、病症较为常见、症状相对多样的病症类别作为数据样本。这里挑选了30余种呼吸内科相关疾病,并依据医疗数据库中患者常见的疾病症状进行归纳整理和适当简化,选取了每种疾病最为典型,判断依据最充分的五种病症,综合疾病症状出现的概率后模拟实际情况中所收集的3000组病人病症数据,组成数据集,随机选取2700组数据为训练组,另外300组为测试组。

1.2.2 数据预处理

通过TensorFlow的jieba分词将病人疾病特征和疾病名称进行拆词,将每个单独词块使用北京师范大学中文信息研究所与中国人民大学DBIIR实验室研究提供的开源“Chinese-word-vectors” 工具转为词向量,将词向量不足的数据后增添零向量,使每个病人的特征向量值相等。

1.2.3 数据归一化处理

對预处理后的数据标准化处理后进行放大,可得到较好的预测结果,其公式如下:

[z=x-μσ]                              (1)

其中xi为输入变量,i=1,2,...n,N为变量数目,μ为均值σ为标准值,z为最终结果。

[μ=1Ni=1N(xi)]                      (2)

[σ=1Ni=1N(xi-μ)2]                     (3)

1.2.4 模型构建

本研究选取Sigmoid函数作为激活函数[12],记为:

[f(x)=11+e-x]                                  (4)

设输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元,定义如下:

隐含层变量为:

[hj,j=1,2,3,...,p]                                   (5)

输出层变量为:

[yk,k=1,2,3,...,q]                                       (6)

期望值变量为:

[dk,k=1,2,3,...,q]                                       (7)

其中权值为W,偏置为a,b。

在误差正向传播过程中:

对于隐含层:

[hj=f(j=1pWijXI+aj)]                                 (8)

对于输出层:

[yk=f(k=1qhjWjk+bk)]                                   (9)

本模型采用均方差误差函数:

[E=12k=1q(dk-yk)2]                                     (10)

在誤差反向传播过程中:

[Wij=Wij-y∂E∂hxi]                                   (11)

[Wjk=Wjk-y∂E∂yyi]                                     (12)

[aj=aj-y∂E∂h]                                          (13)

[bk=bk-y∂E∂y]                                           (14)

输出层各节点所收到的总输入变化时单样本误差变化率:

[∂E∂y=yk(1-yk)(yk-dk)]                           (15)

隐含层误差变化率:

[∂E∂h=hj(1-hj)k=1qWij(dk-yk)]               (16)

输入层结构图如图2。

2 平台设计

面对复杂的使用场景、市场产品的严重同质化以及在线和离线医疗场景的碎片化使得产品本身的用户体验变得越来越重要。作为医疗辅助系统,本平台不独立设置完全的网上就诊流程而主要为线下就诊提供更好的就诊体验。平台同时在主页信息结构、用户角色模型创建以及数据反馈机制上进行了优化设计。

2.1 优化主页信息结构

信息体系结构的优化是增强用户体验的重要步骤,本次设计在用户界面上围绕“指导科室”“病情预测”和“检查建议”三层主要的模块进行优化以提高产品的质量。通过优化上述三层主要模块,可以使症状的选择、疾病的部门类别划分更加简明清晰,减轻用户在操作过程中的认知负担,提高用户的操作效率,并建立用户对产品的定位意识,对功能流程优化,使用户可以在就医之前了解疾病。

2.2 用户角色模型创建

在设计过程中根据患者的特征对医疗功能模块进行优化。为了更贴合患者群体,用户角色模型可以通过四个步骤构建:在产品的早期进行定性和定量研究,以获得目标用户群的基本特征;筛选样品;邀请用户进行深入采访;建筑肖像[10]。在App产品设计优化的早期阶段,大型医院可以选择不同的时间点进行研究,并在现场分发调查问卷以收集用户的个人信息,并使用在线医疗辅助应用程序确定样本标准;在研究过程中,邀请用户进行深入访谈,涵盖所有级别的用户,以便对线下医院进行深入观察和体验,以分析用户在医疗方面的需求和心理状态;最后,将对先前调查中收集的信息进行分类和分析以达到对用户的精准定位。

3 预测结果分析及平台运行说明

3.1 预测结果

此次研究利用tensorflow编程实现训练样本的BP神经网络模型,用测试样本加以验证。本模型采用早停止法得到最后的参数估计,即在训练过程中不断检测各次迭代的参数所对应模型的误差函数值。训练数据集的误差函数值会持续下降,而测试数据集的误差函数值最终也会下降,但在某次迭代达到最小值后反而会上升,需要取此次迭代所得到的参数估计(而不是训练算法收敛后得到的参数估计)作为最后的参数估计[5]。

3.1.1 预测结果分析

每一次循环学习后,利用测试集进行准确度测试。当循环3000次后,输出一种病症的准确度为74%,其曲线图如图3输出三种病症,有一种预测正确认定则认定本次预测正确,其准确度可达84%,其曲线图如图4;若输出五种病症,有一种预测正确则认定本次预测正确,其准确度可达89%,其准确度曲线图如图5。

3.1.2 误差分析

(1)由于疾病与症状之间并不是完全对应关系,在本质上存在误差,所以会导致测试结果存在偏差。

(2)由于采用结巴分词器和第三方词向量生成器,导致疾病以及症状会分成多个词向量,分词效果不理想,使结果出现误差。

3.2 平台运行流程说明

本文通过已有数据对神经网络模型进行训练。用户在输入病症后,训练好的神经网络会输出对应的病症检查项目、问诊科室以及检查注意事项,将这三者列为患者诊断结果。当输出五种可能的疾病时,其准确度可达89%,因此本平台将输出的可能疾病确定为5种,并给出全部注意事项。

3.3 软件输出及其说明

由神经网络误差曲线可得,在小样本数据下,随着训练次数的增加,虽然BP神经网络准确度曲线有轻微的波动,但整体准确度逐渐提高。由图5可以看出,当同时输出5种疾病时,准确度最高可接近90%,将数据进行综合分析可以满足对大部分疾病的判断,根据其输出结果可以帮助患者做好准备。最终输出结果如图7所示,患者输入病症症状,根据疾病预测结果,系统会将可能性较大的疾病名称列于右方,同时给出患者所需检查,在下方会出现患者进行检查所需的注意事项。

4 总结和展望

近些年来,随着“互联网+”的不断深入以及人工智能的兴起,智能问诊相关的产品和理论不断涌出。本算例在目前研究基础上,通过基于神经网络模型的疾病预测以及平台构建得出以下结论:

(1) 实验结果表明,基于神经网络对于症状的疾病预测理论上可行有效,单个疾病准确率可达74%,若是给予5种可能疾病准确率可达89%。

(2) 在平台构建方面,本项目在主页设计上的简化、分层可以为用户带来更好的使用体验;对用户特征的系统处理可以指导平台后续构建;反馈数据的机制更利于推動线上医疗辅助平台与线下医疗进一步结合。目前平台可以提供给患者相关的检查注意事项。

针对目前的研究成果,可从以下方面进行改进和展望:

(1) 一方面,实验数据并不是真实数据,与现实存在偏差,后续需要进一步完善。另一方面,由于缺乏专业的医学词向量生成器以及jieba分词器存在误差,导致准确度不高,可在此方面进一步提高。

(2) 另一方面,本平台功能较少,未来可在预测疾病的基础上给予患者挂号科室建议,并可与医院进行合作,实现网上一键挂号,使患者得到更便捷的服务。

参考文献:

[1] Willcox W R,Lapage S P,Bascomb S,et al.Identification of bacteria by computer:theory and programming[J].Journal of General Microbiology,1973,77(2):317-330.

[2] Willcox W R,Lapage S P,Bascomb S,et al.Identification of bacteria by computer:theory and programming[J].Journal of General Microbiology,1973,77(2):317-330.

[3] Abeel T,Helleputte T,van de Peer Y,et al.Robust biomarker identification for cancer diagnosis with ensemble feature selection methods[J].Bioinformatics,2010,26(3):392-398.

[4] Voula C.Georgopoulos,Chrysostomos D. Stylios.International Conference on Intelligent Informatics and Biomedical Sciences[C].Okinawa,Japan:IEEE,2017.

[5] 王纯杰,马元嘉,王迪,等.基于Logistic回归和神经网络比较的咽喉反流疾病的精准预测[J].吉林师范大学学报(自然科学版),2020,41(3):36-43.

[6] 李强,吴裕雄,古国照,等.智能辅助诊疗平台设计与探索[J].医学信息学杂志,2019,40(11):32-35.

[7] Yao C L,Qu Y,Jin B,et al.A convolutional neural network model for online medical guidance[J].IEEE Access,2016,4:4094-4103.

[8] 张强强,苏变萍,李敏.基于卷积神经网络的SVM疾病症状分类模型[J].传感器与微系统,2020,39(3):64-67,71.

[9] 王秋颖,李昂,董怡然.基于医疗服务链的移动医疗App现状及问题分析[J].中国医院管理,2018,38(7):48-49.

[10] 黄添誉,许懋琦.移动医疗平台用户体验优化设计研究——以大象就医APP为例[J].工业设计,2018(9):136-138.

[11] 张俊妮.数据挖掘与应用[M].北京:北京大学出版社,2009.

[12] 田娟,朱姝婧,陆强,等.基于BP神经网络预测儿童甲状腺疾病的模型研究[J].中国医学物理学杂志,2020,37(10):1340-1344.

【通联编辑:代影】

2596500511339