稀疏编码最优化解法--概述


稀疏编码的概念来自于神经生物学。生物学家提出,哺乳类动物在长期的进化中,生成了能够快速,准确,低代价地表示自然图像的视觉神经方面的能力。我们直观地可以想象,我们的眼睛每看到的一副画面都是上亿像素的,而每一副图像我们都只用很少的代价重建与存储。我们把它叫做稀疏编码,即Sparse Coding.

稀疏编码的目的是在大量的数据集中,选取很小部分作为元素来重建新的数据。

稀疏编码难点之一是其最优化目标函数的求解。

这篇文章先做一个概述,接着再分别讨论各个解法。

 

稀疏线性模型

X为一个n为特征向量,可以是一个小波信号,可以是一副图片等。

稀疏编码最优化解法--概述_第1张图片

D为标准化的基础矩阵,由组成元素的基本原子构成,也称为字典。在信号中可以是不同频率的波形,在图像中可以是构成图像的基本边,角。

稀疏编码最优化解法--概述_第2张图片

X可以由D中和少量原子线性组合而成,及其表示系数为稀疏。如下:

稀疏编码最优化解法--概述_第3张图片

 

数学模型

引出稀疏表示的两个基本要求,1是尽可能与原特征相似,2是系数为稀疏。

上式中,我们要求p>m,根据线性代数的知识我们知道,稀疏系数有无穷多组的解。根据稀疏的条件,我们可以在所有的可行解中挑出非零元素最少的解,也就是满足稀疏性。于是得到如下的数学模型:

 

如果再考虑噪声的话,就得到如下的模型:

 

目标函数中为零范数约束,是NP难题。

有人做了一个证明,在一定条件下,上述的最优化问题有唯一的解。

Terry tao又证明了,在满足一定条件下,零范数问题与一范数问题是等价的。于是上述模型转化为:

 

基于上面的思想,还有各种不同版本的数学模型。


常见模型


我们知道上式为非凸优化问题,常用的解法有:greedy algorithm,代表有Matching Pursuit, Orthogonal Matching Pursuit


上式为解不等式约束问题,常用的解法:LASSO


再写成拉格朗日乘子的形式,如果已知lambda,可用soft thresholding方法,常见的还有coordinate descent, Bregman Iteration等;

如果未知lambda,则用Homotopy.

 

你可能感兴趣的:(概述,稀疏编码,最优化解法)