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)
blank

相关推荐

  • Java教程,全套Java基础视频教程「建议收藏」

    Java教程,全套Java基础视频教程「建议收藏」深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗。为此我呕心沥血整理了这套Java教程,不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路你都值得拥有,小白看上面的视频可以成功学会Java并且顺利工作,大神看了上面的资源肯定会谆谆乐道,教程的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发…

  • AOI之十字链表法

    AOI之十字链表法1.简介AOI主要有九宫格、灯塔和十字链表的算法实现。本文阐述十字链表的实现2. 基本原理若是二维地图,将地图内的对象按照坐标值,从小到大分在x轴和y轴两个链表上。如果是三维地图,则还需要维护多一个z轴的链表3.基本接口 Add:对象进入场景Move:对象在场景内移动Leave:对象离开场景4.代码如下scene.h#ifndef__CScene_H__#define__CScene_…

  • java策略模式例子_java 登录场景 策略模式

    java策略模式例子_java 登录场景 策略模式Java的策略模式中体现了两个非常基本面向对象的原则-封装变化的概念-编程中使用接口,而不是对接口的实现策略模式的定义定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响的变化策略模式的组成抽象策略角色–策略类,通常由一个接口或者抽象类实现具体策略角色–包装了相

  • CSS中如何解决子元素继承父元素的opacity属性?

    CSS中如何解决子元素继承父元素的opacity属性?解决方案这里有两个方案,使用rgba()间接的设定opacity的值,这个属性不会向下继承,或者既然opacity会被子级元素继承,那就把opacity属性放到同级元素实现,下面通过示例具体说说这两种方式:1.使用rgba()间接的设定opacityrgba()有四个参数,最后一个参数就是opacity的值,和opacity单独设定效果一样,但是这个是有background属性来控制的,background不会向下继承,所以就解决这个问题啦,示例如下:<!DOCTYPEhtml>&l

  • ffmeg 反交错「建议收藏」

    ffmeg 反交错「建议收藏」ffmeg反交错分类: 多媒体编程2015-01-2009:31 1037人阅读 评论(0) 收藏 举报ffmpeg反交错avfilter过滤器      昨天发现播放TS流(PAL25FPS)时有横纹,查资料找到原因是解码出来的画面是用于隔行扫描显示的画面,需要进行反交错处理成逐行扫描显示画面.因为是帧内交错,所以不要IVTC(IVTC是match场操作

  • mysql 加入�列,改动列,删除列。

    mysql 加入�列,改动列,删除列。

发表回复

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

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