概率图模型-推断|机器学习推导系列(十一)

简介: 概率图模型-推断|机器学习推导系列(十一)

一、概述


总的来说,推断的任务就是求概率。假如我们知道联合概率MV0(Y0W}GE9O28Z8A$W$5K3.png


,我们需要使用推断的方法来求:


ZH%9AM90Z%MQ2(K`@WW0HC8.png


以下是一些推断的方法:


①精确推断:


Variable Elimination(VE,变量消除法)(针对树结构);


Belief Propagation(BP,信念传播,Sum-Product Algo)(针对树结构);


Junction Tree Algorithm(针对图结构)


②近似推断:


Loop Belief Propagation(针对有环图);


Mente Carlo Inference(例如Importance Sampling,MCMC);


Variational Inference


二、Variable Elimination(变量消除法)


  1. 变量消除法


_QE[ZHWHLU$R5$B%S%X)TWY.png

                                                            图结构


对于上述图结构,假如我们希望求边缘概率$@_8YQFKY]%X9I6YFKR79)K.png,我们就可以应用变量消除法:

[0NVL%W){RLP@_LR~9WB2UY.png


  1. 解释

2(T8CT6QCDRP4L}@DPQA4$B.png


如果直接计算上式中的每一项再加起来就会需要相当大的计算量,而且上式只是每个变量都是二值变量的情况下,如果每个变量能取更多的值就会有更大的计算量。变量消除法就是根据某些节点只与图中自己的邻接节点有关这一特性来简化计算,相当于应用了乘法分配律W(Y]NIU~F2TME_VCPZ@Q634.png来避免计算每一项在加起来。变量消除法在上式中的计算过程为:


M1R@}UH~84B)_H%HJX(3Z9N.png


  1. 缺点


变量消除的缺点很明显:


①计算步骤⽆法存储:每次计算一个边缘概率就要重新计算一遍整个图;


②消除的最优次序是⼀个NP-hard问题:对于复杂的图来说,想要找到一个最优的消除次序是困难的。


三、Belief Propagation(信念传播算法)


  1. Variable Elimination算法的计算重复问题


对于以下图结构:


)OF@X~A)E[6BHGI57BAFOUT.png

                                          马尔可夫链


已知联合概率:


4CD0(`]8_S94JO0FZ8S}HL2.png


