浅谈Matching Pursuit和Orthogonal Matching Pursuit

来源:互联网 发布:linux怎么创建文本文件 编辑:程序博客网 时间:2024/05/16 04:02

       前几天看了点sparse coding,在此做点关于Matching Pursuit(MP)和Orthogonal Matching Pursuit(OMP)的笔记。MP和OMP都是在字典固定的情况下,尽量用字典稀疏重构样本。以下分别用ICCV2009关于sparse coding的部分ppt来简要介绍这两个算法。


Matching Pursuit


图1 MP算法目标函数及流程图

我们开始解释这个算法吧。如图1所示,首先看目标函数,其中x表示需要重构的样本或者信号,D 表示字典,D的每一列对应一个单词,表示信号x的重构系数,0范数表示向量中非零元素的个数。目标函数可以解释为用少于或者等于L个单词以尽量小的误差重构样本x。MP算法总共分为6步,本质上属于贪心算法。其原理是迭代选取最相关的词扩充基向量。具体地,根据当前重构残差,选取与残差最相关的词,即与残差投影或者内积最大的词,用该词更新残差,再迭代直至选取词的数量达到L个。



Orthogonal Matching Pursuit(OMP)


图2 OMP算法目标函数及流程图


如图2所示,OMP算法主要分为7步。和MP算法一样,OMP算法每迭代一轮选择一个词。细心的朋友可以发现,在OMP算法中每轮选择的词都是从剩余的词中选择的,即同一个词在全部循环中最多只能选择一次。该算法之所以被称为正交(Orthogonal)的MP,主要是因为第3步中  。点x到子空间的向量的最小距离为点x到子空间投影距离。因此经过步骤3,每次筛选出的词构成的新的子空间到x距离要求最小。关于正交的几何解释,大家可以参考下高数课本中最小二乘法的几何解释,是一样的。

1 0
原创粉丝点击