主要内容:

  1. OMP在稀疏分解与压缩感知中的异同
  2. 压缩感知通过OMP重构信号的唯一性

一、OMP在稀疏分解与压缩感知中的异同

、稀疏分解要解决的问题是在冗余字典(超完备字典)A中选出k列,用这k列的线性组合近似表达待稀疏分解信号y,可以用表示为y=,求θ

、压缩感知重构要解决的问题是事先存在一个θ和矩阵A,然后得到y=(压缩观测),现在是在已知yA的情况下要重构θ

A为M×N矩阵(M<<N,稀疏分解中为冗余字典,压缩感知中为传感矩阵A=ΦΨ,即测量矩阵Φ乘以稀疏矩阵Ψ),

y为M×1的列向量(稀疏分解中为待稀疏分解信号,压缩感知中为观测向量),

θ为N×1的列向量(稀疏分解中为待求分解系数,压缩感知中为信号x的在变换域Ψ的系数,x=Ψθ)。

相同点:

  • 对已知yA的情况下,求y=中的θ
  • 稀疏分解中θ是稀疏的,在压缩感知中信号也需要满足稀疏性的条件,这也是相同点之一。(OMP一开始在应用在稀疏表示上,后来压缩感知恰好信号也满足稀疏性条件,因此OMP也适用于压缩感知问题)

不同点:

在稀疏分解中θ是事先不存在的,我们要去求一个θ近似表示y,求出的θ并不能说对与错;在压缩感知中,θ是事先存在的,只是现在不知道,我们要通过某种方法如OMP去把θ求出来,求出的θ应该等于原先的θ的,然后可求原信号x=Ψθ

压缩感知中的A需要满足一定的条件来保证重建的可行性与唯一性。(如RIP、spark等)

二、压缩感知通过OMP重构信号的唯一性

问题:

通过OMP等重构算法求出的θ就是原来的x=Ψθ中的那个θ吗?为什么通过OMP迭代后一定会选出矩阵A的那几列呢?会不会选择A的另外几列,它们的线性组合也满足y=Aθ?

证明:

思路与证明spark常数一致。浅谈压缩感知(十五):感知矩阵之spark常数

压缩感知的前提条件:若要恢复y=Aθ中k稀疏的θ,要求感知矩阵A(感知矩阵A=ΦΨ,即测量矩阵Φ乘以稀疏矩阵Ψ)至少任意2k列线性相关。这是压缩感知中A必须满足的一个条件。

假设通过OMP迭代后,存在两种不同的线性组合满足y=

Atθt=Arθr这意味着k1= Aθk2A (θk1θk2)=0此处的θ大小与y一致,但只有与选中对应列的位置处不为0.

两个k稀疏的N维信号(长度为N的列向量)θk1和θk2,它们的差向量(θk1-θk2)的稀疏度最大不超过2k,(当θk1和θk2中的非零项都没有对应在同一位置时)。

而A必须满足至少任意2K列线性相关,因此A的零空间维度必须至少为2K,而(θk1-θk2)的稀疏度最大不超过2k,因此A (θk1-θk2)=0并不成立,即原假设不成立。

所以在感知矩阵A满足至少任意2k列线性相关的前提下(即spark常数),通过OMP算法恢复出的θ是唯一的。

三、参考文章

http://blog.csdn.net/jbb0523/article/details/45100659

http://blog.csdn.net/jbb0523/article/details/45102383