我们发现在计算Y~}YL(JVG{9X2@D1H7~0J@N.png的边缘概率时的前一部分与在计算K89UQ7YOAK0`]X%JS]D5$]2.png的边缘概率时的一部分重复了,可以想象在求其他边缘概率的分布时也会有大量的重复,而Belief Propagation算法就是来解决这个问题。


  1. Belief Propagation的引出


上面我们一直计算的是有向图的马尔可夫链,现在我们将问题从链结构引申到树结构,从有向图引申到无向图(Belief Propagation只针对树状结构)。举例来说,有如下无向树:


0]]WJ9{)Y@5G2`Z7%YSX4_6.png

                                               无向树


现在我们知道该联合概率的因子分解可以写为:


HDC$3XP7Y6ZB)1FC`A{1[LL.png

SSM07}L{DTRQ8W5]H5(JG{M.png

2BIR6WS8G6_0LJZXF$TOD`Y.png

                                               信息传递


可以想象,在求其他边缘概率时势必会有很多重复的消去过程,但是由于我们已经有了计算%6]45WTZD)%H}([2$KU7[V4.png的通项,我们就可以利用这个公式来消除计算上的重复,而Belief Propagation算法正是利用了这个通项解决了这个问题。


  1. Belief Propagation


Belief Propagation算法的思想是:


@4Z_D~H{0V$JU6YNDVM@@WL.png


Belief Propagation算法首先求所有的信息传递(收集或分发)的过程得到所有的7(WPHU41(MZD`~RQFW%9Q~6.png(图的遍历),然后套用公式计算边缘概率,总的来说也就是RU%`S@@{_BUJ%NWW0O1)4)5.png

U_]W9Y`_HS8C)@7}UY_~AUS.png

                  Belief Propagation算法的信息传递


Belief Propagation算法遍历图的一种方法(Sequential Implementation)如下:


①Get root,assume a is root;


②Collect Message:

3X`3)M)U3XOUXT71ZN{`U`P.png

③Distribute Message:


MX0}G42RDZ1}90G`II7YZWJ.png


还有另外一种遍历的方法(Parellel Implementation),这是一种应用在分布式计算中的方法,可以并行计算,这里不做过多介绍。


  1. Max-product


事实上,信念传播算法分为Max-product和 Sum-product,上面讲的属于Sum-product,与Sum-product不同的是Max-product只需要将把求和符号换成求最大值MBD)T@XH68QUF5W[0S{B250.png的符号即可。Max-product是 Sum-Product算法的改进,也是在HMM中应用到的 Viterbi算法的推⼴。


 8@9%GSHS~LAR74@]KRQ{AB1.png

                                                  无向树


Max-product的作用是用来求一个序列来使得后验概率最大,也就是:


)`3XI0N`G(0IL3OM@XZ12TS.png


求解过程如下:


15NS)E2VPLWQ@Q{Q[QII{45.png


这里也进行了一次类似收集信息的过程:


}9MCGHAJ(J3POU)2XNXZ(_X.png

                                          信息传递


@$9~%N8ZG2NW~5N5DWG~`E1.png

四、概念补充


  1. 道德图


我们常常想将有向图转为⽆向图,从⽽应⽤更⼀般的表达式。对于有向图中的三种结构,有不同的转换方法:


  • 链式(head to tail)


S55E)[UX68OFAOJ_ZK98C12.png

              head to tail


`I@(3U@6{A@3%WX5D6R5K2L.png


这说明A,B和B,C是团,因此可以直接去掉箭头:


FRMSO38}X02TL_TA~450I3H.png

                       无向图


  • V形(tail to tail)


1XYZK[P227`NCFS1F}DRS9W.png

                            tail to tail


_I%7JWZ49AE405QG4TE$GJH.png


这说明A,B和B,C是团,因此可以直接去掉箭头:


RE6{G9]D_8G4~VEVZF]5`05.png

                      无向图


  • 倒V形(head to head)


IBN[~$)[J%O5K]VUO`~VKGJ.png

                              head to head


