内容提要:
* 小试牛刀-案例讲解
* EM算法总结
点击蓝字 |关注我们
欢迎回来。上期,我们带着大家一起用「不规则的硬币」例子,介绍了EM算法和隐变量的关系,并且还是基于「猜数+迭代」的思想,阐述了期望最大化的原理。那么这期,我们继续拿个例子来练手,并且说一说EM算法的合理性。
壹 小试牛刀-案例讲解
1.例题说明
❝假设有3枚硬币,分别记作A、B、C。这些硬币正面的概率分别是 ,进行如下掷硬币试验:
先掷「硬币A」,根据其结果选出「硬币B或硬币C」,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作 ,出现反面记作 ;独立地重复 次试验(这里, ),观测结果如下:
假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问「如何估计三硬币正面出现的概率,即三硬币模型的参数」。
❞
2.问题拆解
那么,我们就开始做题吧!首先,我们不妨先来梳理一下这个题干的含义。当投掷A硬币时 ,对应的可以得到下面的结果:
可以看出,当掷出A硬币时,对应的正面朝上的概率是 ,反面朝上的概率自然是 。「A正面则选择硬币B」,继续抛掷,对应的B的正面概率是 ,反面概率是 ;「A反面则选择硬币C」,对应的C的正面概率是 ,反面概率是 。我们把正面的记为 ,反面的记为 。
那么如果我们要得出正面的概率,就是要将上面四种情况汇总一下:「正面概率」为A是正面且B是正面或A是反面且C是正面。
同理,「反面概率」是:
接着,我们把两个概率写在一起,就可以令 为正面, 为反面,汇总为:
接下来,我们就要依据观测结果分别估计出 的值。
假如抛掷了十次,那我们就要求它对应的似然函数,记为:
为了让简化似然函数的连乘过程,我们还是不妨在前面加一个 改成:
其中 。
可以看出,这样去求出极大似然函数,还是非常困难的,那么这时,就体现出EM算法的作用了。
3.采用EM算法
首先,我们先把上期讲义中的期望公式搬过来。
即
其中, 是条件期望, 代表的是B硬币或者C硬币的隐变量, 代表的是观测到的数据,这里自然就是每次掷硬币的结果,我们记为 , 则是已知的 , 。 则是在已知观测结果 和上轮参数 下的条件概率,最终是要求出对应的期望。
列出隐变量为B硬币时的全概率公式
接着,根据贝叶斯公式,我们展开「隐变量B硬币」的贝叶斯公式:
我们看,分子部分对应的值分别是: 表示在已知B硬币和 概率条件下的概率,自然等于:
并且, 表示在已知 情况下的硬币是B时的概率,自然就是A为正面时的概率值。
同理,对于分母中关于硬币C的概率自然是:
列出隐变量为C硬币时的全概率公式
那么,由于此处的隐变量非B则C,所以其实对应的总概率为1,可以得到:
求出期望
为了方便计算,咱们不妨先把隐变量为B硬币的全概率记为 ,C硬币为 。
然后求出所有的期望,即将B硬币朝上的概率乘以B硬币出现的次数和C硬币朝上的概率乘以C硬币出现的次数:
有了期望,就可以令其最大化后,得到下一轮的 ,即 。
令期望最大化,得到ABC硬币的概率
即通过对求偏导,令其为零,分别得到第 轮的A、B、C硬币的概率:
这样就得到了三硬币正面出现的概率表达式啦,然后就可以代入数据进行每轮的迭代,直到参数收敛完成计算。
但是值得注意的是:
❝EM算法和初始值 关系非常大,不同的初始值决定了后面计算出的 不同结果。
❞
贰 EM算法总结
最后,我们再把EM算法的思路提炼一下:
「E步」:E步实现两个目的,第一是找到隐变量对应的分布函数 ,第二是找到对应的期望 。
「M步」:通过期望最大化, ,实现下一轮参数的估计。
好啦,这期的讲义咱们就说到这里,下期开始,我们从数学公式推导的角度带着大家「温故而知新」,说一说EM算法的合理性。我们下期不见不散~
欢迎大家关注简博士的B站和公众号,在公众号私信“入群”,可以与小伙伴们一起讨论问题哦。


先掷「硬币A」,根据其结果选出「硬币B或硬币C」,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作