Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」版权声明:本文为博主原创文章,遵循CC4.0by-sa版权协议,转载请附上原文出处链接和本声明。…

大家好,又见面了,我是你们的朋友全栈君。

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

题目:IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

        本篇是对压缩感知重构算法之迭代软阈值(IST)的延续,可能需要以下基础:软阈值(Soft Thresholding)函数硬阈值(Hard Thresholding)函数

        前面我们在讨论迭代软阈值算法时提到,一般文献中出现的IST或ISTA简称中的“S”并非指的是“soft”,而是“shrinkage”,即“Iterative Shrinkage/ThresholdingAlgorithm”,那么Iterative Soft Thresholding和Iterative Shrinkage/Thresholding究竟有什么区别呢?是不是同一个算法的不同称呼呢?由于找不出一篇具体的、权威的IST算法起源文献,本篇就通过多篇文献中与IST有关的蛛丝马迹尝试去探索一下这个问题的真相……

        首先给出本文对此问题的结论:

        Iterative Soft Thresholding是Iterative Shrinkage/Thresholding的一种特殊情况,即每次迭代(iteration)时正好是求软阈值(soft thresholding)函数时的特殊情况。

        另外,你要认为它们是一样的也可以,这就是一个狭义和广义的问题。

        接一来,我们来看一看文献中有关IST的内容:

【1】Daubechies I, Defrise M, Mol C D.An iterative thresholding algorithm for linear inverse problems with asparsity constraint[J]. Communications on Pure & Applied Mathematics,2004, 57(11):1413–1457.

        本篇文献经常被引为IST的提出文献之一,但该文献中并没有明确出现IST的简称。

        首先看文中的一处描述:这里Iterative、Shrinkage、Thresholding三个单词都出现了,虽然没有连在一起:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        然后在Theorem3.1中出现了“shrinkage operator”,这是一个很关键的词,因为我们在上篇中曾谈到之所以将算法称为Iterative Soft Thresholding是因为每一次迭代执行Soft Thresholding函数:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        这个“shrinkage operator”的定义为式(17),如下:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

式(17)的定义又引用到了式(14)和式(16):

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

注意:式(14)中的(Fw,p)-1表示求反函数。当p=1时,可得式(16):

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

文中提到的式(10)定义如下:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

注意:式(16)即为我们熟悉的Soft Thresholding函数。

        因此,我们得出一个结论,“Soft Thresholding”是“shrinkage operator”当p=1时的一种特殊情况。

        排除同名的可能性,本文献的第一作者Ingrid Daubechies即为著名的db系列小波基(Daubechies小波)提出者,也是《小波十讲》的作者。

【2】Elad M.Why Simple ShrinkageIs Still Relevant for Redundant Representations?[J]. IEEE Transactions onInformation Theory, 2006, 52(12):5559-5569.

        我们接着来看“Shrinkage”:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        这里提到的式(7)和式(6)分别是:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        而这里提到的Fig.2如图所示:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        图名里提到的LUT是指lookup table (LUT) function。注意:图中的左上图为Soft Thresholding函数,而右上图为Hard Thresholding函数。

        因此,我们得出一个结论:Soft Thresholding和Hard Thresholding是“Shrinkage”的一种特殊情况,分别是当式(6)中的ρ(z)=|z|(1范数)和ρ(z)=|z|0(0范数)。

【3】Elad M.A wide-angle view atiterated shrinkage algorithms[J]. Proceedings of SPIE – The InternationalSociety for Optical Engineering, 2007, 6701(6701):26–29.

        我们接着来看“Shrinkage”:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

注意这里提到的经典的Donoho-Johnston shrinkage method是由参考文献[18]提出,这里的参考文献[13][18]是如下两篇文献:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        还记得这两篇文献么?Soft Thresholding和Hard Thresholding是由[18]提出的。

        接下来,有一段非常明确的有关“Shrinkage”的描述

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        注意后面加了波浪下划线的话:得到的“Shrinkage”函数是一条将输入x0映射为输出xopt的曲线,这个函数将原点附近范围的值映射为0,出了这个范围的值被“shrinked”,因此有了这个operator的名字。

        值得注意的是,当p=1,求解方程(12)将得到soft thresholding函数。

【4】Bioucas-DiasJ M, Figueiredo M A T.A new TwIST: two-stepiterative shrinkage/thresholding algorithms for image restoration[J]. IEEETransactions on Image processing, 2007, 16(12): 2992-3004.

        这篇文献对IST的阐述更为清晰。首先看这篇文献要解决的问题(1):

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        然后看一段综述,这里明确提到Iterative Shrinkage/Thresholding(IST):

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        注意这里多次提到IST多次被“independently”提出。文中接下来又提到了“shrinkage”函数:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        文中提到的denoising operator式(3)如下所示:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        也就是说这里讨论的shrinkage function即为denoising operator式(3)的解。当p=1时,denoising operator(3)由式(8)给出:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        可以看出,式(8)就是soft thresholding函数,也就是说soft thresholding函数是shrinkage function当p=1时的一种特殊形式。

        文中明确给出了IST算法:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        而原始的IST算法是当β=1时的特殊情况。从式(13)可以看出,Iterative Soft Thresholding 是Iterative Shrinkage/Thresholding的一种特殊情况。

