优化问题和软硬阈值函数的关系

优化问题的特别求解思路

下面用 x x x表示向量, x i x_i xi表示向量中的元素。

范数的计算

L p L_p Lp范数: ∥ x ∥ p = ( ∑ i ∣ x i ∣ p ) 1 p \Vert x \Vert_p = (\sum_i \vert x_i \vert^p)^{\frac{1}{p}} xp=(ixip)p1

由此可见,求范数最小的问题其实可以分解为若干个相互独立的元素级别的子问题

阈值函数

阈值函数是在元素级别(elementwise)上做操作的算子

硬阈值(hard thresholding)函数

x = T ρ ( y ) x=\mathcal{T}_{\rho}(y) x=Tρ(y)

等价于:
x i = y i x_i=y_i xi=yi, if ∣ y i ∣ > ρ \vert y_i \vert >\rho yi>ρ
x i = 0 x_i=0 xi=0, otherwise.

软阈值(soft thresholding)函数

x = S ρ ( y ) x=\mathcal{S}_{\rho}(y) x=Sρ(y)

等价于:
x i = y i − sign ⁡ ( y i ) ⋅ ρ x_i=y_i - \operatorname{sign}(y_i)\cdot \rho xi=yisign(yi)ρ, if ∣ y i ∣ > ρ \vert y_i \vert >\rho yi>ρ
x i = 0 x_i=0 xi=0, otherwise.

L2范数 + L0范数

arg ⁡ min ⁡ x 1 2 ∥ y − x ∥ 2 2 + ρ ∥ x ∥ 0 \mathop{\arg \min}\limits_{x} \frac{1}{2}\Vert y-x \Vert_2^2 + \rho \Vert x \Vert_0 xargmin21yx22+ρx0

求解:
按元素独立求解即可,即子优化问题为: arg ⁡ min ⁡ x i ( y i − x i ) 2 + ρ x i 0 \mathop{\arg \min}\limits_{x_i} (y_i-x_i )^2 + \rho x_i^0 xiargmin(yixi)2+ρxi0.
前置知识:非零数的零次方=1,0的零次方=0.
这个时候,我们不用求导的思路来解。考虑到 ( y i − x i ) 2 (y_i-x_i )^2 (yixi)2的最小值在 x i = y i x_i=y_i xi=yi处取得, ρ x i 0 \rho x_i^0 ρxi0的最小值在 x i = 0 x_i=0 xi=0时取得。我们只需要比较这两个极值点对应的函数值的大小即可。

f ( x i = y i ) = ρ y i 0 f(x_i=y_i)=\rho y_i^0 f(xi=yi)=ρyi0
f ( x i = 0 ) = ( y i ) 2 f(x_i=0)=(y_i)^2 f(xi=0)=(yi)2

y i = 0 y_i=0 yi=0时,二者最小值均为0
y i ≠ 0 y_i\neq 0 yi=0时, f ( x i = y i ) = ρ f(x_i=y_i)=\rho f(xi=yi)=ρ
当极小值点为0时,有 f ( x i = y i ) > f ( x i = 0 ) f(x_i=y_i)>f(x_i=0) f(xi=yi)>f(xi=0),解得 ∣ y i ∣ < ρ \vert y_i \vert < \sqrt{\rho} yi<ρ
其他情况极值点取 y i y_i yi


x i = 0 x_i=0 xi=0, if ∣ y i ∣ < ρ \vert y_i \vert < \sqrt{\rho} yi<ρ
x i = y i x_i=y_i xi=yi, otherwise.

所以,综上, x = T ρ ( y ) x=\mathcal{T}_{\sqrt{\rho}}(y) x=Tρ (y)

L2范数 + L1范数

优化问题: arg ⁡ min ⁡ x 1 2 ∥ y − x ∥ 2 2 + ρ ∥ x ∥ 1 \mathop{\arg \min}\limits_{x} \frac{1}{2}\Vert y-x \Vert_2^2 + \rho \Vert x \Vert_1 xargmin21yx22+ρx1

求解:
按元素独立求解即可,即子优化问题为: arg ⁡ min ⁡ x i 1 2 ( y i − x i ) 2 + ρ ∣ x i ∣ \mathop{\arg \min}\limits_{x_i} \frac{1}{2} (y_i-x_i )^2 + \rho \vert x_i \vert xiargmin21(yixi)2+ρxi.
分类讨论:
if x i > 0 x_i >0 xi>0,
f ( x i ) = 1 2 ( y i − x i ) 2 + ρ x i f(x_i)= \frac{1}{2} (y_i-x_i )^2 + \rho x_i f(xi)=21(yixi)2+ρxi
∂ f ( x i ) ∂ x i = − ( y i − x i ) + ρ = 0 \frac{\partial f(x_i)}{\partial x_i}= - (y_i-x_i ) + \rho=0 xif(xi)=(yixi)+ρ=0,解得 x i = − ρ + y i x_i=-\rho + y_i xi=ρ+yi.
所以 x i = max ⁡ ( 0 , − ρ + y i ) x_i = \max(0, -\rho + y_i) xi=max(0,ρ+yi).

if x i ≤ 0 x_i \leq0 xi0,
f ( x i ) = 1 2 ( y i − x i ) 2 − ρ x i f(x_i)= \frac{1}{2} (y_i-x_i )^2 - \rho x_i f(xi)=21(yixi)2ρxi
∂ f ( x i ) ∂ x i = − ( y i − x i ) − ρ = 0 \frac{\partial f(x_i)}{\partial x_i}= - (y_i-x_i ) - \rho=0 xif(xi)=(yixi)ρ=0,解得 x i = ρ + y i x_i=\rho + y_i xi=ρ+yi.
所以 x i = min ⁡ ( 0 , ρ + y i ) = − max ⁡ ( 0 , − ρ − y i ) x_i = \min(0, \rho + y_i)=-\max(0, -\rho-y_i) xi=min(0,ρ+yi)=max(0,ρyi).

所以,综上, x = sign ⁡ ( y ) ⊙ max ⁡ ( 0 , ∣ y i ∣ − ρ ) = S ρ ( y ) x=\operatorname{sign}(y)\odot \max(0,\vert y_i \vert-\rho)=\mathcal{S}_{\rho}(y) x=sign(y)max(0,yiρ)=Sρ(y)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值