1.7 稀疏表示

11 篇文章 1 订阅

1.稀疏向量与稀疏表示:

一个含有大多数零元素的向量/矩阵叫做稀疏向量/稀疏矩阵。

在传统的思路下,信号向量\mathbf{y}\in R^m最多可以分解为m个正交基向量,这些正交基的集合称为完备正交基,分解的表示如下:\mathbf{y=Gc}=\sum_{i=1}^{m}c_i \vec{g_i},G是列向量的集合,c是在此基下的坐标。\mathbf{c}一定是非稀疏的。

若将信号向量\mathbf{y}\in R^m分解为n个m维的向量\mathbf{a_i}\in R^m,i=1,...,n(n>m)的线性组合\mathbf{y=Ax}=\sum_{i=1}^{m}x_i\mathbf{a_i},则n(>m)个向量\mathbf{a_i}\in R^m,i=1,...,n(n>m)不可能是正交基的集合。为了和基区别,这些列向量所形成的集合被称为:字典(codebook,dictionary),基底 或原子(basis or atom)。

对于字典(矩阵),通常作以下假设:

(1)A的行数m小于列数n并且A行满秩(Rank(A)=m)

(1)A的列向量具有单位Euclidea范数||\mathbf{a_j}|_2=1(j=1,...,n)

因为n>m,即未知数的个数是大于方程组的个数,这种分解式对应的是欠定方程,是有无穷多组解的。

那么如何解这种方程求得稀疏表示的解的?答案就是需要加限制,即加先验条件。此时,这个问题就成了优化问题。

2.稀疏表示求解:

(1)传统方法(求最小L2范数解):\min_x ||x||_2 \ s.t.Ax=y(A是已知的字典,y是观测的信号)。这种方法优点是:解唯一,物理解释是最小的能量,但是解通常取的是非零值,不符合问题本身的稀疏表示要求。

(2)现代方法(求最小L0范数解):\min_x ||x||_0 \ s.t.Ax=y(A是已知的字典,y是观测的信号,L0范数表示向量x中非零元素的个数)。直接求解这个优化问题,必须筛选出向量x中所有可能的非零元素,因此是NP难的,搜索空间太过庞大。

由优化的理论可以得到:L1范数是L0拟范数的凸松弛。(理论的推导没有搞懂,待学习完凸优化再回顾),因此将原优化问题进行凸松弛得到L1范数最小化问题:\min_x ||x||_1 \ s.t.Ax=y

(3)字典学习(在y=Ax中,A与x都是未知的),在给定了观测样本的数据集后,要同时求解出字典矩阵A和每一个数据在新基底下的表示x)

3.稀疏表示的应用:

(1)人脸识别的稀疏表示:假设共有c类目标,将每一类目标的脸部训练图像都拉成列向量,进行归一化,储存在自己所属分类的矩阵中。第i类目标的脸部在不同照度下拍摄的N_i张训练图像表示成m \times N_i维的矩阵D_i=\begin{bmatrix} d_{i,1} & d_{i,2} &... & d_{i,N_i} \end{bmatrix} \in R^{m \times N},其中m表示是原训练图像拉成向量后的维数。在给定足够丰富的训练集合D_i后,第i个实验对象在另一照度下的新图像\mathbf{y}即可近似表示成已知训练图像的一线性组合y\approx D_i\alpha_i,\alpha_i \in R_{N_i \times 1}。如果我们要推断新的样本属于c个类中哪一个类,就可以将c类目标的训练样本构造的字典合成一个训练矩阵D=[D_1,D_2,...D_c]=[d_{1,1},...,d_{1,N_1},...,d_{c,1},...,d_{c,N_c}]\in R^{m \times N}),N = \sum_{i=1}^{c}N_i表示所有c类目标的训练图像的总个数。于是,待识别图像\mathbf{y}可以表示为:\mathbf{y=D\alpha_0=[d_{1,1},...,d_{1,N_1},...,d_{c,1},...,d_{c,N_c}]\begin{bmatrix} 0_{N_1}\\ ...\\ 0_{N_i-1}\\ \alpha_i\\ 0_{N_i+1}\\ ...\\ 0_{N_c} \end{bmatrix}},其中,0_{N_k},k=1,2,...,i-1,i+1,....,cN_k维零向量。解优化问题:\mathbf{\min ||\alpha_0||_1 \ s.t. y=D\alpha_0}即可。

(2)SRC(Sparse Representation classification),KSRC(Kernel Sparse Representation classification)

正如应用(1)所叙述的那样,当我们有了c类目标的数据后,拉成列向量,然后组成字典矩阵D。对于新的样本y进行识别就相当于求解\alpha_0的一个优化问题。将这个问题扩大化,基于稀疏表示的思想的分类就是SRC。

将(1)中公式稍微进行改变:

