失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断

西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断

时间:2023-02-25 18:39:00

相关推荐

西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断

文章目录

0. 前言1. EM算法2. 变分推断

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

EM算法是常用的估计参数隐变量的方法,它是一种迭代式算法,EM算法原型

E步:若参数θ\thetaθ已知,则可根据训练数据推断出最优隐变量ZZZM步:若ZZZ的值已知,则可方便的对参数θ\thetaθ进行极大似然估计

1. EM算法

在概率图模型中,主要推断任务是基于观测变量推断隐变量和参数,即p(z∣x,θ)p(z\mid x,\theta)p(z∣x,θ)和θ\thetaθ。

通过EM算法不断迭代:

E步:根据ttt时刻的参数θt\theta^tθt和观测变量推断p(z∣x,θt)p(z\mid x,\theta^t)p(z∣x,θt),并计算联合似然函数p(z,x∣θt)p(z,x\mid \theta^t)p(z,x∣θt),然后计算对数似然LL(θ∣x,z)LL(\theta\mid x,z)LL(θ∣x,z)关于隐变量的期望:

Q(θ;θt)=Ez∣x,θtLL(θ∣x,z)=Ez∣x,θtln⁡p(x,z∣θ)=∑zp(z∣x,θt)ln⁡p(x,z∣θ)\begin{aligned} Q(\theta;\theta^t)=&E_{z\mid x,\theta^t}LL(\theta\mid x,z)\\ &=E_{z\mid x,\theta^t}\ln p(x,z\mid \theta)\\ &=\sum_zp(z\mid x,\theta^t)\ln p(x,z\mid \theta) \end{aligned} Q(θ;θt)=​Ez∣x,θt​LL(θ∣x,z)=Ez∣x,θt​lnp(x,z∣θ)=z∑​p(z∣x,θt)lnp(x,z∣θ)​M步:寻找参数的最大化期望似然:

θt+1=arg⁡max⁡θQ(θ;θt)\theta^{t+1}=\arg\max_\theta Q(\theta; \theta^t) θt+1=argθmax​Q(θ;θt)

2. 变分推断

变分推断通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。

在现实任务中,E步对p(z∣x,θt)p(z\mid x,\theta^t)p(z∣x,θt)的推断可能因为zzz的模型复杂而难以进行,可借助变分推断,令q(z)=p(z∣x,θt)q(z)=p(z\mid x,\theta^t)q(z)=p(z∣x,θt),假设zzz服从分布:

q(z)=∏i=1Mqi(zi)q(z)=\prod_{i=1}^Mq_i(z_i) q(z)=i=1∏M​qi​(zi​)

可求得最优分布qj∗q_j^*qj∗​:

ln⁡qj∗(zj)=Ei≠j[ln⁡p(x,z)]+const⇒qj∗(zj)=exp⁡(Ei≠j[ln⁡p(x,z)])∫exp⁡(Ei≠j[ln⁡p(x,z)])dzj\ln q_j^*(z_j)=E_{i\neq j}[\ln p(x,z)]+const\\ \Rightarrow q_j^*(z_j)=\frac{\exp(E_{i\neq j}[\ln p(x,z)])}{\int \exp(E_{i\neq j}[\ln p(x,z)])dz_j} lnqj∗​(zj​)=Ei̸​=j​[lnp(x,z)]+const⇒qj∗​(zj​)=∫exp(Ei̸​=j​[lnp(x,z)])dzj​exp(Ei̸​=j​[lnp(x,z)])​

若隐变量的拆解或变量子集的分布假设不当,则会导师变分法效率低。

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

如果觉得《西瓜书+实战+吴恩达机器学习(二三)EM算法和变分推断》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。