使用MaxEnt方法的医学专家系统L EXMED 由Manfred Schramm,Walter Rampf和作者与Ringnsburg-Weingarten应用科学大学共同开发,与Weingarten 14-Nothelfer医院合作[SE00,Le999 ]。5首字母缩略词L EXMED代表用于医学诊断的学习专家系统。
1. 用形式学方法诊断阑尾炎
急性腹痛[dD91]最常见的严重原因是阑尾炎 – 阑尾发炎,是一种与盲肠相连的盲端管。即使在今天,在许多情况下诊断也很困难[OFY + 95]。例如,最多约
20%的移除附录没有病理结果,这意味着操作是不必要的。同样,有些情况下,发炎的阑尾不会被认出。
早在20世纪70年代初期,就一直试图自动诊断阑尾炎,目的是降低假性疾病的发生率[dDLS + 72,OPB94,OFY + 95]。特别值得注意的是专家系统
4 QP([penguin = yes] – |> [flies = yes])是PIT语法的另一种形式
QP([flies = yes] | [penguin = yes])。
5 该项目由德国巴登 – 符腾堡州,健康保险公司AOK Baden-Württemberg,Ravensburg-Weingarten应用科学大学和Weingarten的14 Nothelfer医院提供资金。
用于诊断急性腹痛,由英国的de Dombal开发。它于1972年公开,明显早于着名的MYCIN系统。
+・・・+ =
迄今为止,几乎所有用于医学的正式诊断过程都是基于分数。分数系统非常容易应用:对于症状的每个值(例如发烧或右下腹痛),医生会记录一定数量的分数。如果点的总和超过某个值(阈值),则推荐某个决定(例如操作)。对于n个症状S 1 ,…,Sn,阑尾炎的评分可以正式描述为
如果w 1 S 1 wnSn>Θ,则诊断阑尾炎,否则为阴性。
通过分数,症状值的线性组合因此与阈值Θ进行比较。使用统计方法从数据库中提取症状的权重。分数的优点是它们的应用简单。可以容易地手动计算点的加权和,并且不需要计算机来进行诊断。
由于此方法的线性,分数太弱,无法模拟复杂的关系。由于贡献WISI症状的硅来计算分数的独立于其他症状,很显然,得分系统不能采取任何“背景”考虑。原则上,他们无法区分症状的组合,例如他们无法区分老年患者的白细胞计数和年轻患者的白细胞计数。
对于一组固定的症状,条件概率比预测的分数要强得多,因为后者无法描述不同症状之间的依赖关系。我们可以证明得分隐含地假设所有症状都是独立的。
使用分数时,又出现了另一个问题。要以良好的质量诊断得出,一定要套上用于统计阻止–矿权数据库严格要求无线网络。特别是它们必须代表使用诊断系统的区域中的患者组。这通常很难保证,如果不是不可能的话。在这种情况下,分数和其他统计方法要么不能使用,要么会有很高的误差率。
2.
混合概率知识库
复杂的概率关系经常出现在医学中。使用L EXMED
,可以很好地建模这些关系并快速计算。在这里,概率命题的使用是必不可少的,其中不确定和不完整的信息可以以直观和数学的方式表达和处理。以下问题可以作为针对专家系统的典型查询:“如果患者是一名患有右下腹疼痛并且白细胞计数为13,000的23岁男性,则阑尾发炎的概率有多高?”配制成条件概率,使用表所用的症状的名称和值范围 7.2 页 133 ,这个读
表7.2 L EXMED中查询使用的症状及其值。每个症状的值的数量在标记为#的列中给出
症状 |
值 |
# |
短 |
性别 |
男,女 |
2 |
Sex2 |
年龄 |
0-5 , 6-10 , 11-15 , 16-20 , 21-25 , 26-35 , 36-45 , 46-55 , 56-65 , 65-70 |
10 |
Age10 |
痛苦第一四。 |
是的,没有 |
2 |
P1Q2 |
痛苦的第二个四分 |
是的,没有 |
2 |
P2Q2 |
痛苦第三四。 |
是的,没有 |
2 |
P3Q2 |
疼痛第四四。 |
是的,没有 |
2 |
P4Q2 |
护 |
本地的,全球的,没有 |
3 |
Gua3 |
反跳痛 |
是的,没有 |
2 |
Reb2 |
攻丝时疼痛 |
是的,没有 |
2 |
Tapp2 |
直肠疼痛 |
是的,没有 |
2 |
RecP2 |
肠鸣音 |
弱,正常,增加,没有 |
4 |
BowS4 |
超声波异常 |
是的,没有 |
2 |
Sono2 |
尿液异常。 |
是的,没有 |
2 |
Urin2 |
温度(直肠) |
-37.3 , 37.4-37.6 , 37.7-38.0 , 38.1-38.4 , 38.5-38.9 , 39.0- |
6 |
TRec6 |
白细胞 |
0-6k , 6k-8k , 8k-10k , 10k-12k , 12k-15k , 15k-20k , 20k- |
7 |
Leuko7 |
诊断 |
发炎,穿孔,阴性,其他 |
4 |
Diag4 |
P(Diag4 =发炎∨ Diag4 =打孔|
Sex2 =雄性∧ Age10 ∈ 21-25 ∧ Leuko7 ∈ 12 ķ -15 K)。
通过使用概率命题,L EXMED能够使用来自非代表性数据库的信息,因为这些信息可以从其他来源得到适当补充。基础L EXMED 是一个数据库,仅包含有关手术切除阑尾的患者的数据。使用统计方法,生成(约400个)规则,将数据库中包含的知识编译成抽象形式[ES99]。由于该数据库中没有患者被怀疑患有阑尾炎但有负面诊断(即不需要治疗),6 数据库中没有关于阴性患者的知识。因此,必须添加来自其他来源的知识。在L EXMED中因此,从数据库收集的规则得到医学专家和医学文献的(约100)规则的补充。这导致了混合概率数据库,其包含从数据中提取的知识以及由专家明确制定的知识。因为这两种规则都是
6,这些负的诊断被表示为“非特异性腹痛” (NSAP) 。
图7.5 概率规则是根据数据和专家知识生成的,这些规则集成在规则库(知识库)中,最后使用MaxEnt方法完成
表示为条件概率(参见第 138 页的例如( 7.14 )),它们可以很容易地组合,如图 7.5 所示,并且在第 127 页的图 7.7中有更多细节。
L EXMED
使用所有相关变量的概率分布计算各种诊断的概率(参见第 133 页的表 7.2 )。因为L EXMED中使用的所有14种症状和诊断被建模为离散变量(甚至连续变量如白细胞值被分成范围),所以可以使用分布的大小(即,事件空间的大小)来确定第 133 页的表 7.2 作为所有症状的值的数量的乘积,或
210 ・ 10 ・ 3 ・ 4 ・ 6 ・ 7 ・ 4 = 20 643 840
元素。由于来自定理 7.1 的归一化条件,因此它具有20 643 839个独立值。每个规则集少于20 643 839个概率值可能无法完全描述此事件空间。为了能够回答任何任意查询,专家系统需要完整的分发。使用统计方法构建如此广泛,一致的分布是非常困难的。7 要求人类专家分配所有20 643 839值(而不是上述100条规则)基本上是不可能的。
这里MaxEnt方法发挥作用。通过以500条规则作为约束最大化熵,在L EXMED中完成约500个规则到完整概率模型的推广。对得到的MaxEnt分布的有效编码导致诊断的响应时间约为一秒。
7 从一组数据生成函数的任务称为机器学习。我们将在Chap中详细介绍这一点。8。
图7.6为L
EXMED为的被检查症状的输入和它下面的所得诊断概率
3.
L EXMED的应用
L EXMED
的使用简单且不言自明。医生访问L EXMED
主页www.lexmed.de
。8 对于自动诊断,医生将检查结果输入图7.6中的输入表格。一到两秒后,他接受了四种不同诊断的概率以及治疗建议(第7.3.5节)。如果某些检查结果作为输入缺失(例如超声波检查结果),则医生选择未检查的输入。当输入更多症状值时,自然地,诊断的确定性更高。
8 无需密码即可访问功能有限的版本。
图7.7 从数据库和专家知识生成规则。通过这些,MaxEnt创建了完整的概率分布。对于用户查询,计算每次可能诊断的概率。使用成本矩阵(见第7.3.5 )的决定是那么建议
每个注册用户都可以访问私人患者数据库,其中可以存档输入数据。因此,早期患者的数据和诊断可以很容易地与新患者的数据和诊断进行比较。
4.
L EXMED的功能
P(Leuko7> 20000 | Diag4 =发炎)= 0。09
在发炎的阑尾的情况下,白细胞值超过20,000的频率为9%。9
L EXMED 数据库中的原始数据包含14,646名患者的54种不同(匿名)值。如前所述,该数据库中仅包括手术切除阑尾的患者。在数据库中使用的54个属性中,经过统计分析后,第133 页的表7.2中显示了14个症状
9代替单独的数值的,间隔也可以在这里使用(例如[ 0 。 06 , 0 。 12 ])。
被使用了。现在,通过两个步骤从该数据库创建规则。第一步确定症状的依赖结构。第二步用相应的概率规则填充该结构。10
确定依赖关系图图7.8中的图表包含每个变量(症状和诊断)节点和连接各个节点的有向边。变量之间边缘的厚度表示统计依赖性或变量相关性的度量。两个自变量的相关性等于零。计算14种症状与 Diag4的每一对的相关性,并在图中列出。此外,计算了诊断和两种症状之间的所有三重相关性。其中,只有最强的值被绘制为两个参与症状之间的额外边缘。
10 有关机器学习的系统介绍,请参阅Chap。8。
1 |
P([Leuco7 = 0-6k] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.132,0.156]; |
2 |
P([Leuco7 = 6-8k] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.257,0.281]; |
3 |
P([Leuco7 = 8-10k] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.250,0.274]; |
4 |
P([Leuco7 = 10-12k] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.159,0.183]; |
五 |
P([Leuco7 = 12-15k] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.087,0.112]; |
6 |
P([Leuco7 = 15-20k] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.032,0.056]; |
7 |
P([Leuco7 = 20k-] |
| |
[Diag4 =是负面] |
* [年龄10 = 16-20]) |
= |
[0.000,0.023]; |
P([Leuco7 = 0-6k] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.132,0.172]; |
|
9 |
P([Leuco7 = 6-8k] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.227,0.266]; |
P([Leuco7 = 8-10k] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.211,0.250]; |
|
11 |
P([Leuco7 = 10-12k] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.166,0.205]; |
12 |
P([Leuco7 = 12-15k] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.081,0.120]; |
13 |
P([Leuco7 = 15-20k] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.041,0.081]; |
14 |
P([Leuco7 = 20k-] |
| |
[Diag4 =是负面] |
* [年龄10 = 21-25]) |
= |
[0.004,0.043]; |
图7.9一些具有概率间隔的L EXMED规则。“ * ”代表“ ∧ ”
估计规则概率依赖关系图的结构描述了学习规则的结构。11 这里的规则有不同的复杂性:有些规则只描述可能的诊断的分布(先验规则,例如( 7.13)),描述诊断和症状之间依赖关系的规则(简单条件的规则) ,例如( 7.14)),最后描述诊断与两种症状之间依赖关系的规则,如图 7.9中的P IT 语法所示。
P(Diag4 =发炎)= 0。40,(7.13)
P(Sono2 =是| Diag4 =发炎)= 0。43,(7.14)
P(P4Q2 =是| Diag4 =发炎∧ P2Q2 =是)= 0。61。(7.15)
为了使所保存知识的上下文依赖性尽可能小,所有规则都包含在其条件下的诊断而不是结论。这非常类似于许多医学书籍的构造,其中含有“我们经常看到的阑尾炎……”的配方。然而,如先前在第 121 页的示例 7.6中所示,这不会产生问题,因为使用贝叶斯公式,L EXMED会自动将这些规则放入正确的形式。
通过在数据库中计算它们的频率来估计这些规则的数值。例如,( 7.14 )中的值通过计数和计算给出
=
| Diag4 = 发炎 ∧ Sono2 = 是 | 0 。43 。
| Diag4 = 发炎 |
11 这和贝叶斯网络之间的区别在于,例如,这些规则都配备了概率区间,并且只有在施加最大熵的原理之后是产生了独特的概率模型。
由于阑尾炎数据库仅包含已经接受手术的患者,因此非特异性腹痛(NSAP)的规则从医学专家的命题中获得其价值。L EXMED的经验确认概率规则易于阅读,并可直接翻译成自然语言。因此,医学专家关于特定症状和诊断的频率关系的陈述,无论是从文献中还是作为访谈的结果,都可以以很少的费用纳入规则库。为了模拟专家知识的不确定性,概率间隔的使用已被证明是有效的。专家知识主要来自参与的外科医生Rampf博士和Hontschik博士及其出版物[Hon94]。
创建专家规则后,规则库就完成了。然后利用P IT系统的最大熵方法计算完整概率模型。
诊断查询
L EXMED使用其有效存储的概率模型,在几秒钟内计算出四种可能诊断的概率。例如,我们假设以下输出:
PIT诊断结果 |
||||
诊断 |
附录发炎 |
附录穿孔 |
负 |
其他 |
可能性 |
0.24 |
0.16 |
0.57 |
0.03 |
必须根据这四个概率值做出决定,以进行四种处理之一:操作,紧急操作,静止观察或观察。12
虽然在这种情况下胜过别人否定的诊断,送病人回家一样健康的概率是不是一个很好的决定。我们可以清楚地看到,即使已经计算出诊断的概率,诊断还没有完成。
相反,现在的任务是从这些概率中推导出最优决策。为此,用户可以让L EXMED计算推荐的决定。
5. 使用成本矩阵进行风险管理
现在如何将计算出的概率最佳地转化为决策?朴素算法将为每个诊断分配决策并最终选择对应于最高概率的决策。假定计算出的概率是0.40用于诊断阑尾炎(发炎或穿孔),0.55用于诊断负,并且0.05为诊断其他。一个天真的算法现在会选择(太冒险)决策“无操作”,因为它对应于具有更高概率的诊断。更好的方法是比较成本
12活动观察意味着患者被释放留在家中。
表7.3 L
EXMED的成本矩阵以及患者的计算诊断概率治疗各种诊断的可能性
发炎的 |
穿孔的 |
负 |
其他 |
||
0.25 |
0.15 |
0.55 |
0.05 |
||
手术 |
0 |
500 |
5800 |
6000 |
3565 |
紧急操作 |
500 |
0 |
6300 |
6500 |
3915 |
Ambulant observ。 |
12000 |
150000 |
0 |
16500 |
26325 |
其他 |
3000 |
5000 |
1300 |
0 |
2215 |
固定观察。 |
3500 |
7000 |
400 |
600 |
2175 |
每个决定可能发生的错误。该误差以“(假设的)当前决策的额外成本与最优成本”的形式量化。给定的值包括医院,保险公司,患者(例如术后并发症的风险)和其他方面(例如缺勤)的成本,同时考虑到长期后果。这些费用见表 7.3 。
・+・+・+・=
最后对每个决定的条目进行平均,即在考虑其频率的同时求和。这些列在表7.3 的最后一列中。最后,建议采用最小平均误差成本的决策。在表7.3的矩阵与用于患者中计算出的概率向量一起给出(在这种情况下:( 0 。 25 , 0 。 15 , 0 。 55 , 0 。 05 ))。该表的最后一列包含计算错误的平均预期成本的结果。操作的价值因此,在第一行中计算为0 。25 0 0 。15 500 0 。55 5800 0 。05 6000 3565,所有成本的加权平均值。输入最优决策时的(附加)成本为0.系统以最小的平均成本决定治疗。因此,它是成本导向代理的一个例子。
二元情形中的成本矩阵
×
为了更好地理解成本矩阵和风险管理,我们现在将L EXMED系统限制为诊断性阑尾炎和NSAP之间的双值决策。作为可能的治疗,可以仅选择具有概率p 1的操作和具有概率p 2的移动观察。因此,成本矩阵是表格的2 2矩阵
。
0 k 2
k 1 0
在对角线上的两个零代表的正确决策操作中的情况下,阑尾炎和走动观察的NSAP。参数k
2代表在没有发炎的阑尾的患者被操作时发生的预期成本。此错误称为误报。另一方面,决定
在阑尾炎的情况下行走观察是假阴性。现在将概率向量(p 1,p 2)T 乘以该矩阵,我们得到向量
(k 2 p 2,k 1 p 1)T
=
两种可能的治疗方法的平均额外费用。因为决策只考虑了两个分量的关系,所以矢量可以乘以任何标量因子。我们选择1 / k 1并获得((k 2 / k 1 )p 2 ,p 1 )。因此,这里只有关系kk 2 / k 1是相关的。通过更简单的成本矩阵获得相同的结果
1 0
0 k ,
=
→∞
它只包含变量k。此参数非常重要,因为它确定风险管理。通过改变k,我们可以适应诊断系统的“工作点”。对于k,系统处于极其危险的环境中,因为没有患者将被操作,结果是它没有给出假阳性分类,而是许多假阴性。在k 0的情况下,条件完全相反,并且对所有患者进行手术。
6.
性能
L EXMED旨在用于医疗实践或救护车。使用L EXMED的先决条件是急性腹痛数小时(但不到5天)。此外,L EXMED(目前)专门针对阑尾炎,这意味着对于其他疾病,该系统包含的信息非常少。
在一项前瞻性研究的范围内,在14 Nothelfer医院建立了一个代表性数据库,共有185例病例。它包含了几个小时的急性腹痛和疑似阑尾炎后来到诊所的医院病人。从这些患者中,注意到症状和诊断(在手术的情况下从组织样品中验证)。
如果患者在停留数小时或1-2天之后被释放回家(没有手术),很少或没有抱怨,之后通过电话询问患者是否仍然没有症状或是否发现阳性诊断后续治疗。
为了简化表示并与类似的研究进行更好的比较,L
EXMED仅限于阑尾炎和NSAP之间的双值区分,如Sect。7.3.5。现在k在零和无穷大之间变化,并且对于k的每个值,根据测试数据测量灵敏度和特异性。敏感度量
| =
P(分类阳性) | 积极和分类积极 | ,
| 积极的 |
图7.10 L EXMED的 ROC曲线与Ohmann评分和另外两个模型的比较
也就是说,正确识别的阳性病例的相对部分。它表明诊断系统的敏感程度。另一方面,特殊性是衡量标准
| =
P(分类负面负) | 消极和分类负面 | ,
| 否定 |
也就是说,正确识别的否定案件的相对部分。
≤∞
我们给出了图7.10中0 k < 的灵敏度和特异性的结果。该曲线表示ROC曲线或接收器操作特性。在我们分析L EXMED的质量之前,先谈谈ROC曲线的含义。将对角线图平分的线绘制成方向。该行上的所有点对应于随机决策。例如,点( 0 。 2 , 0 。 2 )对应于0.8与0.2的灵敏度的特异性。我们可以很容易地通过对概率进行分类而无需查看新案例来达到此目的
0.2为正,0.8为负。因此,每个基于知识的诊断系统必须产生明显位于对角线上方的ROC。
ROC曲线中的极值也很有趣。在点(
0 , 0 )的所有三个曲线相交。相应的诊断系统将所有病例分类为阴性。另一个极端值( 1 , 1 )对应于这将决定做每个病人的操作的系统,因此具有1的灵敏度,我们可以称之为ROC曲线为两值的诊断系统的特性曲线。理想的诊断系统将具有仅由点的特性曲线( 0 , 1 ),并因此具有100%的特异性和100%的灵敏度。
=
现在让我们分析一下ROC曲线。以88%的灵敏度,L EXMED达到的87%(特异性ķ 0 。 6)。为了比较,给出了Ohmann评分,这是一个已知的阑尾炎评分[OMYL96,ZSR + 99]。因为L EXMED
几乎到处都是Ohmann评分的上方或左侧,其诊断的平均质量明显更好。这并不奇怪,因为分数太弱而无法模拟有趣的命题。在Sect。8.6和在第219页的练习8.16中,我们将显示分数等同于幼稚贝叶斯的特殊情况,即假设所有症状在诊断已知时是成对独立的。然而,当将L EXMED与分数进行比较时,应当提及将具有统计代表性的数据库用于Ohmann分数,但是使用专家知识增强的非代表性数据库用于L EXMED。了解L EXMED的质量与Ohmann数据相比较的数据,使用最小二乘法(参见第9.4.1节)计算线性得分,其也用于比较。此外,使用RProp算法对L EXMED数据训练神经网络(参见第9.5节)。结合数据和专家知识的强度清楚地显示在L EXMED曲线与得分系统和RProp算法的曲线之间的差异中。
7.3.7应用领域和经验
L EXMED不应取代有经验的外科医生的判断。但是,由于专家并不总是在临床环境中可用,因此L EXMED查询提供了实质性的第二意见。特别有趣和值得的是该系统在临床救护车和全科医生中的应用。
L EXMED的学习能力,可以考虑进一步的症状,进一步的患者数据和进一步的规则,也为临床提供了新的可能性。对于特别难以诊断的罕见群体,例如6岁以下的儿童,L EXMED可以使用来自儿科医生或其他特殊数据库的数据,以支持有经验的外科医生。
除了直接用于诊断外,L EXMED还支持质量保证措施。例如,保险公司可以将医院诊断质量与专家系统诊断质量进行比较。通过进一步开发L EXMED中创建的成本矩阵(经医生,保险和患者同意),医生诊断,计算机诊断和其他医疗机构的质量将变得更容易比较。
L EXMED指出了一种构建自动诊断系统的新方法。使用概率论语言和MaxEnt算法,归纳地将统计学得出的知识与来自专家和文献的知识相结合。基于概率模型的方法在理论上是优雅的,通用的,并且在小型研究中给出了非常好的结果。
L EXMED 自1999年以来一直在Weingarten的14 Nothelfer医院实际使用,并在那里表现得非常好。它也可以在www.lexmed.de上找到,当然没有保修。其诊断质量与经验丰富的外科医生相当,因此优于普通全科医生或诊所中缺乏经验的医生。
尽管取得了这一成功,但很明显,在德国医疗系统中销售这种系统是非常困难的。其中一个原因是没有自由市场通过其选择机制来促进更好的质量(这里更好的诊断)。此外,在医学方面,即使在2010年,广泛使用智能技术的时间尚未到来。其中一个原因可能是德国医学院院系在这方面的保守教导。