链与树模型的推理方法
在实际的模型推理中,我们常常会遇到链模型和树模型。下面将详细介绍这些模型的推理方法,包括最大后验概率(MAP)推理、边际后验推理等,并探讨相关算法的实现。
1. 链模型的MAP推理
在链模型中,我们可以利用动态规划高效地进行MAP推理。计算累积总和$S_{n,k}$时,使用递归公式:
$S_{n,k} = U_n(w_n = k) + \min_{l}[S_{n - 1,l} + P_n(w_n = k, w_{n - 1} = l)]$
同时,在每个阶段缓存达到此最小值的路径。当到达右侧时,找到使总成本最小的最终变量$w_n$的值:
$\hat{w} N = \arg\min {k}[S_{N,k}]$
然后根据到达此值所遵循的路径设置其余标签${\hat{w} n} {n = 1}^{N - 1}$。这种方法利用了观测值和状态之间联合概率的因式分解结构,大大节省了计算成本。该过程的复杂度为$O(NK^2)$,而通过暴力搜索每个可能解的复杂度为$O(K^N)$。
2. 树模型的MAP推理
对于树模型,以图中的模型为例,状态的先验概率因式分解为:
$Pr(w_1\cdots6) = Pr(w_1)Pr(w_3)Pr(w_2|w_1)Pr(w_4|w_3)Pr(w_5|w_2,w_4)Pr(w_6|w_5)$
我们的目标是找到:
$\hat{w} 1\cdots6 = \arg\max {w_1\cdots6}\left[\sum_{n = 1}^{6}\log[Pr(x_
超级会员免费看
订阅专栏 解锁全文
28万+

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



