【问题标题】:How to compute probabilities in patient-observer example using EM algorithm如何使用 EM 算法计算患者观察者示例中的概率
【发布时间】:2014-07-31 02:34:38
【问题描述】:

我不确定如何评估自己,但我会将自己置于统计和机器学习的初学者中。
我已经开始阅读最大熵似然以及如何使用它们来估计为任何给定分布的密度函数提供最高概率的参数。
我偶然发现了一篇名为“Maximum likelihood estimation of observer error-rates using the EM algorithm”的好论文。本文提出了一个模型,即使无法获得患者的真实反应,也可以估计各方面(体征、症状)的错误率。第 7 页的论文给出了一个完整的解决示例来解释如何估计每个观察者的错误率和边际概率。然后尝试计算每个患者的指标变量。我知道方程 2.3 和 2.4 用于得到表 2 的结果。我的问题是我花了很多时间试图弄清楚表 4 中的结果是如何计算的。它是根据哪个方程计算的?

【问题讨论】:

    标签: machine-learning


    【解决方案1】:

    表 4 中的数字是给定数据的每个患者属于每个类别的最终概率,即患者 i 和类别 j 的 p(T_ij = 1 | data)。它们是使用等式 2.5 计算的,它表示 EM 算法的 E 步。

    更详细的:

    在 EM 的每次迭代中,算法都会做两件事:

    • M 步:使用公式 2.3 和 2.4,根据患者类别分配 (T_ij) 的当前值计算参数(类别 martinals,p_j 和错误率,pi_jlk)的最大似然估计。
    • E-step:使用公式 2.5,根据参数(p_j 和 pi_jlk)的当前值计算 T_ij = p(T_ij = 1 | data) 的新预期

    所有参数的当前值的完全似然可以使用方程 2.7 计算,并且这应该随着 EM 的每次迭代而单调增加,直到收敛(一旦参数的值停止变化)。

    对于论文中给出的数据,p_j 和 pi_jlk 的最终估计(一旦事情已经收敛)在表 2 中给出,T_ij 的最终估计在表 4 中给出。

    这是论文中给出的算法和示例的简单python实现。 (请注意,此实现的最终估计与论文中给出的略有不同,可能是因为精度或初始化的差异): https://github.com/dallascard/dawid_skene

    【讨论】:

      猜你喜欢
      • 2019-08-31
      • 1970-01-01
      • 2021-03-20
      • 1970-01-01
      • 2013-10-21
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      相关资源
      最近更新 更多