迭代硬阈值算法IHT:Iterative Hard-Thresholding

  • 前言
  • 硬阈值函数
  • 迭代硬阈值算法
  • 参考

前言

最近在学习压缩感知的重构算法,重构算法整体来看分为三大类:
①贪婪迭代类算法:即MP和OMP及其改进算法。通过迭代选择原子的方式,进行逼近重构。
②凸优化类算法:即BP(基追踪)和BPDN(基追踪降噪)。通过将原始的非凸问题转化为凸优化问题,然后通过线性规划的方式来求解。
③组合算法:还未涉猎,后续跟进~
当前已经将贪婪迭代类的算法都实验过了,最近开始学习凸优化方法。首先说一下凸优化方法:即将原始的重构问题转化为凸优化的问题然后用线性规划的方式求解。主要包括两种,即BP(Basis Pursuit)和BPDN(Basis Pursuit Denoising)。区别就在于测量数据是否包含噪声。BP算法仅适用于无噪声的情况。即下式所述:

目标是从压缩的测量数据Y中找到输入信号X在库Θ中的稀疏逼近s^。仅适用于观测数据没有噪声的情况。而BPDN则放宽了约束条件:

通常改写为无约束形式即:

而为了解决以上的优化问题,则衍生出很多算法,主要包括:单纯形法,内点法,FPC算法,GPSR算法和Bregman算法。这些算法里面涉及到的数学知识非常多,比较难以理解,路越走越宽。。。而且讲解详细的资料较少,需要啃原始文献。。。
而本文所述的迭代硬阈值算法,很多文献将其归位凸优化类算法,在看FPC时找到了这个,就先把它学完了。。。但其和之后介绍的迭代软阈值(IST)算法,严格的说,应属于阈值迭代类,不完全属于凸优化类。下面正式开始介绍~

硬阈值函数

若想吃透IHT算法,需要先了解硬阈值函数和Majorization-Minimization(MM)优化框架。首先说一下硬阈值函数。硬阈值函数的作用是用于求解如下优化问题:

其中

首先将目标函数进行展开如下:

其中|x|0表示:

那么将其抽象出来,就是求解N个独立的形如下式的优化问题:

将|x|0展开:

当x不是0的时候,f(x)的最最小值在b处取得,为λ,在x=0的时候,最小值就是b2,那么现在的问题是比较λ和b2的大小,求解不等式b2>λ可得下式,此时最小值在x=0处取得;

求解不等式b2<λ可得下式,此时最小值在x=b处取得;

即:
若将上式中的b视为变量,sqrt(λ)视为阈值,上式即为硬阈值(Hard Thresholding)的公式. 至此,我们可以得到优化问题
解为:

迭代硬阈值算法

下面来介绍迭代硬阈值算法,最初的提出是2008年在文献【Blumensath T,Davies M E.IterativeThresholding for Sparse Approximations[J]. Journal of Fourier Analysis& Applications,2008, 14(5):629-654.】中,这时的叫法还不是IHT而是M稀疏算法。顾名思义,其解决的问题如下:

迭代公式是:
其中
下面开始推导迭代公式。
首先原始优化式子中的目标函数优化较为困难,因此采用一个替代目标函数进行优化,替代目标函数需要满足MM框架的约束,即
因此,论文中提出以下的替代目标函数:
其中M下标表示M稀疏,S上标表示替代。这个替代目标函数在z=y时即原始目标函数。因此对其进行优化,将其展开
其中后面的平方项与y无关,对于优化没有影响,可看做常量,即
而上式的极值点即
代入,即求得替代目标函数的极小值:
此时考虑另外一个约束,||y||0≤M。即取yi*的最大的M项(因其前面有个负号)。即前述硬阈值函数,满足约束的替代目标函数的极小值应在
取得。因此迭代公式即:

参考

【1】Blumensath T,Davies M E.IterativeThresholding for Sparse Approximations[J]. Journal of Fourier Analysis& Applications,2008, 14(5):629-654.
【2】硬阈值(Hard Thresholding)函数解读

