基于 Lp 正则化的高维稀疏解的反演

一、稀疏解的逼近问题

对于高维稀疏解的逼近问题,可以归结为模型
y = A x + ϵ y=A x+\epsilon y=Ax+ϵ
其中, A ∈ R M × N A \in \mathbb{R} ^{M \times N} ARM×N是给定或者训练得到的 M × N M \times N M×N矩阵, y ∈ R M \bf y \in \mathbb{R} ^M yRM是测得的数据, ϵ \epsilon ϵ是扰动噪声。我们的目的是根据已知数据 y , A , ϵ \bf y ,A,\epsilon y,A,ϵ,来反演高维稀疏解 x ∈ R N \bf x \in \mathbb{R} ^N xRN

机器学习的回归问题中,为了防止过拟合和提高模型泛化性能,对原始损失函数引入额外惩罚项信息,即 L p L_p Lp正则化
x = arg ⁡ min ⁡ x ∥ A x − y ∥ 2 + λ ∥ x ∥ L p p , 0 ≤ p ≤ 2 \bold{x}=\arg \min_{\bold{x}} \left \| A \bold{x} -\bold{y}\right \| ^2+\lambda \left \| \bold{x}\right \| _{L_p}^{p} ,0 \le p \le 2 x=argxminAxy2+λxLpp,0p2
特别的,当 p = 0 p=0 p=0时,
∥ x ∥ L 0 = ∑ i = 1 N I x i ≠ 0 , I x i ≠ 0 = { 1 x i ≠ 0 0 x i = 0 \left \| \bold x \right \| _{L_0}=\sum_{i=1}^N I_{x_i \ne 0},I_{x_i \ne 0}= \left\{\begin{matrix} 1 & x_i \ne 0\\ 0 & x_i = 0 \end{matrix}\right. xL0=i=1NIxi=0,Ixi=0={10xi=0xi=0根据不同的问题,选择合适的参数 p p p

L 1 L_1 L1正则化可以使得参数稀疏化,从而过滤掉模型的一些无用特征,提高模型的泛化能力,降低过拟合的可能。 L 2 L_2 L2正则化可以使得参数平滑,防止模型过拟合。因此对比而言, L 1 L_1 L1正则化更适合处理高维稀疏数据。

下面以二维为例,从优化问题和概率论角度来讨论为什么 L 1 L_1 L1正则化产生稀疏模型。

1.1、优化问题角度

此时模型的求解转化为如下的优化问题
x = arg ⁡ min ⁡ x ∥ [ a 11 a 12 a 21 a 22 ] [ x 1 x 2 ] − [ y 1 y 2 ] ∥ 2 + λ ∑ i = 1 2 ∣ x i ∣ p \bold{x}=\arg \min_{x} \left \| \begin{bmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{bmatrix}\begin{bmatrix} x_1\\ x_2 \end{bmatrix}-\begin{bmatrix} y_1 \\ y_2 \end{bmatrix} \right \| ^2 +\lambda \sum_{i=1}^2 \left | x_i \right | ^p x=argxmin[a11a21a12a22][x1x2][y1y2]2+λi=12xip
将损失函数 f ( x ) f(x) f(x)投影到 x 1 , x 2 x_1,x_2 x1,x2平面,即等值线(如图彩色线条),并分别画出 L 1 L_1 L1正则化项和 L 2 L_2 L2正则化项(如图黑色线条)
基于 Lp 正则化的高维稀疏解的反演_第1张图片
基于 Lp 正则化的高维稀疏解的反演_第2张图片
正则化项同拉格朗日乘子的作用一样,起了约束作用。因为当损失函数 f ( x ) f(x) f(x)的等值线与正则化项首次相交的地方就是最优解。从上图可见, L 1 L_1 L1正则化项比 L 2 L_2 L2多出4个突出的角,当等值线与这些角相交的机率会大大增加。而在这些角上,某个权值 x i x_i xi等于0。当维数增加, L 1 L_1 L1突出的角更多,因此更容易产生稀疏模型。
基于 Lp 正则化的高维稀疏解的反演_第3张图片

1.2、概率论问题角度}

L 1 L_1 L1正则化相当于为 x \bf x x加入了Laplace先验分布,而 L 2 L_2 L2正则化项相当于为 x \bf x x加入了Gaussian先验分布。
基于 Lp 正则化的高维稀疏解的反演_第4张图片

从分布图直观上看,在两端Gaussian分布的概率 p G ( x ) p_G(x) pG(x)小于Laplace分布的概率 p L ( x ) p_L(x) pL(x),且在中间段Gaussian分布等于0和接近0的分布很接近,说明Gaussian分布下的$\bf x $比较均匀。而Laplace分布等于0处的概率远大于其他部分,说明Laplace分布下的x 存在更多的0元素。

二、 L 1 L_{1} L1 L 1 / 2 L_{1/2} L1/2正则化的求解

2.2、 L 1 L_1 L1的软阈值迭代算法

对于连续可微的无约束优化问题
min ⁡ x ∈ R f ( x ) \min _{\bf x \in \mathbb{R} } f(\bf x) xRminf(x)
且满足Lipschitz连续条件
∥ ▽ f ( x k ) − ▽ f ( x k − 1 ) ∥ 2 ≤ L ( f ) ∥ x k − x k − 1 ∥ 2 \left \| \bigtriangledown f(\bf x_k)-\bigtriangledown f(\bf x_{k-1}) \right \| _2 \le L(f)\left \| \bf \bf x_k-\bf \bf x_{k-1} \right \| _2 f(xk)f(xk1)2L(f)xkxk12
根据梯度法,给定初始点 x 0 ∈ R x_0 \in R x0R和初始步长t,有
x k = x k − 1 − t ▽ f ( x k − 1 ) \bf x_k=\bf x_{k-1}-t \bigtriangledown f(\bf x_{k-1}) xk=xk1tf(xk1)
f ( x ) f(\bf x) f(x) x k − 1 \bf x_{k-1} xk1处做二阶泰勒展开,并省略高阶项
f ( x ) = f ( x k − 1 ) + ⟨ x − x k − 1 , ▽ f ( x k − 1 ) ⟩ + ⟨ ∥ x − x k − 1 ∥ 2 2 , ▽ 2 f ( x k − 1 ) ⟩ 2 f(\bf x)=f(\bf x_{k-1})+\left \langle \bf x-\bf x_{k-1}, \bigtriangledown f(\bf x_{k-1})\right \rangle +\frac{ \left \langle \left \|\bf x-\bf x_{k-1} \right \|_2^2 , \bigtriangledown ^2f(\bf x_{k-1})\right \rangle}{2} f(x)=f(xk1)+xxk1,f(xk1)+2xxk122,2f(xk1)
结合上述公式,可得
x k = arg ⁡ min ⁡ x { f ( x k − 1 ) + ⟨ x − x k − 1 , ▽ f ( x k − 1 ) ⟩ + ∥ x − x k − 1 ∥ 2 2 2 t } \bf x_k =\arg \min _{\bf x} \left \{ f(\bf {x_{k-1}})+\left \langle \bf {x}-\bf {x_{k-1}},\bigtriangledown f(x_{k-1}) \right \rangle +\frac{\left \| x-x_{k-1} \right \|_2^2 }{2t} \right \} xk=argxmin{f(xk1)+xxk1,f(xk1)+2txxk122}
忽略常数项,则上式又可写成
x k = arg ⁡ min ⁡ x ( ▽ f ( x k − 1 ) ) T ( x − x k − 1 ) + 1 2 t ( x − x k − 1 ) T ( x − x k − 1 ) = arg ⁡ min ⁡ x 1 2 t [ x − ( x k − 1 − 2 t ▽ f ( x k − 1 ) ] T ( x − x k − 1 ) \begin{aligned} \bf x_k&=\arg \min _{\bf x} (\bigtriangledown \bf f(x_{k-1}))^T(x-x_{k-1})+\frac{1}{2t}(x-x_{k-1})^T(x-x_{k-1}) \\ &=\arg \min _{\bf x} \bf \frac{1}{2t} \left [ x-(x_{k-1}-2t\bigtriangledown f(x_{k-1}) \right ]^T(x-x_{k-1}) \end{aligned} xk=argxmin(f(xk1))T(xxk1)+2t1(xxk1)T(xxk1)=argxmin2t1[x(xk12tf(xk1)]T(xxk1)
可见有两个零点,取中点得到函数的最小值
x k = 1 2 [ x k − 1 − 2 t ▽ f ( x k − 1 ) + x k − 1 ] = x k − 1 − t ▽ f ( x k − 1 ) \begin{aligned} \bf x_k&=\bf \frac{1}{2}\left [ x_{k-1}-2t\bigtriangledown f(x_{k-1})+x_{k-1} \right ] \\ &=\bf x_{k-1}-t\bigtriangledown f(x_{k-1}) \end{aligned} xk=21[xk12tf(xk1)+xk1]=xk1tf(xk1)
将上述的梯度法思想用到 L 1 L_1 L1正则化问题,得到迭代公式
x k = arg ⁡ min ⁡ x { f ( x k − 1 ) + ⟨ x − x k − 1 , ▽ f ( x k − 1 ) ⟩ + ∥ x − x k − 1 ∥ 2 2 2 t + λ ∥ x ∥ 1 } \bf x_k =\arg \min _{\bf x} \left \{ f(\bf {x_{k-1}})+\left \langle \bf {x}-\bf {x_{k-1}},\bigtriangledown f(x_{k-1}) \right \rangle +\frac{\left \| x-x_{k-1} \right \|_2^2 }{2t }+\lambda \left \| x \right \|_1 \right \} xk=argxmin{f(xk1)+xxk1,f(xk1)+2txxk122+λx1}
忽略常数项,则上式又可写成
x k = arg ⁡ min ⁡ x { ∥ x − ( x k − 1 − t ▽ f ( x k − 1 ) ) ∥ 2 2 2 t + λ ∥ x ∥ 1 } \bf x_k =\arg \min _{\bf x} \left \{\frac{\left \| x-(x_{k-1}-t\bigtriangledown f(x_{k-1}) )\right \|_2^2 }{2t }+\lambda \left \| x \right \|_1 \right \} xk=argxmin{2tx(xk1tf(xk1))22+λx1}

考虑一般的优化问题
x k = arg ⁡ min ⁡ x { ∥ x − s ∥ 2 2 2 t + λ ∥ x ∥ 1 } = arg ⁡ min ⁡ x ∑ i = 1 n 1 2 t ( x i − s i ) 2 + λ ∣ x i ∣ \begin{aligned} \bf x_k &=\bf \arg \min_x \left \{\frac{\left \| x-s\right \|_2^2 }{2t }+\lambda \left \| x \right \|_1 \right \} \\ &= \arg \min_x \sum _{i=1}^n \frac{1}{2t}(x_i-s_i)^2+\lambda \left | x_i \right | \end{aligned} xk=argxmin{2txs22+λx1}=argxmini=1n2t1(xisi)2+λxi
g ( x i ) = 1 2 t ( x i − s i ) 2 + λ ∣ x i ∣ g(x_i)=\frac{1}{2t}(x_i-s_i)^2+\lambda \left | x_i \right | g(xi)=2t1(xisi)2+λxi,对 g ( x i ) g(x_i) g(xi)求导并令其等于0,
d g d x i = 1 t ( x i − s i ) + s g n ( x i ) = 0 ⟹ x i = s i − λ t ⋅ s g n ( x i ) \begin{aligned} &\frac{\mathrm{d}g }{\mathrm{d}x_i} =\frac{1}{t}(x_i-s_i)+sgn(x_i)=0 \\ &\Longrightarrow x_i=s_i-\lambda t·sgn(x_i) \end{aligned} dxidg=t1(xisi)+sgn(xi)=0xi=siλtsgn(xi)
即当 x i > 0 x_i>0 xi>0时, x i = s i − t λ x_i=s_i-t\lambda xi=sitλ;当 x i = 0 x_i=0 xi=0时, x i = s i = 0 x_i=s_i=0 xi=si=0 x i 《 0 x_i《0 xi0时, x i = s i + t λ x_i=s_i +t\lambda xi=si+tλ.\
所以, { x i = s i − t λ  if  s i > t λ x i = 0  if  − t λ ≤ s i ≤ t λ x i = s i + t λ  if  s i < − t λ \begin{cases} x_i=s_i-t\lambda & \text{ if } s_i>t\lambda \\ x_i=0 & \text{ if } -t\lambda \le s_i \le t\lambda \\ x_i=s_i+t\lambda & \text{ if } s_i<-t\lambda \end{cases} xi=sitλxi=0xi=si+tλ if si>tλ if tλsitλ if si<tλ
上式可进一步化简,得
x i = max ⁡ ( ∣ s i ∣ − λ t , 0 ) ⋅ s g n ( s i ) = P λ t ( s ) x_i=\max( \left | s_i \right | -\lambda t,0)·sgn(s_i)=P_{\lambda t}(s) xi=max(siλt,0)sgn(si)=Pλt(s)

x k = P λ t ( s ) \bf x_k=P_{\lambda t}(s) xk=Pλt(s)

综上所述,方程的解可写为
x k = P λ t ( x k − 1 − t ▽ f ( x k − 1 ) ) \bf x_k=P_{\lambda t}(x_{k-1}-t\bigtriangledown f(x_{k-1})) xk=Pλt(xk1tf(xk1))
其中, P λ t P_{\lambda t} Pλt为软阈值算子,步长 t t t可取 1 L ( ▽ f ) \frac{1}{L(\bigtriangledown f)} L(f)1

2.1、 L 1 / 2 L_{1/2} L1/2正则化算法

2008年,徐宗本在《 L 1 / 2 L_{1/2} L1/2正则化》中证明, L 1 / 2 L_{1/2} L1/2正则化子比 L 1 L_{1} L1正则化子具有更好的稀疏性和稳健性。
基于 Lp 正则化的高维稀疏解的反演_第5张图片
文献中为了求解 L 1 / 2 L_{1/2} L1/2正则化问题,提出重赋权迭代求解思想,将 L 1 / 2 L_{1/2} L1/2正则化问题转化为 L 1 L_{1} L1正则化问题
x k + 1 = arg ⁡ min ⁡ x ∥ y − A x ∥ 2 2 + λ ∑ i = 1 N ∣ x i ∣ ∣ x i , k ∣ x_{k+1}=\arg \min _x \left \| y-Ax \right \| _2^2+\lambda \sum_{i=1}^N \frac{\left | x_{i} \right |}{\sqrt{\left | x_{i,k} \right | } } xk+1=argxminyAx22+λi=1Nxi,k xi
因为 x i x_i xi可能出现0,为了保证算法可实施,可采用 1 ∣ x i , k ∣ + ϵ \frac{1}{\sqrt{\left | x_{i,k} \right |}+\epsilon} xi,k +ϵ1替代 1 ∣ x i , k ∣ \frac{1}{\sqrt{\left | x_{i,k} \right |}} xi,k 1,即
x k + 1 = arg ⁡ min ⁡ x ∥ y − A x ∥ 2 2 + λ ∑ i = 1 N ∣ x i ∣ ∣ x i , k ∣ + ϵ x_{k+1}=\arg \min _x \left \| y-Ax \right \| _2^2+\lambda \sum_{i=1}^N \frac{\left | x_{i} \right |}{\sqrt{\left | x_{i,k} \right | } +\epsilon} xk+1=argxminyAx22+λi=1Nxi,k +ϵxi

三、算例

3.1、例1——高斯分布矩阵

数据源:
1、随机产生 250 × 500 250 \times 500 250×500的高斯信号矩阵A,矩阵条件数为 5.5415
2、 随机产生 500 × 1 500 \times 1 500×1的高斯分布数据 x \bf x x,再随机令其中20个元素非零,其余为零。。由 A x = y A \bf x=y Ax=y,可3、得到数据 y \bf y y
对得到的数据 y \bf y y,施加 1 % 1\% 1%的随机噪声

计算结果:
基于 Lp 正则化的高维稀疏解的反演_第6张图片

基于 Lp 正则化的高维稀疏解的反演_第7张图片
基于 Lp 正则化的高维稀疏解的反演_第8张图片

3.2、例2-积分方程

数据源:

1、考虑一个卷积型积分方程例子:
∫ 0 1 K ( x , t ) g ( t ) d t = f ( x ) , 0 ≤ x ≤ 1 \int_0^1K(x,t)g(t) \mathrm{d} t=f(x),0\le x\le1 01K(x,t)g(t)dt=f(x),0x1
其中核函数 K ( x , t ) = e x t K(x,t)=e^{xt} K(x,t)=ext。当核函数矩阵为 20 × 20 20 \times 20 20×20时,其条件数为2463.
2、 随机产生 20 × 1 20 \times 1 20×1的高斯分布数据 x \bf x x,再随机令其中5个元素非零,其余为零。由 K x = y K \bf x=y Kx=y,可得到数据 y \bf y y
3、对得到的数据 y \bf y y,施加 1 % 1\% 1%的随机噪声
基于 Lp 正则化的高维稀疏解的反演_第9张图片
基于 Lp 正则化的高维稀疏解的反演_第10张图片
基于 Lp 正则化的高维稀疏解的反演_第11张图片

3.3、例3-Hilbert矩阵

数据源:
1、 产生 500 × 500 500 \times 500 500×500的Hilbert矩阵A,矩阵条件数为 6.8337 × 1 0 20 6.8337 \times 10^{20} 6.8337×1020
2、随机产生 500 × 1 500 \times 1 500×1的高斯分布数据 x \bf x x,再随机令其中20个元素非零,其余为零。由 A x = y A \bf x=y Ax=y,可得到数据 y \bf y y
3、对得到的数据 y \bf y y,施加 1 % 1\% 1%的随机噪声
基于 Lp 正则化的高维稀疏解的反演_第12张图片
基于 Lp 正则化的高维稀疏解的反演_第13张图片
基于 Lp 正则化的高维稀疏解的反演_第14张图片
基于 Lp 正则化的高维稀疏解的反演_第15张图片

Hilbert矩阵下的高维稀疏数据反演,不论是 L 1 L_1 L1正则化还是 L 1 / 2 L_{1/2} L1/2正则化,得到的结果均不理想,不能将原数据 x \bf x x的稀疏性表现出来,而是将其磨光。但从观测数据 y \bf y y上分析,虽然拟合的 y \bf y y也被磨光处理,但依旧能较好的拟合真实数据。

经过多次尝试发现,Hilbert矩阵下的高维稀疏数据逼近模型,即 A x = y A \bf x=y Ax=y,对于固定的A和 y \bf y y,其解 x \bf x x不唯一。

这是因为Hilbert矩阵的特征值矩阵高度稀疏,当 x \bf x x也是稀疏数据,运算时将会丢失很多关键信息,因此无法正确反演稀疏数据 x \bf x x。以16位有限数字为界,则 500 × 500 500 \times 500 500×500的Hilbert矩阵,其特征值矩阵的稀疏密度为93%。

你可能感兴趣的:(数据处理,机器学习,人工智能,算法)