TwIST算法
软阈值(Soft Thresholding)函数
参考资料:
软阈值函数一般写作:
或
或
对于优化问题:
的解为:$soft(B,\frac{\lambda}{2}) $
因此同理,对于优化问题$\arg\min_x\frac1 2|X-B|_2^2+\lambda|X|_1$,可以等价为优化问题$\arg\min_x|X-B|_2^2+2\lambda|X|_1$,因此解为:$soft(B,\lambda)$
python
可以这么实现soft函数:
1 |
|
Majorization-Minimization 优化框架
当目标函数$J(x)$比较难优化的时候,我们可以寻找另外一个更易优化的函数$G(x)$,当$G(x)$满足一定条件时,它的最优解能够无限逼近$J(X)$的最优解。
$G(x)$应该满足3个条件:
- 容易优化
- $G_k(x)\ge J(x_k)\ \ for\ \ all \ \ x$
- $G_k(x_k)=J(x_k)$
迭代软阈值(Iterative Soft Thresholding, IST)
对于基追踪降噪问题(Basis Pursuit De-Noising, BPDN):
对于目标函数 $f(x) = \frac 1 2 |y-\Phi x|_2^2 + \lambda|x|_1$,并不容易优化,更具MM框架,将其替代为目标函数:$u(x,z) = \frac 1 2 |y-\Phi x|_2^2 + \lambda|x|_1 - \frac 1 2 |\Phi x-\Phi z|_2^2 + \frac 1 2 |x-z|_2^2$
其中,由 $|\Phi|_2<1$,得到: $u(x,z)\ge f(x),u(z,z) = f(z)$
化简该函数,可以得到:
其中,K与x无关,于是原问题等价于优化:
其中,$x^* = z+\Phi^T(y-\Phi z)$
显然,这个问题的解就是软阈值函数 $soft(x^*,\lambda)$
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!