第一章 压缩感知
在传统信号处理中,若要实现对原始信号的还原,“全量采样” 是唯一的技术路径,其核心思想是通过对信号进行无差别、高密度的信息捕获,确保不遗漏任何细节——例如拍摄电影时需连续记录每一帧画面,测量电压曲线时则要以极高频率采集数据点。然而这种方式虽然能够保证信号还原的准确性,却伴随着数据冗余度高、存储与处理成本高昂等显著局限。
2006 年,Donoho、Candes 与陶哲轩提出的压缩感知理论打破了这一传统认知,其核心发现是:大量工程领域信号在特定数学“滤镜”(如傅里叶、小波变换)下呈现出显著的稀疏性,即绝大多数系数趋近于零,只有少数非零系数承载了主要信息。
基于该发现,信号重建问题便有了全新的解决思路: 它可以形式化为一个 “寻找最稀疏解” 的优化模型,而从数学本质来看,这其实是一个零范数最小化问题。然而 零范数优化是 NP-hard,几乎无法求解。
压缩感知的理论突破在于证明:在一定条件下,
ℓ
0
\ell_0
ℓ0 范数最小化可以等价为
ℓ
1
\ell_1
ℓ1范数 最小化,从而将原本难以处理的组合问题转化为可行的凸优化问题。而
ℓ
1
\ell_1
ℓ1范数优化形式,正是统计学中 Lasso 回归的数学表达:通过在回归模型中引入
ℓ
1
\ell_1
ℓ1范数正则项,既能实现变量选择,又能保证解的稀疏性。因此,可以说压缩感知不仅为信号处理提供了稀疏重构的理论依据,也在方法论上与 Lasso 回归建立了紧密的内在联系。
1.1 不含噪信号复原模型
设
x
=
(
x
1
,
⋯
,
x
n
)
T
∈
R
n
\mathbf{x}=(x_1,⋯ ,x_n)^T∈R^n
x=(x1,⋯,xn)T∈Rn为高维稀疏信号,即
s
u
p
p
(
x
)
≪
n
supp(\mathbf{x})\ll n
supp(x)≪n。
y
=
(
y
1
,
⋯
,
y
m
)
∈
R
m
\mathbf{y}=(y_1,\cdots,y_m) \in R^{m}
y=(y1,⋯,ym)∈Rm为低维观测值,
A
=
{
a
i
j
}
∈
R
m
×
n
A=\{a_{ij}\} \in R^{m \times n}
A={aij}∈Rm×n为限定矩阵(其中
m
≪
n
m \ll n
m≪n)。在不考虑噪声的情况下,稀疏信号与观测值之间的映射关系为:
y
=
A
x
(1-1)
\mathbf{y}=A\mathbf{x}\tag{1-1}
y=Ax(1-1)
为了复原稀疏信号
x
\mathbf{x}
x,需引入一个目标函数
R
(
x
)
R(\mathbf{x})
R(x)来表达这种稀疏性。在目标函数取得期望解时,函数值最小。因此,信号复原问题可以表述为约束优化问题,其数学表达式如下:
min
R
(
x
)
s
.
t
.
y
=
A
x
\min R(\mathbf{x}) \\ s.t. \quad \mathbf{y} = A\mathbf{x}
minR(x)s.t.y=Ax
具体来说,
R
(
x
)
R(\mathbf{x})
R(x)可定义为
x
\mathbf{x}
x 的非零元素的个数,也称为零范数,记为
∥
x
∥
0
\|\mathbf{x}\|_0
∥x∥0。那么,不含噪线性观测值复原稀疏信号问题转变为如下约束优化问题:
P
0
:
min
∥
x
∥
0
s
.
t
.
y
=
A
x
(1-2)
P_0: \min \|\mathbf{x}\|_0 \\ s.t. \quad \mathbf{y}=A\mathbf{x} \tag{1-2}
P0:min∥x∥0s.t.y=Ax(1-2)
由于
P
0
P_0
P0问题是NP难问题,无法在多项式时间内对其进行高效求解,因此研究者通常采用近似法获得可行解。目前,主流近似方法可分为两类:启发式算法和凸松弛法。相比之下,凸松弛法具有更为坚实的理论基础和良好的数学性质,因此在相关研究中得到广泛应用。
离散优化问题通常属于 NP-Hard,其传统求解方法多依赖于穷举搜索,计算复杂度极高。另一种常见思路是采用松弛技术,将离散问题转化为相应的连续优化问题,从而借助高效的连续优化方法进行近似求解。
基于此,一个自然而然的策略是采用其他易处理范数来替代零范数。在众多候选范数中,二范数因其光滑性和凸性成为首选范数。由此,原始
P
0
P_0
P0问题可松弛为
P
2
P_2
P2问题:
P
2
:
min
∥
x
∥
2
2
s
.
t
.
y
=
A
x
(1-3)
P_2: \min \|\mathbf{x}\|^2_2 \\ s.t. \quad \mathbf{y}=A\mathbf{x} \tag{1-3}
P2:min∥x∥22s.t.y=Ax(1-3)
为了解上述等式约束优化问题,通过拉格朗日乘子法,可以显式看出解的非稀疏性,具体步骤如下:
步骤一:构造拉格朗日函数:
L
(
x
,
λ
)
=
∥
x
∥
2
+
λ
T
(
y
−
A
x
)
\mathcal{L}(\mathbf{x},\lambda)=\|\mathbf{x}\|^2+\lambda^T(\mathbf{y}-A\mathbf{x})
L(x,λ)=∥x∥2+λT(y−Ax)
步骤二:对
x
\mathbf{x}
x求导并令导数为0:
∂
L
∂
x
=
2
x
−
A
T
λ
=
0
\frac{\partial\mathcal{L}}{\partial\mathbf{x}}=2\mathbf{x}-A^T\lambda=0
∂x∂L=2x−ATλ=0
解:
x
=
1
2
A
T
λ
(1-4)
\mathbf{x}=\frac{1}{2}A^T\lambda \tag{1-4}
x=21ATλ(1-4)
将(1-4)代入约束
y
=
A
x
\mathbf{y}=A\mathbf{x}
y=Ax,得
λ
=
2
(
A
A
T
)
−
1
y
(1-5)
\lambda=2(AA^T)^{-1}\mathbf{y} \tag{1-5}
λ=2(AAT)−1y(1-5)
将(1-5)带入式(1-4),得
x
=
A
T
(
A
A
T
)
−
1
y
\mathbf{x}=A^T(AA^T)^{-1}\mathbf{y}
x=AT(AAT)−1y
当 A 的列数比行数多时,问题
P
2
P_2
P2的解为伪逆解。然而,尽管具有这些很便利的性质,但是
∥
x
∥
2
2
\|\mathbf{x}\|^2_2
∥x∥22 目标函数仍有一个严重的缺陷,即最优解不具备稀疏性。
1.2 正则化函数对解稀疏性的影响
要理解
ℓ
2
\ell_2
ℓ2范数无法促使解呈现稀疏性,需从
ℓ
1
\ell_1
ℓ1范数的几何性质切入:首先,分析
ℓ
q
\ell_q
ℓq范数凸性以及导致稀疏性的性质,则需要研究问题
P
q
P_q
Pq 的几何结构,其中用
∥
x
∥
q
q
\|\mathbf{x}\|^q_q
∥x∥qq 代替了原来的目标函数
∥
x
∥
0
\|\mathbf{x}\|_0
∥x∥0:
P
q
:
min
∥
x
∥
q
q
s
.
t
.
y
=
A
x
P_q: \min \|\mathbf{x}\|^q_q \\ s.t. \quad \mathbf{y}=A\mathbf{x}
Pq:min∥x∥qqs.t.y=Ax
从几何视角分析
P
q
P_q
Pq问题时,可将其等价为以坐标原点为中心“吹气球”的过程:初始时,气球半径为0,随后持续增大半径,直至气球表面与超平面
y
=
A
x
\mathbf{y}=A\mathbf{x}
y=Ax初次接触。此时,接触点对应的
∥
x
∥
q
q
\|\mathbf{x}\|^q_q
∥x∥qq 取值为
P
q
P_q
Pq 优化问题的最优点。

