贪婪算法是一种搜索算法,基于局部的最优解,对于稀疏性较差或者存在噪声的信号重构性能较差。

模型

解决这样的一个问题:

xxx为稀疏度为KKK的一个向量,观测矩阵为AAA,观测向量为bbb,同时伴有加性噪声nnn,即:b=Ax+nb=Ax+nb=Ax+n。期望从bbb中恢复xxx。也就是说在满足一定条件的情况下,用较少的观测值重构较长的信号。

称AAA的列向量为原子(注意算法编写中应归一化)。

收敛条件:通常是重构向量不再变化或者残差较小或者稀疏度满足要求。

MP算法

MP算法全称为matching pursuit。每一步都选择对当前残差贡献最大的原子作为投影方向,计算投影长度,不断迭代,直到满足预设的收敛条件。

这里有一个问题。MP算法在投影方向的选择过程中,因为原子之间并非正交,而残差只与当前投影方向正交,所以可能选择之前已经选择过的方向,这会导致迭代的收敛速度较慢。

OMP算法

OMP算法全称为orthoganal matching pursuit。对于MP算法中迭代慢的问题,OMP做了改进。具体改进的地方在于系数的计算。在OMP算法中,每一步都选择对当前残差贡献最大的原子,向前面步骤中所有已选择的原子构成的子空间做投影,计算投影系数。这样可以保证每次迭代的残差和前面选择的原子均正交,也就是每次选择的都是一个新的方向,加快了算法收敛的速度。

贪婪算法(MP\OMP)相关推荐

  1. 【转】K-SVD简述——字典学习,稀疏编码

    原帖地址http://www.cnblogs.com/CBDoctor/archive/2011/10/24/2222358.html K-SVD Rachel Zhang 1. k-SVD intr ...

  2. K-SVD简述——字典学习,稀疏编码

    K-SVD Rachel Zhang 1. k-SVD introduction 1.     K-SVD usage: Design/Learn a dictionary adaptively to ...

  3. 匹配追踪MP和正交匹配追踪OMP算法

    匹配追踪MP和正交匹配追踪OMP算法 http://blog.csdn.net/wwf_lightning/article/details/70142985 http://blog.csdn.net/ ...

  4. MP算法与OMP算法讲解二

    转自:http://blog.csdn.net/scucj/article/details/7467955 主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Mat ...

  5. matlab施密特正交化,浅谈压缩感知(十九):MP、OMP与施密特正交化

    浅谈压缩感知(十九):MP.OMP与施密特正交化 关于MP.OMP的相关算法与收敛证明,这里仅简单陈述算法流程及二者的不同之处. 主要内容: MP的算法流程及其MATLAB实现OMP的算法流程以及MA ...

  6. 【 MATLAB 】MATLAB帮助文档中对 MP 算法以及 OMP 算法的讲解(英文版)

    目录 Matching Pursuit Algorithms Redundant Dictionaries and Sparsity Nonlinear Approximation in Dictio ...

  7. 8.正交匹配跟踪 Orthogonal Matching Pursuit (OMP)s

    OrthogonalMatchingPursuit and orthogonal_mp 实现了一个用来逼近在非零系数的个数上加约束的线性模型的拟合的OMP算法(比如L 0 pseudo-norm) 和 ...

  8. 常见传统算法实现DOA估计总结CBF、Capon、MUSIC、ESPRIT、OMP

    常见传统算法DOA估计总结 CBF算法 传统时域傅里叶谱估计方法在空域中简单拓展形式,空间分辨能力会受到"瑞利限"的限制 Capon算法 通过对与信号协方差矩阵以及阵列方向矢量相关 ...

  9. 压缩感知重构算法之正交匹配追踪算法(OMP)

    算法的重构是压缩感知中重要的一步,是压缩感知的关键之处.因为重构算法关系着信号能否精确重建,国内外的研究学者致力于压缩感知的信号重建,并且取得了很大的进展,提出了很多的重构算法,每种算法都各有自己的优 ...

最新文章

  1. 用Leangoo敏捷看板工具管理 产品线路图
  2. New Companies(关联查询+group by)
  3. Geth的命令行介绍
  4. 基于pygame的射击小游戏制作(四)击杀外星人
  5. VuePress 手摸手教你搭建一个类Vue文档风格的技术文档/博客
  6. C#多线程开发-使用并发集合
  7. centos7 安装nginx
  8. ireport怎么生成jasper文件
  9. Log4j日志等级设置详解
  10. win7字体_潇洒个性艺术!100款英文手写签名字体
  11. 月薪过万的90后,都是做什么职业的?
  12. Flink1.15源码阅读flink-clients客户端执行流程(阅读较枯燥)
  13. indesign如何画弧线_InDesign钢笔工具怎么使用
  14. javascript处理日期和时间
  15. ATF(Arm Trusted Firmware)/TF-A Chapter 04 Authentication Framework
  16. 懂了!运算放大器的工作原理
  17. day62-github与gitlab的使用
  18. 关于计算机与教育的英语作文,信息技术对教育的影响英文作文
  19. 计算机预测自己未来的相貌,新软件30秒预测未来样貌 完全可以以假乱真
  20. Java版本飞机大战

热门文章

  1. mate8鸿蒙,比安卓速度快60%?华为鸿蒙OS或8月9日亮相
  2. linux编译blas,在Linux中lapack / blas / openblas从源代码正确安装 – 用新的系统库替换系统库...
  3. linux 驱动 include .h 路径 control,linux内核中的MFD子系统
  4. 试题 算法训练 十进制数转八进制数
  5. CentOS学习20_centos 6.4 NTP服务器的搭建过程
  6. yarn application 命令列表
  7. 智能硬件产品工装开发全流程
  8. SDK armature 和 animation spine
  9. html标签role属性,data-role属性
  10. Android 音视频深入 三 MP4解码播放视频 (附源码下载)