【机器学习基础】第四十七课:[特征选择与稀疏学习]嵌入式选择与L1正则化

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。

1.嵌入式选择与L1正则化

过滤式包裹式特征选择方法中,特征选择过程与学习器训练过程有明显的分别;与此不同,嵌入式特征选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动地进行了特征选择。

给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \{ (\mathbf{x}_1,y_1), (\mathbf{x}_2,y_2), ...,(\mathbf{x}_m,y_m) \} D={(x1,y1),(x2,y2),...,(xm,ym)},其中 x ∈ R d , y ∈ R \mathbf{x} \in \mathbb{R}^d, y\in \mathbb{R} xRd,yR。我们考虑最简单的线性回归模型,以平方误差为损失函数,则优化目标为:

min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 (1) \min_{\mathbf{w}} \sum_{i=1}^m (y_i - \mathbf{w}^T \mathbf{x}_i)^2 \tag{1} wmini=1m(yiwTxi)2(1)

当样本特征很多,而样本数相对较少时,式(1)很容易陷入过拟合。为了缓解过拟合问题,可对式(1)引入正则化项。若使用 L 2 L_2 L2范数正则化,则有:

min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 + λ ∥ w ∥ 2 2 (2) \min_{\mathbf{w}} \sum_{i=1}^m (y_i - \mathbf{w}^T \mathbf{x}_i)^2 + \lambda \parallel \mathbf{w} \parallel_2^2 \tag{2} wmini=1m(yiwTxi)2+λw22(2)

其中正则化参数 λ > 0 \lambda > 0 λ>0。式(2)称为“岭回归”(ridge regression),通过引入 L 2 L_2 L2范数正则化,确能显著降低过拟合的风险。

岭回归最初由A.Tikhonov在1943年发表于《苏联科学院院刊》,因此亦称“Tikhonov回归”,而 L 2 L_2 L2正则化亦称“Tikhonov正则化”。

那么,能否将正则化项中的 L 2 L_2 L2范数替换为 L p L_p Lp范数呢?答案是肯定的。若令 p = 1 p=1 p=1,即采用 L 1 L_1 L1范数,则有:

min ⁡ w ∑ i = 1 m ( y i − w T x i ) 2 + λ ∥ w ∥ 1 (3) \min_{\mathbf{w}} \sum_{i=1}^m (y_i - \mathbf{w}^T \mathbf{x}_i)^2 + \lambda \parallel \mathbf{w} \parallel_1 \tag{3} wmini=1m(yiwTxi)2+λw1(3)

其中正则化参数 λ > 0 \lambda>0 λ>0。式(3)称为LASSO。

LASSO:Least Absolute Shrinkage and Selection Operator,直译为“最小绝对收缩选择算子”,简称为LASSO。

L 1 L_1 L1范数和 L 2 L_2 L2范数正则化都有助于降低过拟合风险,但前者还会带来一个额外的好处:它比后者更易于获得“稀疏”(sparse)解,即它求得的 w \mathbf{w} w会有更少的非零分量。

事实上,对 w \mathbf{w} w施加“稀疏约束”(即希望 w \mathbf{w} w的非零分量尽可能少)最自然的是使用 L 0 L_0 L0范数,但 L 0 L_0 L0范数不连续,难以优化求解,因此常使用 L 1 L_1 L1范数来近似。

为了理解这一点,我们来看一个直观的例子:假定 x \mathbf{x} x仅有两个属性,于是无论式(2)还是式(3)解出的 w \mathbf{w} w都只有两个分量,即 w 1 , w 2 w_1,w_2 w1,w2,我们将其作为两个坐标轴,然后在图中绘制出式(2)与(3)的第一项的“等值线”,即在 ( w 1 , w 2 ) (w_1,w_2) (w1,w2)空间中平方误差项取值相同的点的连线,再分别绘制出 L 1 L_1 L1范数与 L 2 L_2 L2范数的等值线,即在 ( w 1 , w 2 ) (w_1,w_2) (w1,w2)空间中 L 1 L_1 L1范数取值相同的点的连线,以及 L 2 L_2 L2范数取值相同的点的连线,如图11.2所示。式(2)与(3)的解要在平方误差项与正则化项之间折中,即出现在图中平方误差项等值线与正则化项等值线相交处。由图11.2可看出,采用 L 1 L_1 L1范数时平方误差项等值线与正则化项等值线的交点常出现在坐标轴上,即 w 1 w_1 w1 w 2 w_2 w2为0,而在采用 L 2 L_2 L2范数时,两者的交点常出现在某个象限中,即 w 1 w_1 w1 w 2 w_2 w2均非0;换言之,采用 L 1 L_1 L1范数比 L 2 L_2 L2范数更易于得到稀疏解。

