浅谈Matching Pursuit和Orthogonal Matching Pursuit
2014-05-06 15:11
453 查看
前几天看了点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)
[b]图2 OMP算法目标函数及流程图[/b]
如图2所示,OMP算法主要分为7步。和MP算法一样,OMP算法每迭代一轮选择一个词。细心的朋友可以发现,在OMP算法中每轮选择的词都是从剩余的词中选择的,即同一个词在全部循环中最多只能选择一次。该算法之所以被称为正交(Orthogonal)的MP,主要是因为第3步中
。点x到子空间
的向量的最小距离为点x到子空间
投影距离。因此经过步骤3,每次筛选出的词构成的新的子空间到x距离要求最小。关于正交的几何解释,大家可以参考下高数课本中最小二乘法的几何解释,是一样的。
Matching Pursuit
图1 MP算法目标函数及流程图
我们开始解释这个算法吧。如图1所示,首先看目标函数,其中x表示需要重构的样本或者信号,D 表示字典,D的每一列对应一个单词,
表示信号x的重构系数,0范数表示向量中非零元素的个数。目标函数可以解释为用少于或者等于L个单词以尽量小的误差重构样本x。MP算法总共分为6步,本质上属于贪心算法。其原理是迭代选取最相关的词扩充基向量。具体地,根据当前重构残差,选取与残差最相关的词,即与残差投影或者内积最大的词,用该词更新残差,再迭代直至选取词的数量达到L个。
Orthogonal Matching Pursuit(OMP)
[b]图2 OMP算法目标函数及流程图[/b]
如图2所示,OMP算法主要分为7步。和MP算法一样,OMP算法每迭代一轮选择一个词。细心的朋友可以发现,在OMP算法中每轮选择的词都是从剩余的词中选择的,即同一个词在全部循环中最多只能选择一次。该算法之所以被称为正交(Orthogonal)的MP,主要是因为第3步中
。点x到子空间
的向量的最小距离为点x到子空间
投影距离。因此经过步骤3,每次筛选出的词构成的新的子空间到x距离要求最小。关于正交的几何解释,大家可以参考下高数课本中最小二乘法的几何解释,是一样的。
相关文章推荐
- 8.正交匹配跟踪 Orthogonal Matching Pursuit (OMP)s
- Orthogonal Matching Pursuit(OMP)正交匹配追踪算法
- l1范数最小化求解系数方程_正交匹配追踪法(orthogonal matching pursuit)
- Orthogonal matching pursuit
- MPTK, the Matching Pursuit ToolKit
- 浅谈C++容器(六)
- Linux系统分区和挂载浅谈
- 浅谈OpenSSL的Heartbleed漏洞
- leetcode 010 —— Regular Expression Matching(hard)
- 浅谈C# 多态的魅力(虚方法,抽象,接口实现)
- 浅谈hash
- 【★】浅谈搜索引擎与社会文化
- 过街老鼠人人喊打,浅谈电视购物
- ORA-12516, TNS: listener could not find available handler with matching protocol stack'
- 浅谈Java串行端口技术协议
- [LeetCode]Regular Expression Matching(Unsolved)
- 浅谈数论(三)水仙花数
- 浅谈spring框架(二)
- Regular Expression Matching(leetcode)
- 拨云见日---浅谈静态字段与静态构造函数之间的初始化关系以及执行顺序(下)