论文中一些软阈值的处理:
软阈值一般是用来解决这种优化问题的情形的,式子中含有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 版权协议,转载请附上原文出处链接和本声明。