主要內容:
- OMP在稀疏分解與壓縮感知中的異同
- 壓縮感知通過OMP重構信號的唯一性
一、OMP在稀疏分解與壓縮感知中的異同
1、稀疏分解要解決的問題是在冗余字典(超完備字典)A中選出k列,用這k列的線性組合近似表達待稀疏分解信號y,可以用表示為y=Aθ,求θ。
2、壓縮感知重構要解決的問題是事先存在一個θ和矩陣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算法恢復出的θ是唯一的。