Lasso回归

第一章 压缩感知

        在传统信号处理中,若要实现对原始信号的还原,“全量采样” 是唯一的技术路径,其核心思想是通过对信号进行无差别、高密度的信息捕获,确保不遗漏任何细节——例如拍摄电影时需连续记录每一帧画面,测量电压曲线时则要以极高频率采集数据点。然而这种方式虽然能够保证信号还原的准确性,却伴随着数据冗余度高、存储与处理成本高昂等显著局限。
        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)TRn为高维稀疏信号,即 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 mn)。在不考虑噪声的情况下,稀疏信号与观测值之间的映射关系为:
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 x0。那么,不含噪线性观测值复原稀疏信号问题转变为如下约束优化问题:
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:minx0s.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:minx22s.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,λ)=x2+λT(yAx)
步骤二:对 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 xL=2xATλ=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 x22 目标函数仍有一个严重的缺陷,即最优解不具备稀疏性。

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 xqq 代替了原来的目标函数 ∥ x ∥ 0 \|\mathbf{x}\|_0 x0
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:minxqqs.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 xqq 取值为 P q P_q Pq 优化问题的最优点。
请添加图片描述

注意:当 q ≤ 1 q \leq 1 q1时, l q l_q lq球在坐标轴上有“尖角”(对应稀疏向量,因尖角处部分坐标为0);而 q > 1 q >1 q>1 l q l_q lq球无此性质。故 q ≤ 1 q \leq 1 q1 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 q1时, ℓ q \ell_q q范数为凸函数;同时 0 < q ≤ 1 0 < q \leq 1 0<q1时, ℓ 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:minx1s.t.y=Ax

1.3 含噪稀疏复原

        此前讨论的均为不含噪的理想情况,但在实际应用中噪声难以避免,这会使得线性约束 A x A\mathbf{x} Ax与其带噪声的实际形式存在偏差。此时,常用不等式 ∥ y − A x ∥ 2 ≤ ε \|\mathbf{y}-A\mathbf{x}\|_2 \leq \varepsilon yAx2ε来描述这种偏差,即代替原始线性方程组。该松弛方法,对探究原线性方程组 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ε:minx1s.t.yAx2ε
利用拉格朗日乘子,将上述问题转化一个无约束的最小化问题:
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λ:minx1+λ(yAx2ε)=x1+λyAx2λε(λ>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λ:x1+λyAx2=λ(λ1x1+yAx2)(λ>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λ:yAx22+λ^x1(λ>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=1m(y(i)j=0nwjxj(i))2+λj=1nwj

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=1m(y(i)j=0nwjxj(i))2L1=λj=1nwj
首先,对 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} wjOLS=i=1mxj(i)[y(i)j=0nwjxj(i)]=i=1mxj(i)[y(i)k=jnwkxk(i)wjxj(i)]=i=1mxj(i)[y(i)k=jnwkxk(i)]+wji=1m(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=1nwj=λk=jnwk+λ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} wjL1=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} wjRSS=wjOLS+wjL1= 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λ0pj+λ,即 − λ ≤ 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>λ.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值