马尔可夫模型与图像处理编程
1. 马尔可夫模型基础
马尔可夫模型在处理具有状态转移和输出的问题中非常有用。考虑一个具有四个状态(s1、s2、s3、s4)和四个时间值的问题,如图所示,有一条穿过该问题的路径。
对于目标函数 $L$,我们可以通过计算每个状态下输出的对数概率之和来得到。例如,对于给定的路径,函数 $\Gamma$ 的值为:
$\Gamma = \ln p(y(1) = 2|s(1) = s1) + \ln p(y(2) = 1|s(2) = s2) + \ln p(y(3) = 2.2|s(3) = s3) + \ln p(y(4) = 1|s(4) = s1)$
图中每条边都有一个与之关联的值,由转移概率确定的函数 $\Delta$ 决定。因此,图中每一条可能的路径都对应着目标函数 $L$ 的一个值。
为了找到最佳路径,我们可以使用归纳法。假设在时间 $t$ 时,我们已经找到了到达每个节点的最佳路径,其成本记为 $LB_i(t)$,$i = 1, \cdots, m$。那么,我们可以通过以下公式计算从时间 $t$ 的每个节点到时间 $t + 1$ 的每个节点的成本(共 $m^2$ 次计算):
$L’ {ij}(t + 1) = LB_i(t) + \Gamma(y(t + 1)|s_j(t + 1)) + \Delta {i,j}$
时间 $t + 1$ 时到达节点 $j$ 的最佳路径是这些值中的最大值。当我们最终到达时间步 $N$ 时,终止最佳路径的节点就是最终节点。
该算法的计算复杂度为 $Nm^2$,远小于简单穷举所有可能路径的复杂度 $m^N$。
超级会员免费看
订阅专栏 解锁全文
45

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



