807补充(九)(非光滑函数极值篇)
现在考虑非平滑凸目标函数的最小化
min
x
∈
R
n
f
(
x
)
\min _{\boldsymbol{x} \in \mathbb{R}^n} f(\boldsymbol{x})
minx∈Rnf(x), 其中
f
f
f 为凸函数, 但是非平滑函数, 不可微分。
非平滑目标函数的常见例子如
∥
x
∥
1
,
∥
x
∥
∞
,
∥
A
x
−
b
∥
1
\|\boldsymbol{x}\|_1,\|\boldsymbol{x}\|_{\infty},\|\boldsymbol{A x}-\boldsymbol{b}\|_1
∥x∥1,∥x∥∞,∥Ax−b∥1 等。
由于非平滑函数
f
(
x
)
f(\boldsymbol{x})
f(x) 在
x
\boldsymbol{x}
x 的梯度向量不存在, 所以基于梯度算法不适用。一个自然的问题是: 非平滑函数是否存在类似于梯度向量的某种 “广义梯度”?
一.次导数(subderivative)
定义:凸函数 f : R → R f:\Bbb R→\Bbb R f:R→R在点 x 0 x_0 x0的次导数,是实数 g g g使得:
f ( x ) − f ( x 0 ) ≥ g ( x − x 0 ) f(x)-f\left(x_0\right) \geq g\left(x-x_0\right) f(x)−f(x0)≥g(x−x0)
对上式变形再取极限得
lim
x
→
x
0
−
f
(
x
)
−
f
(
x
0
)
x
−
x
0
⩽
g
,
lim
x
→
x
0
+
f
(
x
)
−
f
(
x
0
)
x
−
x
0
⩾
g
\begin{aligned}\lim _{x \rightarrow x_0^{-}} \frac{f(x)-f\left(x_0\right)}{x-x_0}\leqslant g,\lim _{x \rightarrow x_0^{+}} \frac{f(x)-f\left(x_0\right)}{x-x_0}\geqslant g\end{aligned}
x→x0−limx−x0f(x)−f(x0)⩽g,x→x0+limx−x0f(x)−f(x0)⩾g
记
a
=
lim
x
→
x
0
−
f
(
x
)
−
f
(
x
0
)
x
−
x
0
b
=
lim
x
→
x
0
+
f
(
x
)
−
f
(
x
0
)
x
−
x
0
\begin{aligned} & a=\lim _{x \rightarrow x_0^{-}} \frac{f(x)-f\left(x_0\right)}{x-x_0} \\ & b=\lim _{x \rightarrow x_0^{+}} \frac{f(x)-f\left(x_0\right)}{x-x_0}\end{aligned}
a=x→x0−limx−x0f(x)−f(x0)b=x→x0+limx−x0f(x)−f(x0)
可知
g
∈
[
a
,
b
]
g\in[a,b]
g∈[a,b],当
a
=
b
a=b
a=b时导数存在,即次导数
g
=
f
′
(
x
0
)
g=f'(x_0)
g=f′(x0)
对于绝对值函数
y
=
∣
x
∣
y=|x|
y=∣x∣,其次导数为
∂
∣
x
∣
=
{
{
−
1
}
,
x
<
0
{
+
1
}
,
x
>
0
[
−
1
,
1
]
,
x
=
0
\partial|x|= \begin{cases}\{-1\}, & x<0 \\ \{+1\}, & x>0 \\ {[-1,1],} & x=0\end{cases}
∂∣x∣=⎩
⎨
⎧{−1},{+1},[−1,1],x<0x>0x=0
二.次梯度(subgradient)
定义 设 f f f 为凸函数, x \boldsymbol x x 为定义域 dom f \operatorname{dom} f domf 中的一点.若向量 g ∈ R n \boldsymbol g \in \mathbb{R}^n g∈Rn 满足
f ( y ) ⩾ f ( x ) + g T ( y − x ) , ∀ y ∈ dom f , f(\boldsymbol y) \geqslant f(\boldsymbol x)+\boldsymbol g^{\mathrm{T}}(\boldsymbol y-\boldsymbol x), \quad \forall \boldsymbol y \in \operatorname{dom} f, f(y)⩾f(x)+gT(y−x),∀y∈domf,
则称 g \boldsymbol g g 为函数 f f f 在点 x \boldsymbol x x 处的一个次梯度.
显然, 若 f f f 是凸函数和可微分, 则 f f f 在 x \boldsymbol{x} x 的梯度 ∇ f ( x ) \nabla f(\boldsymbol{x}) ∇f(x) 即是一个次梯度向量。因此, 梯度向量是次梯度向量的特例。一般说来, 一函数在某点 x \boldsymbol{x} x 的次梯度可能有多个。
因此称集合
∂ f ( x ) = { g ∣ g ∈ R n , f ( y ) ⩾ f ( x ) + g T ( y − x ) , ∀ y ∈ dom f } \partial f(\boldsymbol x)=\left\{\boldsymbol g \mid \boldsymbol g \in \mathbb{R}^n, f(\boldsymbol y) \geqslant f(\boldsymbol x)+g^{\mathrm{T}}(\boldsymbol y-\boldsymbol x), \forall \boldsymbol y \in \operatorname{dom} f\right\} ∂f(x)={g∣g∈Rn,f(y)⩾f(x)+gT(y−x),∀y∈domf}
为 f \boldsymbol f f 在点 x \boldsymbol x x 处的次微分.
函数 f ( x ) f(\boldsymbol{x}) f(x) 称为在点 x \boldsymbol{x} x 是可次微分的 (subdifferentiable), 若它至少存在一个次梯度向量。函数 f f f 在定义域上是可次微分的, 若它在所有点 x ∈ dom f \boldsymbol{x} \in \operatorname{dom} f x∈domf 是可次微分的。
定理 (次梯度存在性) :设 f f f 为凸函数, dom f \operatorname{dom} f domf 为其定义域. 如果 x ∈ int dom f \boldsymbol x \in \operatorname{int} \operatorname{dom} f x∈intdomf, 则 ∂ f ( x ) \partial f(\boldsymbol x) ∂f(x) 是非空的, 其中 int dom f \operatorname{int} \operatorname{dom} f intdomf 的含义是集合 dom f \operatorname{dom} f domf 的所有内点.
可以简单的认为凸函数一定存在次梯度。
定理 设 f ( x ) f(\boldsymbol x) f(x) 在 x 0 ∈ int dom f \boldsymbol x_0 \in \operatorname{int} \operatorname{dom} f x0∈intdomf 处可微, 则
∂ f ( x 0 ) = { ∇ f ( x 0 ) } . \partial f\left(\boldsymbol x_0\right)=\left\{\nabla f\left(\boldsymbol x_0\right)\right\} . ∂f(x0)={∇f(x0)}.
证明. 因
f
(
x
)
f(\boldsymbol x)
f(x)是可微凸函数,则
f
(
y
)
⩾
f
(
x
0
)
+
∇
f
(
x
0
)
T
(
y
−
x
0
)
f(\boldsymbol y)\geqslant f(\boldsymbol x_0)+\nabla f(\boldsymbol x_0)^{\mathrm T}(\boldsymbol y-\boldsymbol x_0)
f(y)⩾f(x0)+∇f(x0)T(y−x0)
可知梯度
∇
f
(
x
0
)
\nabla f\left(\boldsymbol x_0\right)
∇f(x0) 为次梯度.
下证
f
(
x
)
f(\boldsymbol x)
f(x) 在点
x
0
x_0
x0 处不可能有其他次梯度. 设
g
∈
∂
f
(
x
0
)
\boldsymbol g \in \partial f\left(\boldsymbol x_0\right)
g∈∂f(x0), 根据次梯度的定义, 对任意的非零
v
∈
R
n
\boldsymbol v \in \mathbb{R}^n
v∈Rn 且
x
0
+
t
v
∈
dom
f
,
t
>
0
\boldsymbol x_0+t \boldsymbol v \in \operatorname{dom} f, t>0
x0+tv∈domf,t>0 有
f
(
x
0
+
t
v
)
⩾
f
(
x
0
)
+
t
g
T
v
.
f\left(\boldsymbol x_0+t \boldsymbol v\right) \geqslant f\left(\boldsymbol x_0\right)+t \boldsymbol g^{\mathrm{T}} \boldsymbol v .
f(x0+tv)⩾f(x0)+tgTv.
若
g
≠
∇
f
(
x
0
)
\boldsymbol g \neq \nabla f\left(\boldsymbol x_0\right)
g=∇f(x0), 取
v
=
g
−
∇
f
(
x
0
)
≠
0
\boldsymbol v=\boldsymbol g-\nabla f\left(\boldsymbol x_0\right) \neq 0
v=g−∇f(x0)=0, 上式变形为
f
(
x
0
+
t
v
)
−
f
(
x
0
)
−
t
∇
f
(
x
0
)
T
v
t
∥
v
∥
⩾
(
g
−
∇
f
(
x
0
)
)
T
v
∥
v
∥
=
∥
v
∥
.
\frac{f\left(\boldsymbol x_0+t \boldsymbol v\right)-f\left(\boldsymbol x_0\right)-t \nabla f\left(\boldsymbol x_0\right)^{\mathrm{T}} \boldsymbol v}{t\|\boldsymbol v\|} \geqslant \frac{\left(\boldsymbol g-\nabla f\left(\boldsymbol x_0\right)\right)^{\mathrm{T}} \boldsymbol v}{\|\boldsymbol v\|}=\|\boldsymbol v\| .
t∥v∥f(x0+tv)−f(x0)−t∇f(x0)Tv⩾∥v∥(g−∇f(x0))Tv=∥v∥.
不等式两边令 t → 0 t \rightarrow 0 t→0, 根据 Fréchet 可微的定义, 左边趋于 0 , 而右边是非零正数, 可得到矛盾.
三.计算规则
我们不加证明地给出一些计算次梯度(次微分)的基本规则.
(1) 可微凸函数: 设 f f f 为凸函数, 若 f f f 在点 x x x 处可微, 则 ∂ f ( x ) = { ∇ f ( x ) } \partial f(\boldsymbol x)=\{\nabla f(\boldsymbol x)\} ∂f(x)={∇f(x)}
(2) 凸函数的非负线性组合: 设
f
1
,
f
2
f_1, f_2
f1,f2 为凸函数, 且满足
int dom
f
1
∩
dom
f
2
≠
∅
,
\text { int dom } f_1 \cap \operatorname{dom} f_2 \neq \varnothing \text {, }
int dom f1∩domf2=∅,
而
x
∈
dom
f
1
∩
dom
f
2
\boldsymbol x \in \operatorname{dom} f_1 \cap \operatorname{dom} f_2
x∈domf1∩domf2. 若
f
(
x
)
=
α
1
f
1
(
x
)
+
α
2
f
2
(
x
)
,
α
1
,
α
2
⩾
0
,
f(\boldsymbol x)=\alpha_1 f_1(\boldsymbol x)+\alpha_2 f_2(\boldsymbol x), \quad \alpha_1, \alpha_2 \geqslant 0,
f(x)=α1f1(x)+α2f2(x),α1,α2⩾0,
则
f
(
x
)
f(\boldsymbol x)
f(x) 的次微分
∂
f
(
x
)
=
α
1
∂
f
1
(
x
)
+
α
2
∂
f
2
(
x
)
.
\partial f(\boldsymbol x)=\alpha_1 \partial f_1(\boldsymbol x)+\alpha_2 \partial f_2(\boldsymbol x) .
∂f(x)=α1∂f1(x)+α2∂f2(x).
(3) 仿射变换: 设
h
h
h 为凸函数, 并且函数
f
f
f 满足
f
(
x
)
=
h
(
A
x
+
b
)
,
∀
x
∈
R
m
,
f(\boldsymbol x)=h(\boldsymbol A \boldsymbol x+\boldsymbol b), \quad \forall \boldsymbol x \in \mathbb{R}^m,
f(x)=h(Ax+b),∀x∈Rm,
其中
A
∈
R
n
×
m
,
b
∈
R
n
\boldsymbol A \in \mathbb{R}^{n \times m}, \boldsymbol b \in \mathbb{R}^n
A∈Rn×m,b∈Rn. 若存在
x
∗
∈
R
m
\boldsymbol x^{*} \in \mathbb{R}^m
x∗∈Rm, 使得
A
x
∗
+
b
∈
int
dom
h
\boldsymbol A \boldsymbol x^{*}+\boldsymbol b \in \operatorname{int}\operatorname{dom} h
Ax∗+b∈intdomh,则
∂
f
(
x
)
=
A
T
∂
h
(
A
x
+
b
)
,
∀
x
∈
int
dom
f
.
\partial f(\boldsymbol x)=\boldsymbol A^{\mathrm{T}} \partial h(\boldsymbol A \boldsymbol x+\boldsymbol b), \quad \forall \boldsymbol x \in \operatorname{int} \operatorname{dom} f .
∂f(x)=AT∂h(Ax+b),∀x∈intdomf.
(4) 凸函数之和的次微分 若
f
1
,
⋯
,
f
m
f_1, \cdots, f_m
f1,⋯,fm 均为凸函数, 则函数
f
(
x
)
=
f
1
(
x
)
+
⋯
+
f(\boldsymbol{x})=f_1(\boldsymbol{x})+\cdots+
f(x)=f1(x)+⋯+
f
m
(
x
)
f_m(\boldsymbol{x})
fm(x) 的次微分
∂
f
(
x
)
=
∂
f
1
(
x
)
+
⋯
+
∂
f
m
(
x
)
\partial f(\boldsymbol{x})=\partial f_1(\boldsymbol{x})+\cdots+\partial f_m(\boldsymbol{x})
∂f(x)=∂f1(x)+⋯+∂fm(x)
(5) 逐点极大函数的次微分 令
f
f
f 是凸函数
f
1
,
⋯
,
f
m
f_1, \cdots, f_m
f1,⋯,fm 的逐点极大函数, 即
f
(
x
)
=
max
i
=
1
,
⋯
,
m
f
i
(
x
)
f(\boldsymbol{x})=\max _{i=1, \cdots, m} f_i(\boldsymbol{x})
f(x)=i=1,⋯,mmaxfi(x)
则
∂
f
(
x
)
=
conv
(
⋃
{
∂
f
i
(
x
)
∣
f
i
(
x
)
=
f
(
x
)
}
)
\partial f(\boldsymbol{x})=\operatorname{conv}\left(\bigcup\left\{\partial f_i(\boldsymbol{x}) \mid f_i(\boldsymbol{x})=f(\boldsymbol{x})\right\}\right)
∂f(x)=conv(⋃{∂fi(x)∣fi(x)=f(x)})
即逐点极大函数 f f f 的次微分是 “作用函数” (active function) f i ( x ) f_i(\boldsymbol{x}) fi(x) 在点 x \boldsymbol{x} x 的次微分的并集的凸包。
当 x = x 0 \boldsymbol x=\boldsymbol x_0 x=x0时, f ( x 0 ) = f 1 ( x 0 ) = f 2 ( x 0 ) f(\boldsymbol x_0)=f_1(\boldsymbol x_0)=f_2(\boldsymbol x_0) f(x0)=f1(x0)=f2(x0),所以 ∂ f ( x 0 ) = conv ( ∂ f 1 ( x 0 ) ⋃ ∂ f 2 ( x 0 ) ) \partial f(\boldsymbol x_0)=\text{conv}(\partial f_1(\boldsymbol x_0)\bigcup \partial f_2(\boldsymbol x_0)) ∂f(x0)=conv(∂f1(x0)⋃∂f2(x0)),即 f 1 ( x ) , f 2 ( x ) f_1(\boldsymbol x),f_2(\boldsymbol x) f1(x),f2(x)在 x 0 \boldsymbol x_0 x0处的次微分形成的凸包(图上红色阴影部分)
y = ∣ x ∣ = max ( − x , x ) y=|x|=\text{max}(-x,x) y=∣x∣=max(−x,x),利用性质(5)即可得出 y y y在 0 0 0点处的次微分为
conv ( − 1 ⋃ 1 ) = [ − 1 , 1 ] \text{conv}(-1\bigcup 1)=[-1,1] conv(−1⋃1)=[−1,1]
(
ℓ
1
\left(\ell_1\right.
(ℓ1 范数
)
)
) 定义
f
:
R
n
→
R
f: \mathbb{R}^n \rightarrow \mathbb{R}
f:Rn→R 为
ℓ
1
\ell_1
ℓ1 范数, 则对
x
=
(
x
1
,
x
2
,
⋯
,
x
n
)
∈
\boldsymbol x=\left(x_1, x_2, \cdots, x_n\right) \in
x=(x1,x2,⋯,xn)∈
R
n
\mathbb{R}^n
Rn, 有
f
(
x
)
=
∥
x
∥
1
=
max
s
i
∈
{
−
1
,
1
}
n
s
T
x
.
f(x)=\|\boldsymbol x\|_1=\max _{\boldsymbol s_i \in\{-1,1\}^n} \boldsymbol s^{\mathrm{T}} \boldsymbol x .
f(x)=∥x∥1=si∈{−1,1}nmaxsTx.
于是
∂
f
(
x
)
=
[
∂
f
(
x
1
)
,
∂
f
(
x
1
)
,
⋯
,
∂
f
(
x
n
)
]
T
∂
f
(
x
k
)
=
{
[
−
1
,
1
]
,
x
k
=
0
,
{
1
}
,
x
k
>
0
,
{
−
1
}
,
x
k
<
0.
\partial f(\boldsymbol x)= \begin{bmatrix} \partial f( x_1),\partial f( x_1),\cdots,\partial f( x_n) \end{bmatrix}^\mathrm T \\ \partial f( x_k)=\left\{\begin{array}{rr} {[-1,1],} & x_k=0, \\ \{1\}, & x_k>0, \\ \{-1\}, & x_k<0 . \end{array}\right.
∂f(x)=[∂f(x1),∂f(x1),⋯,∂f(xn)]T∂f(xk)=⎩
⎨
⎧[−1,1],{1},{−1},xk=0,xk>0,xk<0.
(
ℓ
2
\ell_2
ℓ2 范数) 设
f
(
x
)
=
∥
x
∥
2
f(\boldsymbol x)=\|\boldsymbol x\|_2
f(x)=∥x∥2, 则
f
(
x
)
f(\boldsymbol x)
f(x) 在点
x
=
0
\boldsymbol x=0
x=0 处不可微, 我们求其在该点处的次梯度. 由定义得
∥
x
∥
2
⩾
g
⊤
x
⇕
∥
x
∥
2
⩾
∥
g
∥
2
∥
x
∥
2
cos
θ
⇕
1
⩾
∥
g
∥
2
cos
θ
⇕
1
⩾
∥
g
∥
2
\begin{aligned} \|\boldsymbol x\|_2 &\geqslant \boldsymbol g^{\top} \boldsymbol x \\ & \Updownarrow \\ \|\boldsymbol x\|_2 &\geqslant\|\boldsymbol g\|_2\|\boldsymbol x\|_2 \cos \theta \\ &\Updownarrow\\ 1 &\geqslant\|\boldsymbol g\|_2 \cos \theta \\ &\Updownarrow \\1&\geqslant\|\boldsymbol g\|_2 \\ & \end{aligned}
∥x∥2∥x∥211⩾g⊤x⇕⩾∥g∥2∥x∥2cosθ⇕⩾∥g∥2cosθ⇕⩾∥g∥2
因此
∂
f
(
0
)
=
{
g
∣
∥
g
∥
2
⩽
1
}
.
\partial f(0)=\left\{\boldsymbol g \mid\|\boldsymbol g\|_2 \leqslant 1\right\} .
∂f(0)={g∣∥g∥2⩽1}.
四.优化问题一阶条件
定理 假设 f f f 是凸函数, 则 x ∗ \boldsymbol x^* x∗ 为 f ( x ) f(\boldsymbol x) f(x) 的一个全局极小点当且仅当
0 ∈ ∂ f ( x ∗ ) . 0 \in \partial f\left(\boldsymbol x^*\right) . 0∈∂f(x∗).
证明. 因为
x
∗
\boldsymbol x^*
x∗ 为全局极小点, 所以
f
(
y
)
⩾
f
(
x
∗
)
=
f
(
x
∗
)
+
0
T
(
y
−
x
∗
)
,
∀
y
∈
R
n
.
f(\boldsymbol y) \geqslant f\left(\boldsymbol x^*\right)=f\left(\boldsymbol x^*\right)+\boldsymbol 0^{\mathrm{T}}\left(\boldsymbol y-\boldsymbol x^*\right), \quad \forall \boldsymbol y \in \mathbb{R}^n .
f(y)⩾f(x∗)=f(x∗)+0T(y−x∗),∀y∈Rn.
因此,
0
∈
∂
f
(
x
∗
)
\boldsymbol 0 \in \partial f\left(\boldsymbol x^*\right)
0∈∂f(x∗).
再证充分性. 如果
0
∈
∂
f
(
x
∗
)
\boldsymbol 0 \in \partial f\left(\boldsymbol x^*\right)
0∈∂f(x∗), 那么根据次梯度的定义
f
(
y
)
⩾
f
(
x
∗
)
+
0
T
(
y
−
x
∗
)
=
f
(
x
∗
)
,
∀
y
∈
R
n
.
f(\boldsymbol y) \geqslant f\left(\boldsymbol x^*\right)+\boldsymbol 0^{\mathrm{T}}\left(\boldsymbol y-\boldsymbol x^*\right)=f\left(\boldsymbol x^*\right), \quad \forall \boldsymbol y \in \mathbb{R}^n .
f(y)⩾f(x∗)+0T(y−x∗)=f(x∗),∀y∈Rn.
因而 x ∗ \boldsymbol x^* x∗ 为一个全局极小点.(注意并未保证这样的解唯一,最小值唯一但最优解不一定唯一,例如 y = max ( x , 0 ) y=\text{max}(x,0) y=max(x,0),仅当 f f f是强凸函数时解才唯一)
在实际问题中, 目标函数不一定是凸函数, 但它可以写成一个光滑函数与一个非光滑凸函数的和, 比如 LASSO 问题; 也可能是非凸的, 例如神经网络的损失函数. 因此研究此类问题的最优性条件十分必要. 这里, 我们考虑一般复合优化问题
min
x
∈
R
n
ψ
(
x
)
=
def
f
(
x
)
+
h
(
x
)
,
\min _{\boldsymbol x \in \mathbb{R}^n} \psi(\boldsymbol x) \xlongequal{\text { def }} f(\boldsymbol x)+h(\boldsymbol x),
x∈Rnminψ(x) def f(x)+h(x),
其中 f f f 为光滑函数 (可能非凸), h h h 为凸函数 (可能非光滑). 对于其任何局部最优解, 我们给出如下一阶必要条件:
定理 (复合优化问题一阶必要条件) 令 x ∗ \boldsymbol x^* x∗ 为问题 min x ∈ R n ψ ( x ) = def f ( x ) + h ( x ) \min _{\boldsymbol x \in \mathbb{R}^n} \psi(\boldsymbol x) \xlongequal{\text { def }} f(\boldsymbol x)+h(\boldsymbol x) minx∈Rnψ(x) def f(x)+h(x) 的一个局部极小点, 那么
− ∇ f ( x ∗ ) ∈ ∂ h ( x ∗ ) , -\nabla f\left(\boldsymbol x^*\right) \in \partial h\left(\boldsymbol x^*\right), −∇f(x∗)∈∂h(x∗),其中 ∂ h ( x ∗ ) \partial h\left(\boldsymbol x^*\right) ∂h(x∗) 为凸函数 h h h 在点 x ∗ \boldsymbol x^* x∗ 处的次梯度集合.
五.例
- ℓ 1 \ell_1 ℓ1 范数优化问题
其形式可以写成
min x ∈ R n ψ ( x ) = def f ( x ) + μ ∥ x ∥ 1 , \min _{\boldsymbol x \in \mathbb{R}^n} \psi(\boldsymbol x) \xlongequal{\text { def }} f(\boldsymbol x)+\mu\|\boldsymbol x\|_1, x∈Rnminψ(x) def f(x)+μ∥x∥1,
其中
f
(
x
)
:
R
n
→
R
f(\boldsymbol x): \mathbb{R}^n \rightarrow \mathbb{R}
f(x):Rn→R 为光滑函数, 正则系数
μ
>
0
\mu>0
μ>0 用来调节解的稀疏度,尽管
∥
x
∥
1
\|\boldsymbol x\|_1
∥x∥1 不是可微的, 但我们可以计算其次微分
∂
i
∥
x
∥
1
=
{
{
1
}
,
x
i
>
0
,
[
−
1
,
1
]
,
x
i
=
0
,
{
−
1
}
,
x
i
<
0.
\partial_i\|x\|_1= \begin{cases}\{1\}, & x_i>0, \\ {[-1,1],} & x_i=0, \\ \{-1\}, & x_i<0 .\end{cases}
∂i∥x∥1=⎩
⎨
⎧{1},[−1,1],{−1},xi>0,xi=0,xi<0.
因此, 如果
x
∗
x^*
x∗ 一个局部最优解, 那么其满足
−
∇
f
(
x
∗
)
∈
μ
∂
∥
x
∗
∥
1
,
-\nabla f\left(\boldsymbol x^*\right) \in \mu \partial\left\|\boldsymbol x^*\right\|_1,
−∇f(x∗)∈μ∂∥x∗∥1,
即
∇
i
f
(
x
∗
)
=
{
−
μ
,
x
i
∗
>
0
,
a
∈
[
−
μ
,
μ
]
,
x
i
∗
=
0
,
μ
,
x
i
∗
<
0.
\nabla_i f\left(x^*\right)= \begin{cases}-\mu, & x_i^*>0, \\ a \in[-\mu, \mu], & x_i^*=0, \\ \mu, & x_i^*<0 .\end{cases}
∇if(x∗)=⎩
⎨
⎧−μ,a∈[−μ,μ],μ,xi∗>0,xi∗=0,xi∗<0.
进一步地, 如果 f ( x ) f(x) f(x) 是凸的(比如在 LASSO 问题中 f ( x ) = 1 2 ∥ A x − b ∥ 2 f(x)=\frac{1}{2} \| A x- b \|^2 f(x)=21∥Ax−b∥2 ), 那么满足上式的 x ∗ x^* x∗ 就是全局最优解.
-
平均绝对误差(mae)
其中 x ∈ R n \boldsymbol x\in \Bbb R^n x∈Rn,设 { x ( 1 ) j , ⋯ x ( n ) j } = { x 1 j , ⋯ x n j } \left\{x_{(1)}^j, \cdots x_{(n)}^j\right\}=\left\{x_1^j, \cdots x_n^j\right\} {x(1)j,⋯x(n)j}={x1j,⋯xnj},其形式可以写为
min x ∈ R n y ( x ) = def ∑ i N ∣ x − x ( i ) ∣ = ∑ i N ∑ j n ∣ x j − x ( i ) j ∣ = ∑ j n ∑ i N ∣ x j − x ( i ) j ∣ , \min _{\boldsymbol x \in \mathbb{R}^n} y(\boldsymbol x) \xlongequal{\text { def }} \sum_i^N|\boldsymbol x-\boldsymbol x_{(i)}|=\sum_i^N\sum_j^n|x^j-x_{(i)}^j|=\sum_j^n\sum_i^N|x^j-x_{(i)}^j|, x∈Rnminy(x) def i∑N∣x−x(i)∣=i∑Nj∑n∣xj−x(i)j∣=j∑ni∑N∣xj−x(i)j∣,
由于彼此维度无关,则优化问题可以写为关于每一维标量优化,计算其次微分得
∂ y ( x j ) = { 1 , x j ⩾ x ( 1 ) j [ − 1 , 1 ] , x j = x ( 1 ) j − 1 , x j ⩽ x ( 1 ) j + ⋯ + { 1 , x j ⩾ x ( N ) j [ − 1 , 1 ] , x j = x ( N ) j − 1 , x j ⩽ x ( N ) j \begin{aligned} \partial y(x^j)&= \begin{cases} 1 ,&x^j\geqslant x_{(1)}^j\\ [-1,1],&x^j= x_{(1)}^j\\ -1,&x^j\leqslant x_{(1)}^j \end{cases}+\cdots+\begin{cases} 1 ,&x^j\geqslant x_{(N)}^j\\ [-1,1],&x^j= x_{(N)}^j\\ -1,&x^j\leqslant x_{(N)}^j\\ \end{cases}\\ \end{aligned} ∂y(xj)=⎩ ⎨ ⎧1,[−1,1],−1,xj⩾x(1)jxj=x(1)jxj⩽x(1)j+⋯+⎩ ⎨ ⎧1,[−1,1],−1,xj⩾x(N)jxj=x(N)jxj⩽x(N)j
又因
0 ∈ ∂ y ( x j ) . 0 \in \partial y\left( x^j\right) . 0∈∂y(xj).所以当N为奇数时,有唯一解即为中位数,当N为偶数时, x j ∈ [ x [ N 2 ] j , x [ N 2 ] + 1 j ] x^j\in[x^j_{[\frac{N}{2}]},x^j_{[\frac{N}{2}]+1}] xj∈[x[2N]j,x[2N]+1j]都是其最优解。即mae偏向于回归中位数