在本例中,原始稀疏向量。假设,中的非零向量数目为10。
如果不对数据压缩,直接用一个矩阵对数据进行变换,得到全观测数据:
(1)
这里,为线性变换矩阵,本文中假设其为离散傅里叶(DCT)变换矩阵,原始稀疏向量和对其进行DCT变换之后和全观测数据如下图所示:
在压缩感知中,我们希望通过对的线性变换减少观测数据的数目。例如,令矩阵,使得,并假设矩阵是由矩阵随机选择行元素所生成。利用矩阵对原始稀疏数据进行线性变换之后得到压缩之后的观测数据:
(2)
不失一般性,我们假设,即我们观测到40%的数据。这些数据如下图所示。
其中,为了便于对比,把的数据进行了重新排序,使得其数据与的数据位置对位。例如,矩阵的第行数据在矩阵中的位置为第行,则。这样,我们得到一个与全观测数据对位的压缩数据。
实时上,如果不进行排序对位,M=80个数据取决于随机产生的A中的行向量,如下图(第2个子图)所示
如果给定压缩之后的观测数据,如何恢复原始数据呢?
为了恢复,我们构建如下的稀疏恢复优化问题:
(3)
然而,上述优化问题是非凸优化问题,其求解为NP-hard,难以直接求解。为了求解,我们将它转化为优化问题:
(4)
该问题为凸优化问题,因而可以有效求解。求解方法有多种,我们采用最经典的算法,即将其转化为线性规划求解。具体而言,可以将范数转化为如下等效表示方式:
(5)
这样,问题(4)可以转化为:
(6)
问题(6)是线性规划,可以很容易求解得到最优解。则问题(4)的最优解为:
(7).
应用上述算法,得到如下图所示的恢复结果。
如果改变M的数值,恢复效果如何呢?下面我们改变M的数值,可以看到,当M<40时,无法精确恢复原始信号。
Summary: 利用压缩感知,可以大幅度减少采样数据点,从而实现稀疏数据量的压缩。当然,这种压缩不是任意小,而是要有最小观测数据量的保证。最后,给出一张本次实例的全家福。