浅谈压缩感知(二十):OMP与压缩感知
主要内容:
- OMP在稀疏分解与压缩感知中的异同
- 压缩感知通过OMP重构信号的唯一性
一、OMP在稀疏分解与压缩感知中的异同
、稀疏分解要解决的问题是在冗余字典(超完备字典)A中选出k列,用这k列的线性组合近似表达待稀疏分解信号y,可以用表示为y=Aθ,求θ。

、压缩感知重构要解决的问题是事先存在一个θ和矩阵A,然后得到y=Aθ(压缩观测),现在是在已知y和A的情况下要重构θ。
A为M×N矩阵(M<<N,稀疏分解中为冗余字典,压缩感知中为传感矩阵A=ΦΨ,即测量矩阵Φ乘以稀疏矩阵Ψ),
y为M×1的列向量(稀疏分解中为待稀疏分解信号,压缩感知中为观测向量),
θ为N×1的列向量(稀疏分解中为待求分解系数,压缩感知中为信号x的在变换域Ψ的系数,x=Ψθ)。
相同点:
- 对已知y和A的情况下,求y=Aθ中的θ。
- 稀疏分解中θ是稀疏的,在压缩感知中信号也需要满足稀疏性的条件,这也是相同点之一。(OMP一开始在应用在稀疏表示上,后来压缩感知恰好信号也满足稀疏性条件,因此OMP也适用于压缩感知问题)
不同点:
在稀疏分解中θ是事先不存在的,我们要去求一个θ用Aθ近似表示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=Aθ


即Atθt=Arθr,这意味着Aθk1= Aθk2,即A (θ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与压缩感知的更多相关文章
- 浅谈Kotlin(二):基本类型、基本语法、代码风格
浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 通过上面的文章,在A ...
- 浅谈Java代理二:Cglib动态代理-MethodInterceptor
浅谈Java代理二:Cglib动态代理-MethodInterceptor CGLib动态代理特点: 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生 ...
- 浅谈压缩感知(十六):感知矩阵之RIP
在压缩感知中,总是看到"矩阵满足RIP"之类的字眼,没错,这是一个压缩感知绕不开的术语,有限等距性质(Restricted Isometry Property, RIP). 注意: ...
- 浅谈压缩感知(十五):感知矩阵之spark常数
在压缩感知中,有一些用来评价感知矩阵(非测量矩阵)的指标,如常见的RIP等,除了RIP之外,spark常数也能够用来衡量能否成为合适的感知矩阵. 0.相关概念与符号 1.零空间条件NULL Space ...
- 浅谈算法和数据结构: 十 平衡查找树之B树
前面讲解了平衡查找树中的2-3树以及其实现红黑树.2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key. 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种 ...
- 转 浅谈算法和数据结构: 十 平衡查找树之B树
前面讲解了平衡查找树中的2-3树以及其实现红黑树.2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key. 维基百科对B树的定义为"在计算机科学中,B树(B-tre ...
- 浅谈Spring(二)
一.AOP编程(面向切面编程) AOP的本质是代理. 1.静态代理设计模式 概念:通过代理类为原始类增加额外功能. 代理类 = 原始类 + 额外功能 +实现原始类的相同接口. 优点:避免原始类因为额外 ...
- 浅谈HDFS(二)之NameNode与SecondaryNameNode
NN与2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 假设存储在NameNode节点的硬盘中,因为经常需要随机访问和响应客户请求,必然效率太低,所以是存储在内存中的 但是,如果存储在 ...
- 浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
采用VSTO或者Shared Add-in等技术开发Excel插件,其实是在与Excel提供的API在打交道,Excel本身的组件大多数都是COM组件,也就是说通过Excel PIA来与COM进行交互 ...
- 浅谈JDBC(二)
JDBC中的事务 简单来说,事务就是要保证一组DAO方法的操作,要么一起成功要么一起失败. 1.事务控制的位置 在Service中的业务方法内进行事务控制. 2.事务控制的代码 a.注意:JDBC会自 ...
随机推荐
- 区间dp好题cf149d 括号匹配
见题解链接https://blog.csdn.net/sdjzping/article/details/19160013 #include<bits/stdc++.h> using nam ...
- cf1061c 普通dp题
题解见https://blog.csdn.net/godleaf/article/details/84402128 这一类dp题是可以压缩掉一维空间的,本题枚举a1到an,枚举到ai时枚举ai的每个约 ...
- git提交本地分支到远程分支
git提交本地分支到远程分支 git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/j ...
- poj 3233 S = A + A^2 + A^3 + … + A^k A是一个n X n矩阵 (矩阵快速幂)
S = A + A^2 + A^3 + … + A^k A是一个n*n矩阵 Sample Input 2 2 4 //n k MOD0 11 1Sample Output 1 22 3 先求 I + ...
- FFT 【JSOI2012】bzoj4332 分零食 (未解决)
很不错的一道倍增优化dp?? 第一次做这类题挺难想的 题目大意: 有n个小朋友,m块糖. 给小朋友分糖,如果一个小朋友分不到糖,那他后面的小朋友也分不到糖. 每个小朋友有一个喜悦值,有三个参数,O,S ...
- 解决python中遇到的乱码问题
1. 解决中文乱码的一种可行方法 # -*- coding:utf-8 -*- from __future__ import unicode_literals import chardet def s ...
- 【Java】 剑指offer(16) 打印1到最大的n位数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入数字n,按顺序打印出从1最大的n位十进制数.比如输入3,则打印 ...
- linux centOS服务器部署ssh,免密码登陆linux
登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录 2 创建钥匙, [xun@jzlinux ~]$ ssh-keygen -t rsa Generating public/priv ...
- Spring框架学习06——AOP底层实现原理
在Java中有多种动态代理技术,如JDK.CGLIB.Javassist.ASM,其中最常用的动态代理技术是JDK和CGLIB. 1.JDK的动态代理 JDK动态代理是java.lang.reflec ...
- [Web安全] XXE漏洞攻防学习(上)
0x00.XXE漏洞 XXE漏洞全称XML External Entity Injection 即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶 ...