Machine learning 如何使用EM算法计算患者-观察者示例中的概率

Machine learning 如何使用EM算法计算患者-观察者示例中的概率,machine-learning,Machine Learning,我不知道如何评价我自己,但我会把自己和统计学和机器学习的初学者放在一起 我已经开始阅读关于最大熵似然的书,以及如何使用它们来估计任何给定分布的密度函数的最大概率的参数 我偶然发现了一篇题为“”的好论文。在本文中,提出了一个模型,以估计错误率方面(迹象,症状),即使病人的真实反应是不可用的。第7页的论文给出了一个完整的已解决示例,解释了如何估计每个观察者的错误率和边际概率。然后尝试计算每个患者的指标变量。我知道等式2.3和2.4用于得到表2的结果。我的问题是,我花了很多时间试图弄清楚表4中的结果是

我不知道如何评价我自己,但我会把自己和统计学和机器学习的初学者放在一起
我已经开始阅读关于最大熵似然的书,以及如何使用它们来估计任何给定分布的密度函数的最大概率的参数

我偶然发现了一篇题为“”的好论文。在本文中,提出了一个模型,以估计错误率方面(迹象,症状),即使病人的真实反应是不可用的。第7页的论文给出了一个完整的已解决示例,解释了如何估计每个观察者的错误率和边际概率。然后尝试计算每个患者的指标变量。我知道等式2.3和2.4用于得到表2的结果。我的问题是,我花了很多时间试图弄清楚表4中的结果是如何计算的。它是根据哪个方程计算的

表4中的数字是根据数据,即患者i和患者j的p(T|ij=1 |数据),属于每个类别的每个患者的最终概率。使用方程2.5计算,该方程表示EM算法的E步

更详细地说:

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

  • M步:根据患者类别分配(T_ij)的当前值,使用方程2.3和2.4计算参数(类别martinals,p_j和错误率,pi_jlk)的最大似然估计
  • E-step:根据参数(p_j和pi_jlk)的当前值,使用方程2.5计算T_ij=p(T_ij=1 |数据)的新期望值
可使用方程2.7计算所有参数的当前值的完全可能性,并且这应随着EM的每次迭代单调增加,直到收敛(一旦参数值停止变化)

对于本文给出的数据,p_j和pi_jlk的最终估计(一旦收敛)如表2所示,T_ij的最终估计如表4所示

下面是本文给出的算法的一个简单python实现和示例。(请注意,本次实施的最终估算值与本文中给出的估算值略有不同,可能是因为精度或初始化不同):