【机器学习系列】概率图模型第五讲:Max-Product算法


作者:CHEONG

公众号:AI机器学习与知识图谱

研究方向:自然语言处理与知识图谱

阅读本文之前,先注意一下两点:

1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看

2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:概率图模型第五讲,可添加微信号【17865190919】进公众号讨论群,加好友时备注来自CSDN。原创不易,转载请告知并注明出处!


本文主要介绍概率图推断问题中精准推断算法: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)]

首先了解一下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,xdE)最大,公式表示为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZK05mMer-1615621364378)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png)]

既然说Max-Product算法是Belief Propagation算法的改进,先回顾一下BP算法实现:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9CfpCjU-1615621364384)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png)]

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)]

结合上图再来理解一下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)]

则第一步需要计算随机变量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)]

然后同理计算随机变量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)]

基于 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)]

最后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,xdE)取到最大值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2LZy2Gbg-1615621364422)(file:///C:/Users/zl_sd/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png)]

最终我们求得是的 p ( x a , x b , x c , x d ∣ E ) p(x_a,x_b,x_c,x_d|E) p(xa,xb,xc,xdE)取到最大值得随机变量 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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值