PZ~OX[UUGS(O)S5F`%Q8}_0.png


这说明A,B,C是一个团,需要在A,C之间加一条线:


GC3JYF8FI@%D}ZIP}8SF)P5.png

               无向图


观察这三种情况可以将有向图到无向图的转换方法的步骤概括为:


①将每个节点的⽗节点两两相连


②将有向边替换为⽆向边


得到的无向图就是道德图。


  1. 因子图

对于⼀个有向图,可以通过引⼊环的⽅式,可以将其转换为⽆向图(Tree-like graph),这个图就叫做道德图。但是我们上⾯的 BP 算法只对⽆环图有效,通过因⼦图可以变为⽆环图。


联合概率的因子图分解方法为:


{LDI%XZT$0X}OJWT_GOZ]U3.png

其中:


O6}724{2VYCPV3QEFR$LP4C.png


有以下无向图:


ZTH(VGDD6V9HB8PCF_U4T{R.png

                       无向图


可以将其转换成一个简单的因子图:


9}N}3YOQK153$}ME{7]$}PW.png

                        因子图


AB81$NQ`GD[D0M7G1OG5][J.png

因子图不是唯一的,可以看做对因子分解的进一步分解,比如以下分解:


Z7KRAZW4{2TMAP$5J_89AV7.png

                             因子图


8GE`I4O%1K2`K5U(O@GUVYO.png

[XJ_]@CM5~AV}5JMQ_[%O9E.png

                                                          分层


也就是说因子图可以做到随机变量节点之间不直接相连,只与因子节点相连,因子节点只与变量节点相连。

相关文章
|
28天前
|
人工智能 JSON 算法
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
阿里云的人工智能平台 PAI,作为一站式、 AI Native 的大模型与 AIGC 工程平台,为开发者和企业客户提供了 Qwen2.5-Coder 系列模型的全链路最佳实践。本文以Qwen2.5-Coder-32B为例,详细介绍在 PAI-QuickStart 完成 Qwen2.5-Coder 的训练、评测和快速部署。
Qwen2.5-Coder 系列模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
|
13天前
|
编解码 机器人 测试技术
技术实践 | 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型快速搭建专业领域知识问答机器人
Qwen2-VL是一款具备高级图像和视频理解能力的多模态模型,支持多种语言,适用于多模态应用开发。通过PAI和LLaMA Factory框架,用户可以轻松微调Qwen2-VL模型,快速构建文旅领域的知识问答机器人。本教程详细介绍了从模型部署、微调到对话测试的全过程,帮助开发者高效实现定制化多模态应用。
|
1月前
|
机器学习/深度学习 PyTorch API
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
Transformer架构自2017年被Vaswani等人提出以来,凭借其核心的注意力机制,已成为AI领域的重大突破。该机制允许模型根据任务需求灵活聚焦于输入的不同部分,极大地增强了对复杂语言和结构的理解能力。起初主要应用于自然语言处理,Transformer迅速扩展至语音识别、计算机视觉等多领域,展现出强大的跨学科应用潜力。然而,随着模型规模的增长,注意力层的高计算复杂度成为发展瓶颈。为此,本文探讨了在PyTorch生态系统中优化注意力层的各种技术,
64 6
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
|
21天前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
39 12
|
28天前
|
机器学习/深度学习 Python
机器学习中评估模型性能的重要工具——混淆矩阵和ROC曲线。混淆矩阵通过真正例、假正例等指标展示模型预测情况
本文介绍了机器学习中评估模型性能的重要工具——混淆矩阵和ROC曲线。混淆矩阵通过真正例、假正例等指标展示模型预测情况,而ROC曲线则通过假正率和真正率评估二分类模型性能。文章还提供了Python中的具体实现示例,展示了如何计算和使用这两种工具来评估模型。
48 8
|
28天前
|
机器学习/深度学习 Python
机器学习中模型选择和优化的关键技术——交叉验证与网格搜索
本文深入探讨了机器学习中模型选择和优化的关键技术——交叉验证与网格搜索。介绍了K折交叉验证、留一交叉验证等方法,以及网格搜索的原理和步骤,展示了如何结合两者在Python中实现模型参数的优化,并强调了使用时需注意的计算成本、过拟合风险等问题。
50 6
|
1月前
|
机器学习/深度学习 数据采集 算法
从零到一:构建高效机器学习模型的旅程####
在探索技术深度与广度的征途中,我深刻体会到技术创新既在于理论的飞跃,更在于实践的积累。本文将通过一个具体案例,分享我在构建高效机器学习模型过程中的实战经验,包括数据预处理、特征工程、模型选择与优化等关键环节,旨在为读者提供一个从零开始构建并优化机器学习模型的实用指南。 ####
|
1月前
|
人工智能 边缘计算 JSON
DistilQwen2 蒸馏小模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
本文详细介绍在 PAI 平台使用 DistilQwen2 蒸馏小模型的全链路最佳实践。
|
1月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的线性回归模型
本文深入探讨了机器学习中广泛使用的线性回归模型,从其基本概念和数学原理出发,逐步引导读者理解模型的构建、训练及评估过程。通过实例分析与代码演示,本文旨在为初学者提供一个清晰的学习路径,帮助他们在实践中更好地应用线性回归模型解决实际问题。
|
1月前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?