优化-软阈值学习

  • Post author:
  • Post category:其他


论文中一些软阈值的处理:

软阈值一般是用来解决这种优化问题的情形的,式子中含有L1范数正则化,可以进行稀疏选择和降噪:

在这里插入图片描述

上面软阈值的解为:

在这里插入图片描述

即soft(B, λ/2)

当上面的形式变为:

在这里插入图片描述

解为soft(B, λ)

其中B为变量,λ为阈值,可见第一项的系数为1的时候,阈值应该取第二项系数的1/2.

可以在Matlab中编写代码来实现:

软阈值函数代码:【通用形式】

function [ x ] = soft( b,T ) 
     x = sign (b).* max ( abs (b) - T,0); 
end 

编写主函数调用soft(B, λ/2)

clear all ; close all ; clc ;  
b = [-0.8487   -0.3349    0.5528    1.0391   -1.1176]'; 
lambda = 1; 
x1=soft(b,lambda) 

在matlab中绘制软阈值的图像:

x=-5:0.1:5;T=1;y=soft(x,T); plot (x,y); grid ; 

在这里插入图片描述

实际应用-论文中出现的一些软阈值的优化处理

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

参考文章:

1.https://blog.csdn.net/h_l_dou/article/details/83718034这篇文章说的非常详细!】

2.Cai J, Cand˙es EJ, Shen Z (2010) A singular value thresholding algorithm for matrix completion. SIAM J Optim 20(4):1956–1982

3.[Donoho, 1995] David L Donoho. De-noising by softthresholding. TIT, 41(3):613–627, 1995



版权声明:本文为m0_49354332原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。