关于Bellman最优化原理和动态规划的个人理解

最近一直在研究模板匹配方法的过程,起先一直对模板匹配的过程不能够有一个充分的理解,开始时是对模板序列和样本序列的组织不能够理解,后期又是对其中的关系不能够有清醒的认识,再之后又对Bellman的最优化原理不能够很好的理解,总之是没完没了的看书,找方法。现在对这个过程做一个个人的总结:

一、基于最优路径搜索技术的侧度

    在我进行的工作当中主要是针对相对简单的测试样本波形和参考模板波形进行对比,获取他们的匹配程度。

    1、首先需要创建一个参考模板r(i),i = 1,2,...,I 和测试样本t(j), j = 1,2,...,J 的对应关系,建立一个二维的表格,两个序列的元素作为各自坐标轴的点,即参考模式的序列在横坐标轴(i 轴),测试模式的序列在纵坐标轴(j 轴),组建好这个表格后,在表格的横纵交叉结点上(i,j)都对应一个代价值,它有一个合适的定义函数d(i,j),用于测量各自波形元素 r(i) 和 t(j) 之间的距离。计算从原点(0,0) 到 (I, J)的所有路径的最小距离值D,这个路径成为两个序列的最小代价路径,它揭示了两个序列元素之间的成对对应的最优关系,因为两个序列的长度不同,所以这种对应关系是今后进行匹配操作的关键(如何能够使两个序列依据最小路径进行转换还没有找到明确的方法)也就是说,在模板匹配的第一前提是获取当前两个序列的最优路径,从而获得测试样本与参考模板的完整对应序列。


   2、为了获得可能的最优路径,必须寻找所有可能的路径,这可是一个力气活,计算量会是非常高。在实际的应用中会利用Bellman原理的动态规划算法来解决计算量的问题。Bellman的基本原理是:经过(i,j)的从(i0,j0)到(if,jf)的最优路径是一条由原点(0,0)到结点(i,j)到终点(if,jf)的最优路径的串联。

    原则确定好了之后我可以使用全局约束定义和局部约束来搜索各个结点,而不是全部搜索所有的结点,只是在各个节点的子集中进行,这个过程就是动态规划算法。算法的过程可以进行如下描述:

    a、明确全局和局部约束的内容,全局约束表明路径的起止点分别为(0,0)和(i,j);局部约束为路径经过各个节点时的斜率选择范围,根据书了的例子我们可以定义只关心相同横坐标的3个后驱节点,选择为,(i,j),(i,j+1),(i,j+2)。

    b、在当前节点到3个后驱节点计算过程要考虑本身节点与其前驱节点的最小间距,即在获取最小间距的过程中要判断其后驱节点的距离,要分别对本节点的三个点以及前驱的三个节点进行计算,然后决定当前节点是否转移,上一个确定的节点不用转移,如果需要转移则依据上一节点到本横坐标的某个节点再到前驱节点进行连接确定其最小距离。(现在是这样理解的)

    c、循环操作一直到二维表格的(i,j)位置即可。

  3、获得最优路径之后,需要利用最优路径进行回溯,这时可以揭示出测试样本与参考模板的最优化节点对应关系。(如何回溯还没有总结好)

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值