关于稀疏字典的学习(一)

来源:互联网 发布:小班亲子美工活动教案 编辑:程序博客网 时间:2024/05/17 22:18
满秩矩阵:设A是n阶矩阵, 若r(A) = n, 行秩等于列秩,则称A为满秩矩阵。
如果是n*n的矩阵,若r(A) = n, 则称A为满秩矩阵。 如果是m*n的矩阵,设n>m,则若r(A) = n, 则称A为满秩矩阵。

1.      主要方法

1)  OMP

先介绍MP算法(匹配追踪算法),作为对信号进行稀疏分解的方法之一,将信号在完备字典库上进行分解。

假定被表示的信号为y,其长度为n。假定H表示Hilbert空间,在这个空间H里,由一组向量构成字典矩阵D,其中每个向量可以称为原子(atom),其长度与被表示信号 y 的长度n相同,而且这些向量已作为归一化处理,即,也就是单位向量长度为1。

MP算法的基本思想:从字典矩阵D(也称为过完备原子库中),选择一个与信号y最匹配的原子(也就是某列),构建一个稀疏逼近,并求出信号残差,然后继续选择与信号残差最匹配的原子,反复迭代,信号y可以由这些原子来线性和,再加上最后的残差值来表示。很显然,如果残差值在可以忽略的范围内,则信号y就是这些原子的线性组合。下面介绍MP进行信号分解的步骤:

[1] 计算信号y与字典矩阵中每列(原子)的内积,选择绝对值最大的一个原子,它就是与信号 y 在本次迭代运算中最匹配的。用专业术语来描述:令信号,从字典矩阵中选择一个最为匹配的原子,满足,r0表示一个字典矩阵的列索引。这样,信号y就被分解为在最匹配原子的垂直投影分量和残值两部分,即:。

[2]对残值R1f进行步骤[1]同样的分解,那么第K步可以得到:, 其中满足。可见,经过K步分解后,信号y被分解为:,其中。

MP算法缺点是:信号(残值)在已选择的原子进行垂直投影有可能是非正交性的,这会使得每次迭代的结果并不少最优的而是次最优的,收敛需要很多次迭代。举个例子说明一下:在二维空间上,有一个信号yD=[x1, x2]来表达,MP算法迭代会发现总是在x1x2上反复迭代,即,这个就是信号(残值)在已选择的原子进行垂直投影的非正交性导致的。

OMP算法的改进之处在于:在分解的每一步对所选择的全部原子进行正交化处理,这使得在精度要求相同的情况下,OMP算法的收敛速度更快。

OMP算法步骤:

原创粉丝点击