基于贝叶斯网络的新型细菌性肺炎诊断模型设计与实现

2023-03-05 09:35李妍池
计算机应用文摘·触控 2023年4期
关键词:贝叶斯网络

李妍池

关键词:细菌性肺炎;贝叶斯网络;医疗诊断;无监督学习

1引言

近年来,受环境污染、汽车尾气等因素影响,加之饮食卫生问题频出,人们患细菌性肺炎的概率越来越高。这种肺炎主要是由金葡菌、肺炎链球菌引起的[1],感染后常常表现出干咳、发烧、呼吸困难等临床症状,常见于儿童及65岁老人群体,致死率高达60%[2],严重时极有可能导致肺癌。目前,大多数医院会对患者进行经验性疗法,如使用抗生素,但这种医疗手段的成本较高。如果抗生素选择不当,或治疗措施不全面,很有可能加大患者死亡的风险。此外,用药前必须明确病原菌及其耐药性,这给合理用药造成了极大的困难[3]。

为了更准确地诊断细菌性肺炎,快速评估病情严重程度,降低检测成本,当前,基于计算机断层扫描技术的检测方法受到了广大医疗人员的一致欢迎。通常来说,细菌性肺炎患者的肺部具有典型的影像学特征,包括毛玻璃结节、肺硬化、肺纤维化和多发性病变等[4]。近年来,有许多基于深度学习的患者肺部CT影像病灶分割的方法应运而生,但深度学习模型必须训练海量的数据集才能在准确率上有所提升,训练过程漫长。本文规避了传统深度学习模型的不足,采用贝叶斯网络这一概率模型计算患病的概率,根据概率高低帮助医护人员迅速锁定潜在患者并将之列为重点观察对象,实施服药、转入重症病房等一系列后续措施,从而避免盲目進行CT影像检测,大大减轻医疗人员的工作压力。

2贝叶斯网络理论基础

2.1贝叶斯网络结构

贝叶斯网络(Bayesian

Network)是一种描述基于概率推理的数学模型,是一个有向无环图,它通过不确定性因果关系构建网络,并且能够在已知有限的、不确定的以及不完整的环境下进行模拟推理[5]。贝叶斯网络因具有强大的数学性能,近年来越来越受到研究人员的重视,其在知识学习、医疗诊断、故障诊断、数据分析、视频跟踪、智能控制等领域被广泛应用[6]。其结构如图1所示。

当网络结构较为复杂时,可结合式(1)(2)的变体,计算出网络中各节点的条件概率。

2.2贝叶斯网络的构建

利用贝叶斯网络进行医疗诊断时,首先需要构建出结构合理的网络模型。通常来讲,模型构建分为以下步骤。

(1)确定构建网络所需要的变量以及变量的含义。

(2)进一步确定变量之间的相互关系,根据约束条件确定变量间是否有依赖关系,从而确定节点之间的父子层级关系以及连接关系,作出有向无环图。

(3)根据变量关系计算出网络中每个节点的条件概率,交叉并反复多次进行上述过程,该步骤需要进行结构学习和参数学习。

3应用于肺炎诊断的贝叶斯网络模型建立

3.1变量的选取

本文使用的数据集来自飞桨AI studio提供的症状检测器,包含两张CSV表格,列举了以下变量。

(1)Country:受访者的国家列表。

(2)Age:受访者年龄,分为0~9岁、10~19岁、20~24岁、25~59岁、60岁及以上五个区间。

(3)Symptom:受访者的临床症状,具体为发烧、疲倦、干咳、呼吸困难、喉咙痛、症状疼痛、鼻塞、流涕、腹泻。

(4)Severity:患病严重程度,分为轻度、中度、重度三个等级。

(5)Contact:此人是否与其他确诊细菌性肺炎患者接触过,分为接触、未接触两类。

由于数据过多,直接使用上述变量构建贝叶斯网络会导致计算机负载过大、网络结构复杂,不利于后续计算,为了降低模型复杂度,将一些变量合并,得到整合后的表格,如表1所列。

表1中,列表示具体病例,行表示该病例的症状、年龄、性别、是否感染等。

3.2变量相关性分析

利用SPSS Statistics对变量相关性进行分析,将原始数据表格输入该软件,可得表2。

由表2可知,症状对于是否感染肺炎具有最大的影响,其中发烧(Fev)、疲惫(Tir)、喉咙痛(Sor)、干咳(Dry)、流鼻涕(Run)五个变量对感染肺炎具有最大的影响。另外,受访者的年龄、性别对患病都有一定的影响。按照各变量对感染肺炎的影响大小排序,可以得出以下节点顺序:1-发热,2一呼吸困难,3一疲惫,4一喉咙痛,5一干咳,6一疼痛,7一腹泻,8一流鼻涕,9一鼻塞,10-age 0~9,11-age 60+,12-age 10~19,13-age 20~24,14-age 25~59,15-男性,16-女性。

利用K2搜索算法[7]构建网络模型,在定义评分函数后,该算法可确定出各节点之间的父子关系,评分函数值高的为父节点,反之则为子节点,从而自动学习出最优的网络结构。

3.3贝叶斯网络结构学习

明确节点的父子层级关系和顺序后,利用Matlab中自带的full-BNT工具箱构建贝叶斯网络。网络结构的生成是基于贪心算法的,即以某一个网络结构为初始模型,每次学习调整一条边,计算评分函数,直到函数值不再减小。输入节点名称后,软件自动生成的网络结构如图2所示。