【5】Bredies K,Lorenz D.Iterative soft-thresholdingconverges linearly[R]. Zentrum für Technomathematik, 2007.(Available at: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.245.1143&rep=rep1&type=pdf)

        直接讨论Iterative Soft Thresholding的文献较少,本文献即直接讨论了Iterative Soft Thresholding的收敛情况。文中提到Iterative Soft Thresholding是为了解决式(1.1):

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        这个式(1.1)并不太熟悉,原因在于正则项|uk|(即1范数)前面的系数为随k的变化是变化的,其实这个并不影响什么,将式(1.1)按soft thresholding推导过程中面对的优化问题拆开,即可知这个影响的只是每次求软阈值时门限不一样而已。

        从文中以下描述可以看出,本篇文献即为Iterative Soft Thresholding算法:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        另外,文中提到了Iterative Soft Thresholding算法的其它名字如thresholded Landweber。

【6】Beck A, Teboulle M.A FastIterative Shrinkage-Thresholding Algorithm for Linear Inverse Problems[J].Siam Journal on Imaging Sciences, 2009, 2(1):183-202.

        本篇文献实际上是把Iterative Soft Thresholding和Iterative Shrinkage/Thresholding认为是同一种算法:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        另外,文中也提到了Iterative Shrinkage/Thresholding的一些其它名字:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

【7】Wright S J,Nowak R D, Figueiredo M A T.Sparsereconstruction by separable approximation[J]. IEEE Transactions on SignalProcessing, 2009, 57(7): 2479-2493.

        本篇文献中提到了更多Iterative Shrinkage/Thresholding的一些别名,虽然这些别名并不常见:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

【8】Nowak R D, Wright S J.Gradientprojection for sparse reconstruction: Application to compressed sensing andother inverse problems[J]. IEEE Journal of selected topics in signalprocessing, 2007, 1(4): 586-597.

        将本篇文献放在这里并不是为了探讨shrinkage的含义。本文献是为了求解优化问题:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        熟悉BPDN的知道,这就是基追踪降噪问题。文中有一段有关IST的描述:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

其中文中的IST全称为:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

文中的CS全称为:

Iterative Soft Thresholding和Iterative Shrinkage/Thresholding的区别「建议收藏」

        注意最后一句,文献说IST对于解决压缩感知问题可能并不是很有效,原因是“it may be loose in the CS case,where matrix usually has many fewer rows than columns.”。对于这一点我有些疑问,原因是经过debias后,我们的IST能够进行压缩感知重构。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134338.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • jupyter notebook的链接密码 token查询 以及 pycharm 如何使用 jupyter notebook「建议收藏」

    jupyter notebook的链接密码 token查询 以及 pycharm 如何使用 jupyter notebook「建议收藏」目录1、token的查询:2、如何在pycharm中使用jupyternotebook学Python时突然想用jupyternotebook来运行一下代码,好做一下笔记,结果发现要jupyternotebook的token密码,这可苦了我,我怎么可能会记得呢。。。于是上百度搜索一番,有不错的收获,现整理一下:1、token的查询:结合网上查找的和我自己的体会,发现了3种…

    2022年10月31日
  • 深入浅出MFC—Frame1[通俗易懂]

    深入浅出MFC—Frame1[通俗易懂]#includeclassCObject{public: CObject() { printf(“CObjectConstructor\n”); } ~CObject() { printf(“CObjectDestructor\n”); }};classCCmdTarget:publicCObject{publ

  • CSDN 博客备份工具「建议收藏」

    CSDN 博客备份工具「建议收藏」前言核心登录模块备份模块博文扫描模块演示如何使用效果总结前言近段时间以来,听群友博友都在谈论着一件事:“CSDN博客怎么没有备份功能啊?”。这其实也在一定程度上表征着大家对于文章这种知识性产品的重视度越来越高,也对于数据的安全提高了重视。所以我就尝试着写了这么一个工具。专门用来备份CSDN博友的博客。核心说起来是核心,其实也就那么回事吧。严格来说也就是一对代码,不能称之为核心啦。

  • maven上传就私库

    maven上传就私库上传命令:mvndeploy:deploy-file-DgroupId=com.cmos-DartifactId=itframe-boot-base-Dversion=1.0.1-SNAPSHOT-Dpackaging=jar-Dfile=D:\s\itframe-boot-base-1.0.1-SNAPSHOT.jar-Durl=http://10.97.85.11:38081…

  • matlab函数之间传递变量_matlab中value函数

    matlab函数之间传递变量_matlab中value函数imfinfo有关图形文件的信息在页面中全部折叠句法info= imfinfo(filename)info= imfinfo(filename,fmt)info= imfinfo(URL)描述例info = imfinfo(filename)返回一个

  • 小程序页面跳转、带参数跳转以及navigator跳转[通俗易懂]

    一、单纯的页面跳转跳转到的页面分tabBar页面和非tabBar页面。url路径可以写相对和绝对路径。1、跳转到非导航页面,用wx.navigateTo方法wx.navigateTo({url:’../person/goldcoin/index’//或者url:’/page/person/goldcoin/index’})2、跳转到tabB…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号