有N个m维训练样本:\begin{Bmatrix} (x_i,y_i)|x_i \in X\subseteq R^m,y_i\in \begin{Bmatrix} 1,2,...,c\end{Bmatrix},i=1,...,n \end{Bmatrix},c是类别数,yi是对应的类标记。X是根据类标记重组以后的矩阵,满足:X=[X_1,X_2,...X_c]=[x_{1,1},...,x_{1,N_1},...,x_{c,1},...,x_{c,N_c}]\in R^{m \times N})N = \sum_{i=1}^{c}N_i,当新的样本x可以被已知的同类样本线性表示时,有\mathbf{x=X\alpha=[x_{1,1},...,x_{1,N_1},...,x_{c,1},...,x_{c,N_c}]\begin{bmatrix} 0_{N_1}\\ ...\\ 0_{N_i-1}\\ \alpha_i\\ 0_{N_i+1}\\ ...\\ 0_{N_c} \end{bmatrix}},我们通过解优化问题,就可以求得x所属的类别所属的类别。但是这个方法有一个重要的限制就是:目标样本可以被已知样本“线性表示”,

仔细想了想这句话,我的理解(可能有些问题,待查阅相关文献后纠正)就是:

这里头“线性表示”并不正确,在人脸识别中,将图片列向量化后,待分类样本能被已有的样本进行线性表示只是偶然而已,基于稀疏表示的分类能解决的问题应该是:将样本不同的特征上投影在不同的维数上,没有重叠。例子如图:

第一类在左上角以o表示,黄色是第一类在x,y轴上的投影。第二类在左下角以x表示,紫色是它们在x,y轴上的投影,样本矩阵是:X=[X_1,X_2]=[\begin{bmatrix} -2 &-1 &-2 \\ 1& 2 & 2 \end{bmatrix},\begin{bmatrix} -2 &-1 \\ -2& -3 \end{bmatrix},]=\begin{bmatrix} -2 & -1 &-2 &-2 & -1\\ 1& 2 & 2 & -2 &-3 \end{bmatrix}

如果新的样本x=X\alpha,有\begin{bmatrix} x_1\\x_2 \end{bmatrix}=\begin{bmatrix} -2 & -1 &-2 &-2 & -1\\ 1& 2 & 2 & -2 &-3 \end{bmatrix}\begin{bmatrix} \alpha_1\\\alpha_2\\\alpha_3\\\alpha_4\\\alpha_5 \end{bmatrix},对于已经有的样本X:

x_2分量上(图中是y轴):第1类和第2类很好区分,因为x_2X的第一行的线性组合,所以对于新的样本x,在\alpha稀疏的条件下,优化算法会尽可能选择与x_2“靠近”的样本去表示x_2

x_1分量上:因为第1类和第2类在x_1这个分类上并不明显,所以x_1这个分量在分类上并没有什么贡献。

所以,基于稀疏思想的分类,在具有相同方向的不同类数据上,适用度要差一些,所以就有了下面的改进:KSRC。

//KSRC未看完,看完再补充

(3)稀疏用于聚类:

现在,将(2)中过程反过来:我们有很多的数据,其中,有些样本可以通过其他样本进行表示,即它们之间是“相似”的,接着,我们的目的就是找到有哪一些数据之间是“相似”的,而这个问题就是聚类问题。此时这个聚类问题非常相似于之前提过的字典学习:在只有样本数据X的条件下,我们要学出数据之间的“字典”,即是否其中一个样本数据可以由其余的某些样本数据稀疏表示出来,如果可以的话,它们就是一类的.更形式化的表示如下:基于稀疏表示的聚类:

\min_{Z} ||X-XZ||_F^2+\alpha||Z||_1\\ s.t. Z\geqslant 0,diag(Z)=0其中,X=[x_1,x_2,...,x_n] \in R^{m \times n},每一个样本x_i \in R^m是有m个特征的列向量。

Z\in R^{n \times n},就是X的n个样本之间的相似度矩阵。

以上仅仅是低维的情况,当低维无法表出时,和(2)中后半部分同理,要使用核方法映射到高维:

\phi (X)=[\phi(x_1),x\phi(x_2),...,\phi(x_n)],K_{x_i,x_j}=<\phi(x_i),\phi(x_j)>,

\min_{Z} ||\phi(X)-\phi(X)Z||_F^2+\alpha||Z||_1\\\Leftrightarrow \min_{Z}Tr(\phi^T\phi-2\phi^T\phi Z+Z^T\phi^T\phi Z)\\\Leftrightarrow \min_{Z} Tr(K-2KZ+Z^TKZ)+\alpha||Z||_1\\ s.t.Z\geqslant 0,diag(Z)=0,推导时用了||A||^2_F=tr(A^TA)的结论。

(4)图像复原/signal recovery:

//待图像处理知识复习到时补全

 

本文参考:

(1)http://www.cnblogs.com/Rosanna/p/3372153.html

(2) 《矩阵分析与应用》 张贤达

(3) 《机器学习》周志华

(3)  数字图像处理ppt - 赵熙乐

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值