注意:当 q ≤ 1 q \leq 1 q≤1时, l q l_q lq球在坐标轴上有“尖角”(对应稀疏向量,因尖角处部分坐标为0);而 q > 1 q >1 q>1时 l q l_q lq球无此性质。故 q ≤ 1 q \leq 1 q≤1, l q l_q lq球可能与超平面 y = A x \mathbf{y}=A\mathbf{x} y=Ax在尖角处相交。
综上所述,需要易于优化的函数来近似难于处理的组合
P
0
P_0
P0 问题,且期望得到稀疏解。在范数中,仅当
q
≥
1
q \geq 1
q≥1时,
ℓ
q
\ell_q
ℓq范数为凸函数;同时
0
<
q
≤
1
0 < q \leq 1
0<q≤1时,
ℓ
q
\ell_q
ℓq范数可以产生稀疏解。而同时具备这两个性质的,只有
ℓ
1
\ell_1
ℓ1范数满足。因此,在无噪的情况下,难以处理的
P
0
P_0
P0 问题可以松弛为
P
1
P_1
P1 问题,其表达式如下:
P
1
:
min
∥
x
∥
1
s
.
t
.
y
=
A
x
P_1: \min \|\mathbf{x}\|_1 \\ s.t. \quad \mathbf{y}=A\mathbf{x}
P1:min∥x∥1s.t.y=Ax
1.3 含噪稀疏复原
此前讨论的均为不含噪的理想情况,但在实际应用中噪声难以避免,这会使得线性约束
A
x
A\mathbf{x}
Ax与其带噪声的实际形式存在偏差。此时,常用不等式
∥
y
−
A
x
∥
2
≤
ε
\|\mathbf{y}-A\mathbf{x}\|_2 \leq \varepsilon
∥y−Ax∥2≤ε来描述这种偏差,即代替原始线性方程组。该松弛方法,对探究原线性方程组
y
=
A
x
\mathbf{y}=A\mathbf{x}
y=Ax可能无解时的近似解很有帮助。因此,无噪的
P
1
P_1
P1 问题可以松弛为
P
1
ε
P_1^{\varepsilon}
P1ε 问题:
P
1
ε
:
min
∥
x
∥
1
s
.
t
.
∥
y
−
A
x
∥
2
≤
ε
P_1^{\varepsilon}: \min \|\mathbf{x}\|_1 \\ s.t. \quad \|\mathbf{y}-A\mathbf{x}\|_2 \leq \varepsilon
P1ε:min∥x∥1s.t.∥y−Ax∥2≤ε
利用拉格朗日乘子,将上述问题转化一个无约束的最小化问题:
P
1
λ
:
min
∥
x
∥
1
+
λ
(
∥
y
−
A
x
∥
2
−
ε
)
=
∥
x
∥
1
+
λ
∥
y
−
A
x
∥
2
−
λ
ε
(
λ
>
0
)
(1-6)
P_1^{\lambda}: \min \|\mathbf{x}\|_1+\lambda(\|\mathbf{y}-A\mathbf{x}\|_2-\varepsilon)=\|\mathbf{x}\|_1+\lambda\|\mathbf{y}-A\mathbf{x}\|_2-\lambda\varepsilon \quad (\lambda > 0)\tag{1-6}
P1λ:min∥x∥1+λ(∥y−Ax∥2−ε)=∥x∥1+λ∥y−Ax∥2−λε(λ>0)(1-6)
其中,
λ
ε
\lambda\varepsilon
λε 为常数, 因此上式可以转换为:
P
1
λ
:
∥
x
∥
1
+
λ
∥
y
−
A
x
∥
2
=
λ
(
1
λ
∥
x
∥
1
+
∥
y
−
A
x
∥
2
)
(
λ
>
0
)
(1-7)
P_1^{\lambda}:\|\mathbf{x}\|_1+\lambda\|\mathbf{y}-A\mathbf{x}\|_2=\lambda(\frac{1}{\lambda}\|\mathbf{x}\|_1+\|\mathbf{y}-A\mathbf{x}\|_2) \quad (\lambda > 0) \tag{1-7}
P1λ:∥x∥1+λ∥y−Ax∥2=λ(λ1∥x∥1+∥y−Ax∥2)(λ>0)(1-7)
由于
λ
>
0
\lambda > 0
λ>0,因此上式可以转化为:
P
1
λ
:
∥
y
−
A
x
∥
2
2
+
λ
^
∥
x
∥
1
(
λ
>
0
)
(1-8)
P_1^{\lambda}:\|\mathbf{y}-A\mathbf{x}\|_2^2+\hat{\lambda}\|\mathbf{x}\|_1 \quad (\lambda > 0) \tag{1-8}
P1λ:∥y−Ax∥22+λ^∥x∥1(λ>0)(1-8)
第二章 Lasso回归
2.1 数学模型
公式(3-17)的优化问题,即为 Lasso 回归模型,该算法由美国斯坦福大学统计学家罗伯特
⋅
\cdot
⋅蒂博施兰尼于1996年提出,其 核心思想是在最小二乘损失的基础上加入
ℓ
1
\ell_1
ℓ1范数正则项,以实现参数估计的稀疏性。
对于给定的 m 个训练样本
{
(
X
(
i
)
,
y
(
i
)
)
}
i
=
1
m
\{(X^{(i)},y^{(i)})\}_{i=1}^{m}
{(X(i),y(i))}i=1m,其中
X
(
i
)
∈
R
n
X^{(i)} \in \mathbb{R}^n
X(i)∈Rn 为特征向量,
y
(
i
)
∈
R
y^{(i)} \in \mathbb{R}
y(i)∈R为因变量,Lasso回归的数学表达式可写为:
min
w
R
S
S
=
min
w
1
2
∑
i
=
1
m
(
y
(
i
)
−
∑
j
=
0
n
w
j
x
j
(
i
)
)
2
+
λ
∑
j
=
1
n
∣
w
j
∣
\min_{w} RSS=\min_{w}\frac{1}{2}\sum_{i=1}^{m}(y^{(i)} - \sum_{j=0}^{n}w_jx_j^{(i)})^2+\lambda\sum_{j=1}^{n}|w_j|
wminRSS=wmin21i=1∑m(y(i)−j=0∑nwjxj(i))2+λj=1∑n∣wj∣
2.2 坐标下降法
针对上述优化问题,本文采用坐标下降法进行求解。该方法的核心策略是,在每一步迭代中固定除目标参数
w
j
w_j
wj外的所有参数,仅对
w
j
w_j
wj进行一维优化。为了简化推导过程,本文将目标函数拆分为两部分:
O
L
S
=
1
2
∑
i
=
1
m
(
y
(
i
)
−
∑
j
=
0
n
w
j
x
j
(
i
)
)
2
,
L
1
=
λ
∑
j
=
1
n
∣
w
j
∣
OLS=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)} - \sum_{j=0}^{n}w_jx_j^{(i)})^2, L_1 = \lambda\sum_{j=1}^{n}|w_j|
OLS=21i=1∑m(y(i)−j=0∑nwjxj(i))2,L1=λj=1∑n∣wj∣
首先,对
O
L
S
(
w
)
OLS(w)
OLS(w)关于
w
j
w_j
wj求偏导:
∂
O
L
S
∂
w
j
=
−
∑
i
=
1
m
x
j
(
i
)
[
y
(
i
)
−
∑
j
=
0
n
w
j
x
j
(
i
)
]
=
−
∑
i
=
1
m
x
j
(
i
)
[
y
(
i
)
−
∑
k
≠
j
n
w
k
x
k
(
i
)
−
w
j
x
j
(
i
)
]
=
−
∑
i
=
1
m
x
j
(
i
)
[
y
(
i
)
−
∑
k
≠
j
n
w
k
x
k
(
i
)
]
+
w
j
∑
i
=
1
m
(
x
j
(
i
)
)
2
=
−
p
j
+
w
j
z
j
\begin{aligned} \frac{\partial{OLS}}{\partial{w_j}}&=-\sum_{i=1}^{m}{x_j^{(i)}[y^{(i)}-\sum_{j=0}^{n}w_jx_j^{(i)}]}\\ &=-\sum_{i=1}^{m}{x_j^{(i)}[y^{(i)}-\sum_{k\neq j}^{n}w_kx_k^{(i)}-w_jx_j^{(i)}]}\\ &=-\sum_{i=1}^{m}{x_j^{(i)}[y^{(i)}-\sum_{k\neq j}^{n}w_kx_k^{(i)}]}+w_j\sum_{i=1}^{m}{(x_j^{(i)})^2}\\ &=-p_j+w_jz_j \end{aligned}
∂wj∂OLS=−i=1∑mxj(i)[y(i)−j=0∑nwjxj(i)]=−i=1∑mxj(i)[y(i)−k=j∑nwkxk(i)−wjxj(i)]=−i=1∑mxj(i)[y(i)−k=j∑nwkxk(i)]+wji=1∑m(xj(i))2=−pj+wjzj
然后,对
L
1
(
w
)
L_1(w)
L1(w) 关于
w
j
w_j
wj求偏导:
λ
∑
j
=
1
n
∣
w
j
∣
=
λ
∑
k
≠
j
n
∣
w
k
∣
+
λ
∣
w
j
∣
\lambda\sum_{j=1}^{n}|w_j|=\lambda\sum_{k\neq j}^{n}|w_k| + \lambda|w_j|
λj=1∑n∣wj∣=λk=j∑n∣wk∣+λ∣wj∣
∂
L
1
∂
w
j
=
∂
(
λ
∣
w
j
∣
)
∂
w
j
=
{
−
λ
,
w
j
<
0
,
[
−
λ
,
λ
]
,
w
j
=
0
,
λ
,
w
j
>
0.
\frac{\partial L_1}{\partial w_j} = \frac{\partial \left( \lambda |w_j| \right)}{\partial w_j}= \begin{cases} -\lambda, & w_j < 0, \\ [-\lambda, \lambda], & w_j = 0, \\ \lambda, & w_j > 0. \end{cases}
∂wj∂L1=∂wj∂(λ∣wj∣)=⎩
⎨
⎧−λ,[−λ,λ],λ,wj<0,wj=0,wj>0.
根据导数四则运算,得到Lasso损失函数对
w
j
w_j
wj的导数:
∂
R
S
S
∂
w
j
=
∂
O
L
S
∂
w
j
+
∂
L
1
∂
w
j
=
{
−
p
j
+
w
j
z
j
−
λ
,
w
j
<
0
,
[
−
p
j
−
λ
,
−
p
j
+
λ
]
,
w
j
=
0
,
−
p
j
+
w
j
z
j
+
λ
,
w
j
>
0.
\begin{aligned} \frac{\partial RSS}{\partial w_j}&=\frac{\partial{OLS}}{\partial{w_j}}+\frac{\partial L_1}{\partial w_j}\\ &=\begin{cases} -p_j+w_jz_j-\lambda, & w_j < 0, \\ [-p_j-\lambda, -p_j+\lambda], & w_j = 0, \\ -p_j+w_jz_j+\lambda, & w_j > 0. \end{cases} \end{aligned}
∂wj∂RSS=∂wj∂OLS+∂wj∂L1=⎩
⎨
⎧−pj+wjzj−λ,[−pj−λ,−pj+λ],−pj+wjzj+λ,wj<0,wj=0,wj>0.
最后,分类讨论最优解:
当
w
j
<
0
w_j < 0
wj<0 时,令
−
p
j
+
w
j
z
j
−
λ
=
0
-p_j+w_jz_j-\lambda=0
−pj+wjzj−λ=0,则
w
j
=
p
j
+
λ
z
j
w_j = \frac{p_j+\lambda}{z_j}
wj=zjpj+λ。由于
w
j
<
0
w_j < 0
wj<0 ,所以
p
j
<
−
λ
p_j < -\lambda
pj<−λ。
当
w
j
>
0
w_j > 0
wj>0 时,令
−
p
j
+
w
j
z
j
+
λ
=
0
-p_j+w_jz_j+\lambda=0
−pj+wjzj+λ=0,则
w
j
=
p
j
−
λ
z
j
w_j = \frac{p_j-\lambda}{z_j}
wj=zjpj−λ。由于
w
j
>
0
w_j > 0
wj>0 ,所以
p
j
>
λ
p_j > \lambda
pj>λ。
当
w
j
=
0
w_j = 0
wj=0 时,为了让目标函数取得最优,则导数区间内必须包含0,
−
p
j
−
λ
≤
0
≤
−
p
j
+
λ
-p_j-\lambda \leq 0 \leq-p_j + \lambda
−pj−λ≤0≤−pj+λ,即
−
λ
≤
p
j
≤
λ
-\lambda \leq p_j \leq \lambda
−λ≤pj≤λ。在这种情况下,最优解就是
w
j
=
0
w_j = 0
wj=0。
综上所述,可得到Lasso损失函数关于
w
j
w_j
wj 更新公式:
{
w
j
=
p
j
+
λ
z
j
,
p
j
<
−
λ
,
w
j
=
0
,
−
λ
≤
p
j
≤
λ
,
w
j
=
p
j
−
λ
z
j
,
p
j
>
λ
.
\begin{cases} w_j=\frac{p_j+\lambda}{z_j}, & p_j < -\lambda, \\ w_j=0, & -\lambda \leq p_j \leq \lambda, \\ w_j = \frac{p_j-\lambda}{z_j}, & p_j > \lambda. \end{cases}
⎩
⎨
⎧wj=zjpj+λ,wj=0,wj=zjpj−λ,pj<−λ,−λ≤pj≤λ,pj>λ.
91

被折叠的 条评论
为什么被折叠?