迭代硬阈值算法IHT:Iterative Hard-Thresholding相关推荐

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

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

  2. 迭代硬阈值类算法总结||IHT/NIHT/CGIHT/HTP

    斜风细雨作小寒,淡烟疏柳媚晴滩.入淮清洛渐漫漫. 雪沫乳花浮午盏,蓼茸蒿笋试春盘.人间有味是清欢. ---- 苏轼 更多精彩内容请关注微信公众号 "优化与算法" 迭代硬阈值(Ite ...

  3. 压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT)

    转载自:https://blog.csdn.net/wyw921027/article/details/52102211 题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresh ...

  4. 迭代硬阈值(IHT)算法解决CS优化目标函数

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 题目:迭代硬阈值(IHT)的补充说明 本篇是对压缩感知重构算法之迭代硬阈值(IHT)的一个补充 ...

  5. 压缩感知重构算法之迭代硬阈值(IHT)

    题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT) 本篇来介绍IHT重构算法.一般在压缩感知参考文献中,提到IHT时一般引用的都是文献[1],但IHT ...

  6. 迭代硬阈值(IHT)的补充说明

    题目:迭代硬阈值(IHT)的补充说明 本篇是对压缩感知重构算法之迭代硬阈值(IHT)的一个补充. 学完IHT后,近期陆续学习了硬阈值(hard Thresholding)函数和Majorization ...

  7. 迭代硬阈值(IHT)

    题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT) 本篇来介绍IHT重构算法.一般在压缩感知参考文献中,提到IHT时一般引用的都是文献[1],但IHT ...

  8. IHT迭代硬阈值在压缩感知重建中的应用

    IHT迭代硬阈值在压缩感知重建中的应用 IHT算子程序 IHT函数 主程序 测试结果 IHT算子程序 function [a3] =IHT_Opeator(a,s) %UNTITLED 此处显示有关此 ...

  9. 压缩感知重构算法之迭代软阈值(IST)

    题目:压缩感知重构算法之迭代软阈值(IST) 看懂本篇需要有以下两篇作为基础: (1)软阈值(Soft Thresholding)函数解读 (2)Majorization-Minimization优化 ...

最新文章

  1. C++中const的用法
  2. ubuntu添加sudo权限
  3. Windows下的for
  4. 如何使用AngularJS绑定到复选框值列表?
  5. C++中“引用”的底层实现
  6. codevs 1085 数字游戏 dp或者暴搜
  7. fresco xml配置属性不起作用
  8. Maven教程(一)
  9. datastage 函数_DataStage常用函数大全
  10. 南开大学计算机科学与技术考研真题,2016年南开大学计算机科学与技术考研考试科目-考研参考书-考研真题.pdf...
  11. NSURLConnection 下载数据 -- IOS(实例)
  12. 粒子滤波简介(转载)
  13. 2月25日 局域不变特征的目标跟踪,SURF算子,KLT算子
  14. java .jpackage,任何人都知道jpackage到底做什么? - java
  15. 基于投资组合问题的凸二次规划模型及求解——Gurobi求解器+高阶牛顿法(python)
  16. twitter最多关注者_Twitter的10个最具创意的用途
  17. WLAN无线技术基本概念(802.11a/b/g/n/ac/ax区别,频段,信道概念)
  18. nuc7 android tv,第七代的进化,Intel NUC7i3BNH 开箱评测拆解
  19. python六大数据类型详解
  20. 墙裂推荐6本适用于所有Java程序员阅读书籍

热门文章

  1. 公园数字呼叫广播系统方案
  2. 计算机中的文件怎么加密文件,电脑文件夹如何加密(文件夹直接设置密码的三种方法)...
  3. python2.7中文编码_python2.7
  4. error:值不能为 null。\r\n参数名: oldValue
  5. 仅用3页纸这位30岁的华人科学家就解决了困扰了世界30年的难题-布尔函数敏感度证明解析
  6. 优惠幅度超千元!翻新版M1 MacBook Air上架苹果中国官网
  7. MacClean360 for Mac(mac系统清理软件)
  8. CityEngine 2013部署安装
  9. 苏尔无线麦与纽曼搭配使用详细方法
  10. 全球当下最厉害的14位程序员,竟然这么多有头发的?