作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,先注意一下两点:
1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看
2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:概率图模型第五讲,可添加微信号【17865190919】进公众号讨论群,加好友时备注来自优快云。原创不易,转载请告知并注明出处!
本文主要介绍概率图推断问题中精准推断算法:Max-Product算法。
一、本文结论:
Belief Propagation又被称为Sum-Product算法,Max-Product算法是Sum-Product算法的改进,Sum-Product算法是求边缘概率分布,Max-Product算法是在求最大后验条件概率分布。
二、正文内容
Max-Product算法是Belief Propagation的改进,同时可认为是Viterbi算法的推广。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QhfAJ64T-1615621364370)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)]](https://i-blog.csdnimg.cn/blog_migrate/43477fcf64a01926ee7c2b201b77e931.png#pic_center)
首先了解一下Max-Product算法求解哪种问题,如上图所示:节点 a , b , c , d a,b,c,d a,b,c,d分别代表随机变量 x a , x b , x c , x d x_a,x_b,x_c,x_d xa,xb,xc,xd, E E E代表图中所有其他节点,Max-Product算法可以用于寻找最优的随机变量 x a , x b , x c , x d x_a,x_b,x_c,x_d xa,xb,xc,xd的组合已使得概率 p ( x a , x b , x c , x d ∣ E ) p(x_a,x_b,x_c,x_d|E) p(xa,xb,xc,xd∣E)最大,公式表示为:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZK05mMer-1615621364378)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png)]](https://i-blog.csdnimg.cn/blog_migrate/c4b71f6d936b6ed7ffcb074d8cfd13cd.png#pic_center)
既然说Max-Product算法是Belief Propagation算法的改进,先回顾一下BP算法实现:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9CfpCjU-1615621364384)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png)]](https://i-blog.csdnimg.cn/blog_migrate/355be8a80110b92e22389c4dfdf1ac6d.png#pic_center)
BP算法是在求图中随机变量的边缘概率分布,而Max-Product算法是在求最大后验条件概率分布。Belief Propagation算法又被称为Sum-Product算法,看起来和Max-Product算法只差了Sum和Max的区别,实际在公式上也只需要求和符号换成Max符号即可,因此这里先给出Max-Product算法的实现公式:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELZEIEHM-1615621364389)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png)]](https://i-blog.csdnimg.cn/blog_migrate/8d12e7ec79f52353663e5ddc3940edba.png#pic_center)
结合上图再来理解一下Max-Product算法的实现过程,以及图中 m j − > i m_{j->i} mj−>i的含义。如果基于上图我们使用Max-Product算法求解如下最优化问题:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ITWYSHI9-1615621364394)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png)]](https://i-blog.csdnimg.cn/blog_migrate/1572eff9773b2853b2671634100e09b6.png#pic_center)
则第一步需要计算随机变量c取何值时 m c − > b m_{c->b} mc−>b取到最大值:
![链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ynyCeyUF-1615621364399)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png)]](https://i-blog.csdnimg.cn/blog_migrate/e10e19e5e97b3ea79d0e60217b18148d.png#pic_center)
然后同理计算随机变量d取何值时 m d − > b m_{d->b} md−>b取到最大值:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UcmJe4ky-1615621364405)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png)]](https://i-blog.csdnimg.cn/blog_migrate/22c4eabbee00484607af853769c08b46.png#pic_center)
基于 m c − > b m{c->b} mc−>b和 m d − > b m{d->b} md−>b求解随机变量b取何值时 m b − > a m_{b->a} mb−>a取到最大值:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mYZlWIzm-1615621364420)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png)]](https://i-blog.csdnimg.cn/blog_migrate/efbb5dd67865ca15a6953ebeaa8759b3.png#pic_center)
最后b,c,d的值都确定了,再随机变量a取何值时最终 p ( x a , x b , x c , x d ∣ E ) p(x_a,x_b,x_c,x_d|E) p(xa,xb,xc,xd∣E)取到最大值
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2LZy2Gbg-1615621364422)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png)]](https://i-blog.csdnimg.cn/blog_migrate/1ee9cbd5212262a324455fed54293012.png#pic_center)
最终我们求得是的 p ( x a , x b , x c , x d ∣ E ) p(x_a,x_b,x_c,x_d|E) p(xa,xb,xc,xd∣E)取到最大值得随机变量 x a , x b , x c , x d x_a,x_b,x_c,x_d xa,xb,xc,xd的最优值 x a ∗ , x b ∗ , x c ∗ , x d ∗ x_a^*,x_b^*,x_c^*,x_d^* xa∗,xb∗,xc∗,xd∗。这边是Max-Product算法的实现流程。
参考视频资料:【机器学习】【白板推导系列】 作者:shuhuai008
参考书籍资料:Pattern Recognition and Machine Learning 作者:Christopher Bishop
Max-Product算法精讲

41

被折叠的 条评论
为什么被折叠?