浅谈压缩感知(二十):OMP与压缩感知的更多相关文章

  1. 浅谈Kotlin(二):基本类型、基本语法、代码风格

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 通过上面的文章,在A ...

  2. 浅谈Java代理二:Cglib动态代理-MethodInterceptor

    浅谈Java代理二:Cglib动态代理-MethodInterceptor CGLib动态代理特点: 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生 ...

  3. 浅谈压缩感知(十六):感知矩阵之RIP

    在压缩感知中,总是看到"矩阵满足RIP"之类的字眼,没错,这是一个压缩感知绕不开的术语,有限等距性质(Restricted Isometry Property, RIP). 注意: ...

  4. 浅谈压缩感知(十五):感知矩阵之spark常数

    在压缩感知中,有一些用来评价感知矩阵(非测量矩阵)的指标,如常见的RIP等,除了RIP之外,spark常数也能够用来衡量能否成为合适的感知矩阵. 0.相关概念与符号 1.零空间条件NULL Space ...

  5. 浅谈算法和数据结构: 十 平衡查找树之B树

    前面讲解了平衡查找树中的2-3树以及其实现红黑树.2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key. 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种 ...

  6. 转 浅谈算法和数据结构: 十 平衡查找树之B树

    前面讲解了平衡查找树中的2-3树以及其实现红黑树.2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key. 维基百科对B树的定义为"在计算机科学中,B树(B-tre ...

  7. 浅谈Spring(二)

    一.AOP编程(面向切面编程) AOP的本质是代理. 1.静态代理设计模式 概念:通过代理类为原始类增加额外功能. 代理类 = 原始类 + 额外功能 +实现原始类的相同接口. 优点:避免原始类因为额外 ...

  8. 浅谈HDFS(二)之NameNode与SecondaryNameNode

    NN与2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 假设存储在NameNode节点的硬盘中,因为经常需要随机访问和响应客户请求,必然效率太低,所以是存储在内存中的 但是,如果存储在 ...

  9. 浅谈Excel开发:十 Excel 开发中与线程相关的若干问题

    采用VSTO或者Shared Add-in等技术开发Excel插件,其实是在与Excel提供的API在打交道,Excel本身的组件大多数都是COM组件,也就是说通过Excel PIA来与COM进行交互 ...

  10. 浅谈JDBC(二)

    JDBC中的事务 简单来说,事务就是要保证一组DAO方法的操作,要么一起成功要么一起失败. 1.事务控制的位置 在Service中的业务方法内进行事务控制. 2.事务控制的代码 a.注意:JDBC会自 ...

随机推荐

  1. linux下安装ruby环境

    安装步骤: ruby的shell叫irb,我们可以输入irb -v查看下irb的版本号 1.安装ruby解释器shell: yum install ruby-irb -y Installed: rub ...

  2. 删除一个存在的RabbitMQ队列

    import sys # pip install kafka-python sys.path.append("/usr/local/software/ELK") from Util ...

  3. JDBC事务,银行转账,货物进出库等等。

    1:转账业务 转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务2:事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACI ...

  4. Mysql mysqld_safe启动与myslqd启动坑

    一.用mysqld_safe启动时候无法看到报错信息. 二.用mysqld启动时候可以看到日志实时打印.

  5. BZOJ1297 [SCOI2009]迷路 矩阵乘法

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1297 题意概括 有向图有 N 个节点,从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1. ...

  6. 《深入探索Androdi热修复技术原理(阿里巴巴)》--读书笔记

    No1: Hybrid就是原生和Html5混合开发app No2: 插件化方法Altas或者DroidPlugin No3: 热修复技术可以把更新补丁上传到云端,此时APP就可以直接从云端下拉补丁直接 ...

  7. 洛谷P2347 砝码称重 【多重背包】(方案数)(经典)

    题目链接:https://www.luogu.org/problemnew/show/P2347 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入 ...

  8. 又是毕业季I

    洛谷P1372 又是毕业季I 对于答案a,k*a是最接近n的,即a=n/k(下取整),所以直接输n/k即可. 我的方法是 二分查找 n/k真的没有想到唉. 我找的最大公约数,如果当前的mid对应的个数 ...

  9. Chameleon

    # -*- coding: utf-8 -*- """ Created on Tue Dec 18 09:55:16 2018 @author: Mark,LI &quo ...

  10. “==”和equals方法究竟有什么区别?

    ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符. 如果一个变量指向的数据是对象类型的 ...