在
考虑我们有一些身高数据,
请仔细体会,我们现在从一个身高的数据分布中进行抽样,得到了上面的数据。我们知道每条具体抽样的身高数据,要么来自男生,要么来自女生。 这个“身高的数据分布”背后实际上对应着一个男生女生分布。怎么理解这里的对应?我们可以理解,每次抽样一条身高数据,同时也是从男生女生分布中抽样了一个样本。
一条身高数据样本<—>一个男生女生分布中的样本
唯一的不同,作为身高数据样本,我们是可以看到样本的具体值的,也就是上面的身高数字,但是当将该抽样作为男生女生分布中的样本时,我们是看不到样本的具体值的,即不知道该样本到底是来自男生还是女生,这就是“隐”的含义。
我们记身高数据分布为
观测变量可以由隐变量生成,即:
理解这个公式,我们可以使用上面男生女生身高的例子。假设男生身高分布为
一般化,
对于连续变量,公式3可以写成:
上面的公式可以类比全概率公式来理解。为便于理解,下面都使用
有了上面含隐变量公式,我们可以用log-likelihood来求解模型参数。 我们知道log-likelihood的公式是:
此时,需要注意一下,
符号
对上面的式子进行求梯度,得到:
有了梯度,就可以使用梯度上升法来优化模型参数。万事大吉? 其实没那么容易。上面基于梯度求解,有个难以忽视的问题:
通过梯度进行更新,难以满足非负约束。
上面的公式中,有两个分布:
以及
因为是概率分布,需要是正数。仅通过梯度更新,很容易破坏这个约束。
至此,我们理解了隐变量,也尝试基于隐变量方案的最大似然求解,由于遇到了计算上的困难,导致无法求解。 EM算法就是来帮我们绕过这个困难的。
EM算法的起手式,就是对上面的
其中:
这里我们细细体会一下这个分解和之前的分解的差别。之前的分解是:
现在我们继续推导公式7。
假设,我们在第n次迭代中,已经有了一个
这步变化,是最费解的,就是为什么要这么变形。我们暂且不管,继续推导一步,答案就会揭晓。
我们知道
那么,我们只要想办法最大化
这个,就是千呼万唤的
让我们回顾一下,刚才那个看似很奇怪的变形,其本质是通过构造一个
等等,刚才说梯度下降难以满足非负约束,这里难道就满足了吗?答案是满足了。
只要我们保证初始化时
还有,文章开头提到了
如果用
最后一步就是使用的
不过,使用
Gitalk 加载中 ...