LASSO是一个图像处理中经典的目标方程

第二项的1范数限制了x的稀疏性。

比如在图像去模糊的问题中,已知模糊的图像b,和模糊函数R,我们想恢复去模糊的图像I。这些变量的关系可以表达成I*R=b,其中*为卷积。在理想状态下,b没有任何噪音,那么这个问题就很简单。基于卷积定理,两个函数在时域的卷积相当于频域的相乘,那么我们只需要求出b和R的傅里叶变换,然后相除得到I的傅里叶变换,再将其恢复到时域。但是一般来说模糊图像b含有噪声,这使得频域中的操作异常不稳定,所以更多时候,我们希望通过以下方程求得I

其中模糊算子R表现成矩阵形式,I和b表示为1维向量,函数p作为规范项。我们将I小波分解,I=Wx,其中W为小波基,x为小波基系数。我们知道图像的小波表示是稀疏的,那么目标方程就变成了LASSO的形式

其中A=RW。现在的问题是,这个方程由于L1范数的存在,不是处处可微的,如果用subgradient的方法,收敛的速度会很慢。


ISTA(Iterative Shrinkage-Thresholding Algorithm)

这个算法可以解决以上f+g形式的最小化问题,但ISTA适用于以下形式问题的求解:1.目标方程是f+g的形式2.f和g是凸的,f是可导的,g无所谓3.g需要足够简单(可拆分的,可以做坐标下降的coordinate descent)我们首先看对f做一般的递归下降

这种形式的递归下降可以写成等价的以下形式(general form)

因为在我们的问题中除了f还有一个非平滑的g存在,一个简单的想法是改变迭代公式成以下形式(也就是直接把g加到后面)

通过基本的代数,消去和x无关的常数项,每一步的迭代公式就变成了

这时我们可以看到,假如g是一个开拆分的函数(比如L1范数),我们就可以对每一维分别进行坐标下降,也就是将N维的最小值问题,转化成N个1D的最小值问题。我们发现,如果的话,那么这个问题有解析解,即每步的迭代可以写成:

其中称作shrinkage operator。


FISTA(FAST Iterative Shrinkage-Thresholding Algorithm)

FISTA其实就是对ISTA应用Nestrerov加速。一个普通的Nestrerov加速递归下降的迭代步骤是

1.

2.

3.

4.

应用到FISTA上的话,就是把第3步换成ISTA的迭代步骤。可以证明FISTA可以达到的收敛速度。(t是迭代次数)通过下面的实验可以看到,同样迭代了300次,左图(ISTA)仍未收敛,图像仍然模糊。而右图(FISTA)已经基本还原了去模糊的原图。

  

ISTA FISTA相关推荐

  1. ADMM,ISTA,FISTA算法步骤详解,MATLAB代码,求解LASSO优化问题

    ADMM,ISTA,FISTA算法步骤详解,MATLAB代码,求解LASSO优化问题 原创文章!转载需注明来源:©️ Sylvan Ding's Blog ❤️ 实验目的 了解 ADMM, ISTA, ...

  2. FISTA的由来:从梯度下降法到ISTA FISTA

    前言: FISTA(A fast iterative shrinkage-thresholding algorithm)是一种快速的迭代阈值收缩算法(ISTA).FISTA和ISTA都是基于梯度下降的 ...

  3. ISTA与FISTA

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/huang1024rui/articl ...

  4. 1范数+F范数求极小

    参照: ADMM,ISTA,FISTA算法步骤详解,MATLAB代码,求解LASSO优化问题 讲了ADMM, ISTA , FISTA 的算法基本原理及对应的实例.可以研究了用来求解F范数+1范数问题 ...

  5. 梯度下降、ISTA和FISTA算法收敛速率推导

    本周主要是进行优化课程的复习,然后对梯度下降.ISTA和FISTA算法的收敛速率证明进行了总结. 一.梯度下降收敛速率证明: 二. ISTA的收敛速率(近端梯度下降法的收敛速率) 三.FISTA的收敛 ...

  6. 深度学习:深度压缩感知-从ISTA到LISTA及其pytorch实现方法

    摘要:传统的压缩感知方法在重构时的速度通常比较慢.通过将深度学习和压缩感知结合,可以大大提高重构速度.Learned Iterative Shrinkage and Thresholding Algo ...

  7. 近端梯度下降算法 和迭代阈值收缩算法(ISTA)和 软阈值

    近端梯度下降算法(Proximal Gradient Algorithm) https://blog.csdn.net/qq_38290475/article/details/81052206?dep ...

  8. 总结一些最优化算法(ADMM/FISTA)代码网站

    优化算法: ADMM: https://blog.csdn.net/angel_yj/article/details/40587543 https://blog.csdn.net/jbb0523/ar ...

  9. 稀疏编码: LASSO,近端梯度优化(PGD),迭代软阈值算法(ISTA),L-Lipschitz条件,软阈值

    在用到稀疏编码时,难免会提到以下概念: (1)LASSO(Least Absolute Shrinkage and Selection Operatior): 最小绝对收缩选择算子.这个名词听名字比较 ...

最新文章

  1. 宽依赖和窄依赖_Spark术语解释及宽窄依赖执行原理,代码分析
  2. Volatile缓存可见性实现原理(JMM数据原子操作具体步骤)
  3. linux ls统计文件个数
  4. 1.2.4 Selecting a defualt database
  5. 把握三大计划 抓住ERP项目实施的灵魂
  6. mysql 热块_MySQL分布式集群之MyCAT(三)rule的分析【转】
  7. 俺是如何在3个月内写出博士论文的?
  8. CGGeometry.h详解
  9. 王彪20162321 2017-2018程序设计与数据结构-第二学期-第一周学习总结
  10. Mysql 远程自动化备份
  11. EasyRecovery深度扫描以恢复桌面遗失数据的方法
  12. Redis 性能优化思路,写的非常好!
  13. ajax1—php(27)
  14. 谈demo、原型、产品的区别
  15. 160个CrackMe001
  16. html在线调查,HTML5 调查问卷表单
  17. su组件在什么窗口,【答疑】草图大师Sketchup组件窗口快捷键是什么呢? - 羽兔网问答...
  18. phpmywind 子菜单调用
  19. 测试案例(五个案例)
  20. 贪婪洞窟2一直显示连接服务器失败,贪婪洞窟2公测服务器应急情况处理公告

热门文章

  1. Windows Live Messenger
  2. Android-33源码分析: Handler消息机制
  3. 用 PyInstaller 打包基于 PyQt 的程序遇到的坑
  4. 混沌工程工具-阿里ChaosBlade的实现说明之一
  5. matlab中imadjust,matlab中imadjust函数的作用及应用举例
  6. 基于ssm振华电器商城网站
  7. U盘文件或目录损坏且无法读取怎么修复
  8. python0是true还是false_python 中的True和1及False和0是可以等价比较
  9. 计算机学院大学毕业晚会标题,“告白青春,感谢有你” 计算机学院2018届毕业晚会圆满举行...
  10. JavaScript 基础之 JavaScript 秘密花园