EM程序对初学者来说或多或少是黑魔法。使用监督数据估计HMM的参数(例如)。然后解码未加标签的数据,使用向前或向后“计数”事件,就好像该数据已被加标签一样。为什么这会使模型更好?我确实对数学有所了解,但我一直希望对数学有所了解。
EM程序对初学者来说或多或少是黑魔法。使用监督数据估计HMM的参数(例如)。然后解码未加标签的数据,使用向前或向后“计数”事件,就好像该数据已被加标签一样。为什么这会使模型更好?我确实对数学有所了解,但我一直希望对数学有所了解。
Answers:
只是为了保存一些键入内容,请调用观测数据,缺失数据(例如HMM的隐藏状态)以及我们试图找到的参数向量(例如过渡/发射概率)。
直观的解释是,我们基本上作弊,假装我们知道因此我们可以找到Z的条件分布,这反过来又使我们能够找到的MLE (暂时忽略了我们基本上在做循环的事实论点),然后承认我们作弊,为新的更好的值,然后再做一次,直到我们不再作弊为止。
从技术上讲,通过假装我们知道实际值,可以假装我们对Z |的条件分布有所了解。{ X ,Q },它使我们可以改善对Q的估计,现在我们假装为Q的实际值,因此我们可以假装对Z |的条件分布有所了解。{ X ,Q },这使我们可以改善对Q的估计,以此类推。
从技术上讲,如果我们知道,就可以使log (f (Q | X ,Z ))最大化并得到正确的答案。问题是我们不知道Z,并且对Q的任何估计都必须依赖它。但是,如果我们想找到最好的估计(或分布)ž,那么我们需要知道X和Q。如果我们需要独特的最大化器,我们就会陷入困境。
我们的“输出”是-对于任何估计(称为Q n)-我们都可以找到Z |的分布。{ Q n,X },因此我们可以使Q |的期望联合对数似然性最大化。{ X ,Z }关于Z |的条件分布 { Q n,X }。该条件分布基本上告诉我们Z如何取决于给定X的Q的当前值,并让我们知道如何更改以针对特定的Q值(我们称为Q n)同时增加Q和Z的可能性。选出新的Q n + 1后,我们将得到Z |的不同条件分布。{ Q n + 1,X },因此必须重新计算期望值。