IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding本篇是对压缩感知重构算法之迭代软阈值(IST)的延续,可能需要以下基础:软阈值(SoftThresholding)函数和硬阈值(HardThresholding)函数。前面我们在讨论迭代软阈值算法时提到,一般文献中出现的IST或ISTA简称中的“S”并非指的是“soft”,而是“shrinkage”,即“IterativeShrinkage/ThresholdingAlgorithm”,那么IterativeSoftThresholding和IterativeShrinkage/

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

题目: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三个单词都出现了,虽然没有连在一起:

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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”:

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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”:

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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):

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

        文中明确给出了IST算法:

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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):

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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认为是同一种算法:

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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的一些别名,虽然这些别名并不常见:

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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的含义。本文献是为了求解优化问题:

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

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

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

其中文中的IST全称为:

IST:Iterative Shrinkage/Thresholding和Iterative Soft Thresholding

文中的CS全称为:

IST:Iterative Shrinkage/Thresholding和Iterative Soft 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/132906.html原文链接:https://javaforall.cn

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

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

(0)


相关推荐

  • CListCtrl使用「建议收藏」

    CListCtrl使用「建议收藏」列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用BOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID)创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:•

  • XML Schema <第三篇>

    XML Schema <第三篇>

  • 2020年再有这三种心态的员工,不会被领导重用,早知道早受益

    2020年再有这三种心态的员工,不会被领导重用,早知道早受益

  • mybatis二级缓存实现_mybatis源码深度解析

    mybatis二级缓存实现_mybatis源码深度解析 二级缓存的作用域是全局,换句话说,二级缓存已经脱离SqlSession的控制了。在测试二级缓存之前,我先把结论说一下:二级缓存的作用域是全局的,二级缓存在SqlSession关闭或提交之后才会生效。在分析MyBatis的二级缓存之前,我们先简单看下MyBatis中一个关于二级缓存的类(其他相关的类和接口之前已经分析过):org.apache.ibatis.mapping.Ma…

  • 过压保护(2)_过压保护值和欠压保护值

    过压保护(2)_过压保护值和欠压保护值http://www.elecfans.com/dianlutu/protect/2009102499242.html采用CW136构成的过压保护电路图中是采用CW136构成的过压保护电路,当电子设备

  • JAVA 什么是多态?

    JAVA 什么是多态?面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么,什么是多态呢?1.定义:多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象…

发表回复

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

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