注意到 w \mathbf{w} w取得稀疏解意味着初始的 d d d个特征中仅有对应着 w \mathbf{w} w的非零分量的特征才会出现在最终模型中,于是,求解 L 1 L_1 L1范数正则化的结果是得到了仅采用一部分初始特征的模型;换言之,基于 L 1 L_1 L1正则化的学习方法就是一种嵌入式特征选择方法,其特征选择过程与学习器训练过程融为一体,同时完成。

L 1 L_1 L1正则化问题的求解可使用近端梯度下降(Proximal Gradient Descent,简称PGD)。具体来说,令 ∇ \nabla 表示微分算子,对优化目标:

min ⁡ x f ( x ) + λ ∥ x ∥ 1 (4) \min_{\mathbf{x}} f(\mathbf{x}) + \lambda \parallel \mathbf{x} \parallel _1 \tag{4} xminf(x)+λx1(4)

f ( x ) f(\mathbf{x}) f(x)可导,且 ∇ f \nabla f f满足L-Lipschitz条件(见本文第2部分),即存在常数 L > 0 L>0 L>0使得:

∥ ∇ f ( x ′ ) − ∇ f ( x ) ∥ 2 2 ⩽ L ∥ x ′ − x ∥ 2 2   ( ∀ x , x ′ ) (5) \parallel \nabla f(\mathbf{x}') - \nabla f(\mathbf{x}) \parallel ^2_2 \leqslant L \parallel \mathbf{x}' - \mathbf{x} \parallel ^2_2 \ (\forall \mathbf{x}, \mathbf{x'}) \tag{5} f(x)f(x)22Lxx22 (x,x)(5)

则在 x k \mathbf{x}_k xk附近可将 f ( x ) f(\mathbf{x}) f(x)通过二阶泰勒展式近似为:

f ^ ( x ) ≃ f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ + L 2 ∥ x − x k ∥ 2 = L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + const (6) \begin{align*} \hat{f} (\mathbf{x}) & \simeq f(\mathbf{x}_k) + \langle \nabla f(\mathbf{x}_k), \mathbf{x}-\mathbf{x}_k \rangle + \frac{L}{2} \parallel \mathbf{x} - \mathbf{x}_k \parallel ^2 \\ &= \frac{L}{2} \parallel \mathbf{x} - ( \mathbf{x}_k - \frac{1}{L} \nabla f(\mathbf{x}_k) ) \parallel _2^2 + \text{const} \end{align*} \tag{6} f^(x)f(xk)+f(xk),xxk+2Lxxk2=2Lx(xkL1f(xk))22+const(6)

其中 const \text{const} const是与 x \mathbf{x} x无关的常数, ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ,表示内积。显然,式(6)的最小值在如下 x k + 1 \mathbf{x}_{k+1} xk+1获得:

x k + 1 = x k − 1 L ∇ f ( x k ) (7) \mathbf{x}_{k+1} = \mathbf{x}_k - \frac{1}{L} \nabla f(\mathbf{x}_k) \tag{7} xk+1=xkL1f(xk)(7)

于是,若通过梯度下降法对 f ( x ) f(\mathbf{x}) f(x)进行最小化,则每一步梯度下降迭代实际上等价于最小化二次函数 f ^ ( x ) \hat{f}(\mathbf{x}) f^(x)。将这个思想推广到式(4),则能类似地得到其每一步迭代应为:

x k + 1 = arg ⁡ min ⁡ x L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + λ ∥ x ∥ 1 (8) \mathbf{x}_{k+1} = \arg \min_{\mathbf{x}} \frac{L}{2} \left \| \mathbf{x} - \left( \mathbf{x}_k - \frac{1}{L} \nabla f(\mathbf{x}_k) \right) \right \|_2^2 + \lambda \left \| \mathbf{x} \right \|_1 \tag{8} xk+1=argxmin2L x(xkL1f(xk)) 22+λx1(8)

即在每一步对 f ( x ) f(\mathbf{x}) f(x)进行梯度下降迭代的同时考虑 L 1 L_1 L1范数最小化。

对于式(8),可先计算 z = x k − 1 L ∇ f ( x k ) \mathbf{z} = \mathbf{x}_k - \frac{1}{L} \nabla f (\mathbf{x}_k) z=xkL1f(xk),然后求解。

x k + 1 = arg ⁡ min ⁡ x L 2 ∥ x − z ∥ 2 2 + λ ∥ x ∥ 1 (9) \mathbf{x}_{k+1} = \arg \min_{\mathbf{x}} \frac{L}{2} \left \| \mathbf{x} - \mathbf{z} \right \|_2^2 + \lambda \left \| \mathbf{x} \right \| _1 \tag{9} xk+1=argxmin2Lxz22+λx1(9)

x i x^i xi表示 x \mathbf{x} x的第 i i i个分量,将式(9)按分量展开可看出,其中不存在 x i x j x^ix^j xixj i ≠ j i \neq j i=j)这样的项,即 x \mathbf{x} x的各分量互不影响,于是式(9)有闭式解。

x k + 1 i = { z i − λ / L , λ / L < z i ; 0 , ∣ z i ∣ ⩽ λ / L ; z i + λ / L , z i < − λ / L , (10) x_{k+1}^i = \begin{cases} z^i - \lambda / L, & \lambda/L < z^i; \\ 0, & \lvert z^i \rvert \leqslant \lambda/L; \\ z^i + \lambda / L, & z^i < -\lambda / L, \end{cases} \tag{10} xk+1i= ziλ/L,0,zi+λ/L,λ/L<zi;ziλ/L;zi<λ/L,(10)

其中 x k + 1 i x_{k+1}^i xk+1i z i z^i zi分别是 x k + 1 \mathbf{x}_{k+1} xk+1 z \mathbf{z} z的第 i i i个分量。因此,通过PGD能使LASSO和其他基于 L 1 L_1 L1范数最小化的方法得以快速求解。

2.利普希茨连续

2.1.连续函数

连续函数(continuous function)是指函数在数学上的属性为连续。直观上来说,连续的函数就是当输入值的变化足够小的时候,输出的变化也会随之足够小的函数。

如果输入值的某种微小的变化会产生输出值的一个突然的跳跃甚至无法定义,则这个函数被称为是不连续函数,或者说具有不连续性。非连续函数一定存在间断点。

2.2.一致连续

一致连续又称均匀连续(uniformly continuous),是比连续更苛刻的条件。

设函数 f ( x ) f(x) f(x)在区间 I I I上有定义, ∀ ϵ > 0 , ∃ δ > 0 \forall \epsilon > 0, \exists \delta > 0 ϵ>0,δ>0,使得对于区间 I I I上的任意两点 x 1 , x 2 x_1,x_2 x1,x2,当 ∣ x 1 − x 2 ∣ < δ \lvert x_1-x_2 \rvert < \delta x1x2<δ时,有 ∣ f ( x 1 ) − f ( x 2 ) ∣ < ϵ \lvert f(x_1) - f(x_2) \rvert < \epsilon f(x1)f(x2)∣<ϵ。那么称函数 f ( x ) f(x) f(x)在区间 I I I上一致连续。

一致连续对比连续实际上多了一个条件:

2.3.利普希茨连续

在数学中,特别是实分析,利普希茨连续(Lipschitz continuity)以德国数学家鲁道夫·利普希茨命名,是一个比一致连续更强的光滑性条件。直觉上,利普希茨连续函数限制了函数改变的速度,符合利普希茨条件的函数的斜率,必小于一个称为利普希茨常数的实数(该常数依函数而定)。

👉定义:对于在实数集的子集的函数 f : D ⊆ R → R f : D \subseteq \mathbb{R} \to \mathbb{R} f:DRR,若存在常数 K K K,使得 ∣ f ( a ) − f ( b ) ∣ ⩽ K ∣ a − b ∣ ∀ a , b ∈ D \lvert f(a) - f(b) \rvert \leqslant K \lvert a - b \rvert \quad \forall a,b \in D f(a)f(b)∣Kaba,bD,则称 f f f符合利普希茨条件,对于 f f f最小的常数 K K K称为 f f f利普希茨常数

对于利普希茨连续函数,存在一个双圆锥(白色)其顶点可以沿着曲线平移,使得曲线总是完全在这两个圆锥外。

3.式(6)的推导

根据我们在wiki百科中查到的利普希茨连续的定义(见第2.3部分),式(5)应该写成:

∣ ∇ f ( x ′ ) − ∇ f ( x ) ∣ ⩽ L ∣ x ′ − x ∣ ( ∀ x , x ′ ) \lvert \nabla f(\mathbf{x}') - \nabla f(\mathbf{x}) \rvert \leqslant L \lvert \mathbf{x}' - \mathbf{x} \rvert \quad (\forall \mathbf{x},\mathbf{x}') f(x)f(x)∣Lxx(x,x)

移项得:

∣ ∇ f ( x ′ ) − ∇ f ( x ) ∣ ∣ x ′ − x ∣ ⩽ L ( ∀ x , x ′ ) \frac{\lvert \nabla f(\mathbf{x}') - \nabla f(\mathbf{x}) \rvert }{\lvert \mathbf{x}' - \mathbf{x} \rvert} \leqslant L \quad (\forall \mathbf{x},\mathbf{x}') xxf(x)f(x)∣L(x,x)

由于上式对所有的 x , x ′ \mathbf{x},\mathbf{x}' x,x都成立,由导数的定义,上式可以看成是 f ( x ) f(\mathbf{x}) f(x)的二阶导数恒不大于 L L L。即:

∇ 2 f ( x ) ⩽ L \nabla ^2 f(\mathbf{x}) \leqslant L 2f(x)L

泰勒公式 x k \mathbf{x}_k xk附近的 f ( x ) f(\mathbf{x}) f(x)通过二阶泰勒展开式可近似为:

f ^ ( x ) ≃ f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ + ∇ 2 f ( x k ) 2 ∥ x − x k ∥ 2 ⩽ f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ + L 2 ∥ x − x k ∥ 2 = f ( x k ) + ∇ f ( x k ) ⊤ ( x − x k ) + L 2 ( x − x k ) ⊤ ( x − x k ) = f ( x k ) + L 2 ( ( x − x k ) ⊤ ( x − x k ) + 2 L ∇ f ( x k ) ⊤ ( x − x k ) ) = f ( x k ) + L 2 ( ( x − x k ) ⊤ ( x − x k ) + 2 L ∇ f ( x k ) ⊤ ( x − x k ) + 1 L 2 ∇ f ( x k ) ⊤ ∇ f ( x k ) ) − 1 2 L ∇ f ( x k ) ⊤ ∇ f ( x k ) = f ( x k ) + L 2 ( ( x − x k ) + 1 L ∇ f ( x k ) ) ⊤ ( ( x − x k ) + 1 L ∇ f ( x k ) ) − 1 2 L ∇ f ( x k ) ⊤ ∇ f ( x k ) = L 2 ∥ x − ( x k − 1 L ∇ f ( x k ) ) ∥ 2 2 + const \begin{align*} \hat{f} (\mathbf{x}) & \simeq f(\mathbf{x}_k) + \langle \nabla f(\mathbf{x}_k), \mathbf{x}-\mathbf{x}_k \rangle + \frac{\nabla ^2 f(\mathbf{x}_k)}{2} \parallel \mathbf{x} - \mathbf{x}_k \parallel ^2 \\& \leqslant f(\mathbf{x}_k) + \langle \nabla f(\mathbf{x}_k), \mathbf{x}-\mathbf{x}_k \rangle + \frac{L}{2} \parallel \mathbf{x} - \mathbf{x}_k \parallel ^2 \\&= f(\mathbf{x}_k) + \nabla f(\mathbf{x}_k)^{\top} (\mathbf{x} - \mathbf{x}_k) + \frac{L}{2} (\mathbf{x} - \mathbf{x}_k)^{\top} (\mathbf{x} - \mathbf{x}_k) \\&= f(\mathbf{x}_k) + \frac{L}{2} \left( (\mathbf{x} - \mathbf{x}_k)^{\top} (\mathbf{x} - \mathbf{x}_k) + \frac{2}{L} \nabla f(\mathbf{x}_k)^{\top} (\mathbf{x} - \mathbf{x}_k) \right) \\&= f(\mathbf{x}_k) + \frac{L}{2} \left( (\mathbf{x} - \mathbf{x}_k)^{\top} (\mathbf{x} - \mathbf{x}_k) + \frac{2}{L} \nabla f(\mathbf{x}_k)^{\top} (\mathbf{x} - \mathbf{x}_k) + \frac{1}{L^2} \nabla f(\mathbf{x}_k)^{\top} \nabla f(\mathbf{x}_k) \right) - \frac{1}{2L} \nabla f(\mathbf{x}_k)^{\top} \nabla f(\mathbf{x}_k) \\&= f(\mathbf{x}_k) +\frac{L}{2} \left( (\mathbf{x} - \mathbf{x}_k) + \frac{1}{L} \nabla f (\mathbf{x}_k) \right)^{\top} \left( (\mathbf{x} - \mathbf{x}_k) + \frac{1}{L} \nabla f (\mathbf{x}_k) \right) - \frac{1}{2L} \nabla f(\mathbf{x}_k)^{\top} \nabla f(\mathbf{x}_k) \\&= \frac{L}{2} \left \| \mathbf{x} - \left( \mathbf{x}_k - \frac{1}{L} \nabla f(\mathbf{x}_k) \right) \right \|_2^2 + \text{const} \end{align*} f^(x)f(xk)+f(xk),xxk+22f(xk)xxk2f(xk)+f(xk),xxk+2Lxxk2=f(xk)+f(xk)(xxk)+2L(xxk)(xxk)=f(xk)+2L((xxk)(xxk)+L2f(xk)(xxk))=f(xk)+2L((xxk)(xxk)+L2f(xk)(xxk)+L21f(xk)f(xk))2L1f(xk)f(xk)=f(xk)+2L((xxk)+L1f(xk))((xxk)+L1f(xk))2L1f(xk)f(xk)=2L x(xkL1f(xk)) 22+const

⟨ . . . ⟩ \langle ... \rangle ...矩阵内积

其中,

const = f ( x k ) − 1 2 L ∇ f ( x k ) ⊤ ∇ f ( x k ) \text{const} = f(\mathbf{x}_k) - \frac{1}{2L} \nabla f(\mathbf{x}_k)^{\top} \nabla f(\mathbf{x}_k) const=f(xk)2L1f(xk)f(xk)

4.式(10)的推导

令优化函数:

g ( x ) = L 2 ∥ x − z ∥ 2 2 + λ ∥ x ∥ 1 = L 2 ∑ i = 1 d ∥ x i − z i ∥ 2 2 + λ ∑ i = 1 d ∥ x i ∥ 1 = ∑ i = 1 d ( L 2 ( x i − z i ) 2 + λ ∣ x i ∣ ) \begin{align*} g(\mathbf{x}) &= \frac{L}{2} \left \| \mathbf{x} - \mathbf{z} \right \| _2^2 + \lambda \left \| \mathbf{x} \right \| _1 \\&= \frac{L}{2} \sum_{i=1}^d \left \| x^i - z^i \right \| _2^2 + \lambda \sum_{i=1}^d \left \| x^i \right \|_1 \\&= \sum_{i=1}^d \left( \frac{L}{2} (x^i - z^i)^2 + \lambda \lvert x^i \rvert \right) \end{align*} g(x)=2Lxz22+λx1=2Li=1d xizi 22+λi=1d xi 1=i=1d(2L(xizi)2+λxi)

这个式子表明优化 g ( x ) g(\mathbf{x}) g(x)可以被拆解成优化 x \mathbf{x} x的各个分量的形式,对分量 x i x^i xi,其优化函数:

g ( x i ) = L 2 ( x i − z i ) 2 + λ ∣ x i ∣ g(x^i) = \frac{L}{2} (x^i - z^i)^2 + \lambda \lvert x^i \rvert g(xi)=2L(xizi)2+λxi

求导得:

d g ( x i ) d x i = L ( x i − z i ) + λ sign ( x i ) \frac{dg(x^i)}{dx^i} = L(x^i - z^i) + \lambda \text{sign} (x^i) dxidg(xi)=L(xizi)+λsign(xi)

其中:

sign ( x i ) = { 1 , x i > 0 − 1 , x i < 0 \text{sign} (x^i) = \begin{cases} 1, & x^i > 0 \\ -1, & x^i < 0 \end{cases} sign(xi)={1,1,xi>0xi<0

称为符号函数,对于 x i = 0 x^i = 0 xi=0的特殊情况,由于 ∣ x i ∣ \lvert x^i \rvert xi x i = 0 x^i = 0 xi=0处不光滑,所以其不可导,需单独讨论。令 d g ( x i ) d x i = 0 \frac{dg(x^i)}{dx^i}=0 dxidg(xi)=0有:

x i = z i − λ L sign ( x i ) x^i = z^i - \frac{\lambda}{L} \text{sign} (x^i) xi=ziLλsign(xi)

此式的解即为优化目标 g ( x i ) g(x^i) g(xi)的极值点,因为等式两端均含有未知变量 x i x^i xi,故分情况讨论。

1️⃣当 z i > λ L z^i >\frac{\lambda}{L} zi>Lλ时:

👉假设 x i < 0 x^i<0 xi<0,则 sign ( x i ) = − 1 \text{sign}(x^i)=-1 sign(xi)=1,那么有 x i = z i + λ L > 0 x^i = z^i + \frac{\lambda}{L} > 0 xi=zi+Lλ>0与假设矛盾。

👉假设 x i > 0 x^i>0 xi>0,则 sign ( x i ) = 1 \text{sign}(x^i)=1 sign(xi)=1,那么有 x i = z i − λ L > 0 x^i = z^i - \frac{\lambda}{L} > 0 xi=ziLλ>0和假设相符合,下面来检验 x i = z i − λ L x^i = z^i - \frac{\lambda}{L} xi=ziLλ能否使函数 g ( x i ) g(x^i) g(xi)取得最小值。当 x i > 0 x^i > 0 xi>0时,

d g ( x i ) d x i = L ( x i − z i ) + λ \frac{dg(x^i)}{dx^i} = L(x^i - z^i) + \lambda dxidg(xi)=L(xizi)+λ

在定义域内连续可导,则 g ( x i ) g(x^i) g(xi)的二阶导数:

d 2 g ( x i ) d x i 2 = L \frac{d^2 g(x^i)}{d{x^i}^2} = L dxi2d2g(xi)=L

由于 L L L是Lipschitz常数恒大于0(此时为凸函数),因此 x i = z i − λ L x^i = z^i - \frac{\lambda}{L} xi=ziLλ是函数 g ( x i ) g(x^i) g(xi)的最小值。

👉假设 x i = 0 x^i=0 xi=0,此时 g ( x i ) = L 2 ( z i ) 2 g(x^i) = \frac{L}{2} (z^i)^2 g(xi)=2L(zi)2,我们来比较下 x i = 0 x^i=0 xi=0时的 g ( x i ) g(x^i) g(xi)和上面求得的最小值相比哪个更小。

g ( x i ) ∣ x i = 0 − g ( x i ) ∣ x i = z i − λ L = L 2 ( z i ) 2 − ( λ z i − λ 2 2 L ) = L 2 ( z i − λ L ) 2 > 0 \begin{align*} g(x^i) \mid _{x^i = 0} - g(x^i) \mid _{x^i = z^i - \frac{\lambda}{L}} &= \frac{L}{2} (z^i)^2 - \left( \lambda z^i - \frac{\lambda^2}{2L} \right) \\& = \frac{L}{2} \left( z^i - \frac{\lambda}{L} \right)^2 \\& > 0 \end{align*} g(xi)xi=0g(xi)xi=ziLλ=2L(zi)2(λzi2Lλ2)=2L(ziLλ)2>0

说明 x i = 0 x^i = 0 xi=0并没有取得更小的值。

2️⃣当 z i < − λ L z^i < - \frac{\lambda}{L} zi<Lλ时:

👉假设 x i > 0 x^i > 0 xi>0,则 sign ( x i ) = 1 \text{sign} (x^i) = 1 sign(xi)=1,那么有 x i = z i − λ L < 0 x^i = z^i - \frac{\lambda}{L}<0 xi=ziLλ<0与假设矛盾。

👉假设 x i < 0 x^i < 0 xi<0,则 sign ( x i ) = − 1 \text{sign} (x^i) = -1 sign(xi)=1,那么有 x i = z i + λ L < 0 x^i = z^i + \frac{\lambda}{L} < 0 xi=zi+Lλ<0与假设相符,由上述二阶导数恒大于0可知, x i = z i + λ L x^i = z^i + \frac{\lambda}{L} xi=zi+Lλ是函数 g ( x i ) g(x^i) g(xi)的最小值。

👉假设 x i = 0 x^i = 0 xi=0,此时 g ( x i ) = L 2 ( z i ) 2 g(x^i) = \frac{L}{2} (z^i)^2 g(xi)=2L(zi)2,同样和上面求得的最小值进行比较。

g ( x i ) ∣ x i = 0 − g ( x i ) ∣ x i = z i + λ L = L 2 ( z i ) 2 − ( − λ z i − λ 2 2 L ) = L 2 ( z i + λ L ) 2 > 0 \begin{align*} g(x^i) \mid _{x^i = 0} - g(x^i) \mid _{x^i = z^i + \frac{\lambda}{L}} &= \frac{L}{2} (z^i)^2 - \left( -\lambda z^i - \frac{\lambda^2}{2L} \right) \\& = \frac{L}{2} \left( z^i + \frac{\lambda}{L} \right)^2 \\& > 0 \end{align*} g(xi)xi=0g(xi)xi=zi+Lλ=2L(zi)2(λzi2Lλ2)=2L(zi+Lλ)2>0

说明 x i = 0 x^i = 0 xi=0并没有取得更小的值。

3️⃣当 − λ L ⩽ z i ⩽ λ L -\frac{\lambda}{L} \leqslant z^i \leqslant \frac{\lambda}{L} LλziLλ时:

👉假设 x i > 0 x^i > 0 xi>0,则 sign ( x i ) = 1 \text{sign} (x^i) = 1 sign(xi)=1,那么有 x i = z i − λ L ⩽ 0 x^i = z^i - \frac{\lambda}{L} \leqslant 0 xi=ziLλ0与假设矛盾。

👉假设 x i < 0 x^i < 0 xi<0,则 sign ( x i ) = − 1 \text{sign} (x^i) = -1 sign(xi)=1,那么有 x i = z i + λ L ⩾ 0 x^i = z^i + \frac{\lambda}{L} \geqslant 0 xi=zi+Lλ0与假设矛盾。

👉假设 x i = 0 x^i = 0 xi=0,对于任何 Δ x ≠ 0 \Delta x \neq 0 Δx=0有:

Δ x > 0 \Delta x > 0 Δx>0时:

g ( Δ x ) = L 2 ( Δ x − z i ) 2 + λ ∣ Δ x ∣ = L 2 ( ( Δ x ) 2 − 2 Δ x ⋅ z i + 2 λ L ∣ Δ x ∣ ) + L 2 ( z i ) 2 = L 2 ( ( Δ x ) 2 − 2 Δ x ⋅ z i + 2 λ L Δ x ) + L 2 ( z i ) 2 = L 2 ( ( Δ x ) 2 + 2 Δ x ( λ L − z i ) ) + L 2 ( z i ) 2 ⩾ L 2 ( Δ x ) 2 + L 2 ( z i ) 2 > g ( x i ) ∣ x i = 0 \begin{align*} g(\Delta x) &= \frac{L}{2} (\Delta x -z^i)^2 + \lambda \lvert \Delta x \rvert \\&= \frac{L}{2} \left( (\Delta x)^2 - 2\Delta x \cdot z^i + \frac{2\lambda}{L} \lvert \Delta x \rvert \right) + \frac{L}{2} (z^i)^2 \\&= \frac{L}{2} \left( (\Delta x)^2 - 2\Delta x \cdot z^i + \frac{2\lambda}{L} \Delta x \right) + \frac{L}{2} (z^i)^2 \\&= \frac{L}{2} \left( (\Delta x)^2 + 2\Delta x (\frac{\lambda}{L} - z^i) \right) + \frac{L}{2} (z^i)^2 \\& \geqslant \frac{L}{2} (\Delta x)^2 + \frac{L}{2} (z^i)^2 \\& > g(x^i) \mid _{x^i = 0} \end{align*} g(Δx)=2L(Δxzi)2+λΔx=2L((Δx)2xzi+L2λΔx)+2L(zi)2=2L((Δx)2xzi+L2λΔx)+2L(zi)2=2L((Δx)2+x(Lλzi))+2L(zi)22L(Δx)2+2L(zi)2>g(xi)xi=0

Δ x < 0 \Delta x < 0 Δx<0时:

g ( Δ x ) = L 2 ( Δ x − z i ) 2 + λ ∣ Δ x ∣ = L 2 ( ( Δ x ) 2 − 2 Δ x ⋅ z i + 2 λ L ∣ Δ x ∣ ) + L 2 ( z i ) 2 = L 2 ( ( Δ x ) 2 − 2 Δ x ⋅ z i − 2 λ L Δ x ) + L 2 ( z i ) 2 = L 2 ( ( Δ x ) 2 − 2 Δ x ( λ L + z i ) ) + L 2 ( z i ) 2 ⩾ L 2 ( Δ x ) 2 + L 2 ( z i ) 2 > g ( x i ) ∣ x i = 0 \begin{align*} g(\Delta x) &= \frac{L}{2} (\Delta x -z^i)^2 + \lambda \lvert \Delta x \rvert \\&= \frac{L}{2} \left( (\Delta x)^2 - 2\Delta x \cdot z^i + \frac{2\lambda}{L} \lvert \Delta x \rvert \right) + \frac{L}{2} (z^i)^2 \\&= \frac{L}{2} \left( (\Delta x)^2 - 2\Delta x \cdot z^i - \frac{2\lambda}{L} \Delta x \right) + \frac{L}{2} (z^i)^2 \\&= \frac{L}{2} \left( (\Delta x)^2 - 2\Delta x (\frac{\lambda}{L} + z^i) \right) + \frac{L}{2} (z^i)^2 \\& \geqslant \frac{L}{2} (\Delta x)^2 + \frac{L}{2} (z^i)^2 \\& > g(x^i) \mid _{x^i = 0} \end{align*} g(Δx)=2L(Δxzi)2+λΔx=2L((Δx)2xzi+L2λΔx)+2L(zi)2=2L((Δx)2xziL2λΔx)+2L(zi)2=2L((Δx)2x(Lλ+zi))+2L(zi)22L(Δx)2+2L(zi)2>g(xi)xi=0

因此, x i = 0 x^i = 0 xi=0 g ( x i ) g(x^i) g(xi)的最小值点。

5.参考资料

  1. 南瓜书PumpkinBook
  2. 利普希茨连续(wiki百科)
  3. 连续函数(wiki百科)
  4. 函数连续和一致连续有什么区别?开区间上的连续函数不一定是一致连续的,为什么?

想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️

个人博客网站:https://shichaoxin.com

GitHub:https://github.com/x-jeff


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值