图2中,节点1~16为按照K2算法计算出的顺序排列的症状、年龄及性别,节点17为感染肺炎。该结构图直观地反映出节点之间的关联。由图2可知,各种症状之间存在相互依赖关系,受访者是否感染肺炎受多种因素影响,除表现出的临床症状外,受访者的年龄、性别都会影响最终结果。例如,老年人因身体机能衰退、抵抗力变差,患病的概率大于年轻人。若受访者表现出疲惫的症状,则其发热的概率就会增大。该网络结构可以反映出节点之间的条件约束关系。

3.4贝叶斯网络参数学习

构建完整的贝叶斯网络最关键的一步是利用样本数据集学习每一个节点对应的条件概率,概率值越准确,后续的诊断结果就越精确.因此需要进行贝叶斯网络的参数学习。在原始数据集较为完整、没有缺失值的情况下,通常采用最大似然法进行参数学习。计算各节点的条件概率时,先根据专家经验粗略地计算出先验概率分布,再对数据集进行分析学习,计算出后验概率分布,以此计算出每个节点的条件概率分布表。

4贝叶斯网络诊断结果分析

贝叶斯网络训练好之后即可进行诊断,诊断的过程即通过一些属性或变量的观测值推导出待查询的属性与变量的取值。例如,对于一个60岁男性受访者,观测到此人表现出了发热、流涕、干咳等症状,通过其性别、年龄、临床症状等信息计算出网络中节点17(感染肺炎)对应的联合概率分布表,根据计算值判断此受访者感染肺炎的概率,从而确定是否需要将此人列为重点观察对象,并采取用药、CT观测等后续一系列医疗措施。

在Matlab自带的Full-BNT工具箱中,提供了功能强大的推理引擎。使用联合树推理引擎jtree_inf_engine(),将原始数据集中的1000条样本输入图2网络模型中,每一轮训练都增加1000条样本,直到将10000条样本全部训练完。模型训练完成后,将测试集输入模型中,即输入受访者的症状、年龄、性别等信息,输出该受访者患病的概率。输人数据的格式为:datal=[1;1;1;1;1;1;1;1;2;2;2;1;2;2;1;2;1],即一个1x17的向量,若表现出某种临床症状,则相应位置用1表示,若无此症状用2表示。上述示例中的datal表示一位临床表现为发热、呼吸困难、疲惫、喉咙痛、干咳、疼痛、腹泻、流鼻涕的10~19岁的男性,根据后续的肺部CT检测结果综合判断为确诊病例,而网络给出的诊断结果也是患病,说明网络很好地判断出了该患者的患病情况。

对模型准确率进行测试时,在10000条样本中,模型诊断出的感染肺炎病例数量为7533条,诊断准确率为73.8385%。

当输入新的测试数据时,模型给出的预测结果如表3所列。

表3中,感染概率<50%为低风险,50%~70%为中风险,高于70%为高风险。对于中低风险人群,可采取自行去医院取药等措施,而高风险人群则需要后续进行CT影像检测,根据检测结果进一步确定是否确诊。在后续的测试过程中,对100条受访者的样本进行了测试,将网络给出的测试结果与受访者真实的患病情况进行对比后,发现患病概率为70%以上的受访者的诊断结果最接近真实数据,即处在这一概率区间的受访者的诊断准确率最高。这一结果对于医疗人员快速辨别潜在患者具有一定的指导意义。

5结束语

本文提出一种基于贝叶斯网络的诊断模型,贝叶斯网络是一种有向无环图,可以详细地刻画变量之间的依赖关系,并使用条件概率来描述变量的联合概率分布,非常适合应用于医疗诊断领域。本文首先使用Matlab中的Full-BNT工具箱,结合K2搜索算法得到网络的最优结构,再利用联合树推理引擎得到各节点的条件概率分布,求出最终模型,最后选取了多条样本数据进行测试,将网络计算出的患病概率与患者真实的患病情况进行对比,可以帮助医疗人员快速排查出需要重点观察以及进一步检测的人员,从而避免了大规模CT影像检测造成的资源浪费。

本文提出的模型适用于处理没有缺失值的样本,但在实际生活中受到数据搜集技术手段、患者瞒报信息等因素影响,搜集到的數据往往有较多缺失值。未来应着重研究如何优化模型的结构,从而更好地应用在缺失值的处理上。同时,该模型对于数据集较大的情况还不能很好地应对。为了未来能将该模型应用于各大医院,需要增强模型的健壮性和鲁棒性。将K2搜索算法、D一分离算法等算法结合,探索出一种更高效、性能更优的结构学习算法是一种行之有效的措施,未来应着力研究如何进一步优化网络结构,提升模型的算力,助力医疗人员快速锁定患者,减轻工作压力。

猜你喜欢
贝叶斯网络
贝叶斯网络在用户画像构建中的研究
基于贝叶斯网络的分类器研究
基于分布式贝叶斯网络的多故障诊断方法研究
无人机数据链测试与评估研究
基于贝叶斯网络的流域内水文事件丰枯遭遇研究
基于CHAID算法和贝叶斯网络的基金风险预警研究
基于兴趣预测和热点分析的联合推荐算法研究 
基于贝叶斯网络的企业财务风险研究
基于贝叶斯网络的城市居民出行方式研究