点击上方 【集智书童】 ,选择 【星标】 公众号
期待您我的相遇与进步
1 EM算法的背景介绍
如何用迭代法估计模型的参数,这是EM算法的基础。
在极大似然估计中,用最值的方法,将使得取得最大值的参数作为估计值,有一类概率模型比较简单,只含有观测变量,比如中心一元高斯模型,可以直接利用模型分布的观测变量,然后基于极大似然估计法,估计出这个模型的参数和;
而有一些模型中含有一类隐藏变量,这类变量是不可观测的,这也使得模型无法利用观测变量来直接求导得出估计值,那么就必须要换一种求解的思路,采用一轮一轮迭代的方法,尽可能的逼近真实解。
那么问题来了,
如何迭代?
为什么一定能逼近真实解?
2 抛出EM算法的迭代公式
首先,先看看如何进行迭代,这里先给出EM算法中的参数迭代公式:
上式表示在第轮迭代的过程中,能够利用第轮的参数估计值,去迭代估计出第轮的参数。
那么,在假定一个初值的情况下,就能通过上述的迭代公式一轮一轮的迭代下去。
这种迭代方法为何有效?换句话说,如何能保证从开始,一直到的迭代过程中,每一次迭代都能使似然函数的值不断增大,实现最终的收敛性。本质上,只要保证每次迭代的值都在增大,那么这个方法就是可行的、有效的。
3 EM算法为什么有效???
这里就先说为什么每一轮迭代都可以使似然函数的值不断增大。
利用公式形式化的描述和证明这个问题,即:
对于任意轮数,通过迭代公式的方法实现的迭代之后,一定能够满足logP(X|)小于等于logP(X|),等价于。
下面开始证明。
首先 ,利用贝叶斯公式可以得到观测变量X和隐变量Z的概率关系式:
因此,将隐变量引入log似然函数:
对等式两边同时求关于的期望,也就是求积分:
对于等式左边进行化简得到:
简单说一下,因为与变量Z无关,因此可以拿出到外面,同时,相当于所有概率的和,因此等于1。
因此等式最终变为:
那么,最开始验证,就转化为验证下面这个不等式是否成立:
将不等式拆解成2个部分,如果能够验证下面2部分不等式都成立,那么自然就是成立的。
不等式1:
不等式2:
先看不等式1
更具迭代公式的定义,是使得迭代公式取得最大值的值,换言之就是比取其他值都要大,自然这个其他值也包含了。
所以说,对于:
这个不等式而言,迭代法本身的定义就能够保证其成立。
再看不等式2
这里对于不等式2进行稍微的变形:
这里要使用KL三度来进行相关的计算,也就是相对熵。
KL散度
设和是随机变量X上的2个概率分布,则在离散和连续变量的情形下,相对熵的定义分别为:
KL散度是用来衡量和分布之间的距离,因此具有一个非常重要的性质,那就是非负性 ,即,当和2个分布相同的时候取等号。
下面使用KL散度来辅助不等式2的证明,过程如下:
于是不等式2也得到证明。
那么经过的迭代之后的问题也就得到了证明,也就是说通过一轮一轮的迭代,log似然函数的取值也在不断的增大,最终log似然函数收敛到最大值,待估计参数也就不断趋近于参数的真实值。
4 送书福利
最后,推荐想要打好机器学习基础的同学阅读这本书。
《机器学习中的概率统计:Python语言描述》
GitChat畅销专栏全面升级!用通俗易懂的语言解释了统计推断中最晦涩易混的概念,并且用生活和工作中的实例展示了各个知识点的应用场景,最后通过Python程序教你如何通过计算机实现算法。
这本书实在太好了,小编忍不住要买来送给你们,趁着京东促销的时候屯了2本。虽然少吃了几顿鸡腿,但这本书给我带来的帮助绝不是几顿饭钱能比的。
获取书籍方式:
点击下方关注【 集智书童 】公众号
回复【 机器学习python 】参与抽奖
开奖时间为2021年5月13日中午12:00整
声明:转载请说明出处
扫描下方二维码关注【 集智书童 】公众号,获取更多实践项目源码和论文解读,非常期待你我的相遇,让我们以梦为马,砥砺前行!
扫码关注我们
微信号|集智书童
期待你我在这里相遇
然后共同进步与成长
求分享
求点赞
求在看