题目:为什么正交匹配追踪(OMP)一定能恢复信号?
上一篇《正交匹配追踪(OMP)在稀疏分解与压缩感知重构中的异同》中提到:你怎么知道通过OMP等重构算法求出的θ就是原来的x=Ψθ中的那个θ呢?为什么通过OMP迭代后一定会选出矩阵A的那几列呢?会不会选择A的另外几列,它们的线性组合也满足y=Aθ?本篇来回答这个问题。
首先我们要知道,两个k稀疏的N维信号(长度为N的列向量)θk1和θk2,它们的差向量(θk1-θk2)的稀疏度最大不超过2k(当θk1和θk2中的非零项都没有对应在同一位置时)。
其次我们要回忆RIP性质及spark常数,分别可参见《压缩感知测量矩阵之有限等距性质(RestrictedIsometry Property,RIP)》和《压缩感知测量矩阵之spark常数》。在这两篇中都提到若要恢复y=Aθ中k稀疏的θ,要求传感矩阵A(传感矩阵A=ΦΨ,即测量矩阵Φ乘以稀疏矩阵Ψ)至少任意2k列不相关。注意,这是压缩感知中A必须满足的一个条件。
再次我们来回答开头提到的问题,符号与上一篇相同。
这里的θ为k稀疏的。所以上面的线性组合实际上只有k列,因为其它(N-k)列的组合系数为零。这里我们将待求的k稀疏θ记为θk1,即y=Aθk1。若θk1分别在t1,t2,…,tk共k个位置不为零,大小为θt1, θt2, θt3,…, θtk,则
其中At由A中的序号为t1,t2,…,tk的k列组成:At = [ at1, at2, at3,…, atk],而θt是由θt1, θt2, θt3,…, θtk组成的列向量:θt = [θt1, θt2, θt3,…, θtk]T,T表示转置。假设我们在使用OMP等恢复算法恢复过程中选择A的k列并非θk1所对应的k列,即相当于有另外一种线性组合Aθk2=y,其中θk2 分别在r1,r2,…,rk共k个位置不为零,大小为θr1, θr2, θr3,…, θrk,则
其中Ar由A中的序号为r1,r2,…,rk的k列组成:Ar = [ ar1, ar2, ar3,…, ark],而θr是由θr1, θr2, θr3,…, θrk组成的列向量:θr= [θr1, θr2, θr3,…, θrk]T,T表示转置。这意味着Aθk1= Aθk2(也可以表示为Atθt=Arθr),即A (θk1-θk2)=0。前面我们说了向量(θk1-θk2)的稀疏度最大不超过2k,并且传感矩阵A至少任意2k列不相关(任意2k列不相关的意思是任意2k列的线性组合都不为零,当然任意少于2k列的线性组合也不为零),这与A (θk1-θk2)=0矛盾。所以在传感矩阵A满足至少任意2k列不相关的前提下,通过OMP算法恢复出的θ是唯一的。
最后我们回过头来看这个问题,实际上本质就是只要保证从θ到y的映射是一对一的,那么由某一个y只能恢复得到某一个θ,justbecause they are one-to-one。
在文献[Joel A. Tropp and Anna C.Gilbert . Signal Recovery From Random Measurements Via Orthogonal MatchingPursuit[J]. IEEE Transactions on Information Theory, VOL. 53, NO. 12, DECEMBER2007.]中也有类似的证明,有兴趣的可以看一下,注意里面的符号与本文符号的区别即可。里面提到(N≥2m),换成本文符号即为(M≥2k),这个很容易理解,要保证传感矩阵A(M×N矩阵)的任意2k列不相关,即任意取出A的2k列组成一个矩阵A2k是列满秩的。若列满秩,则列的个数必然要大于行的个数,所以(M≥2k)。