先声明一下,我啥都不懂……

这篇文章其实和我近期所“研究”的random scaling还是有一定关系的,因此想说通过该文,一是确认一下“三值信号最难重构”这个结论;二是对利用phase transition衡量重构算法的性能进行进一步了解。这篇文章本身的目的,从Title和Abstract可以看出,是利用phase transition来调节“迭代式重构算法”(Iterative Reconstruction Altgorithm)的参数设置,作者之一是Compressive Sensing的奠基人之一Donoho,另一位目前还不太熟悉……

先进行Compressive sensing context的一些符号说明,为了尊重原文,以下以N代表原始信号的长度,k代表sparsity,n代表测量值的个数……

具体到文章中内容,在Introduction部分也就是进行了一些背景介绍,其中有些话我也没太看懂,不过问题不大。在第二部分Iterative algorithms部分中,II.A介绍了简单的迭代算法IHT和IST,它们的思想是基于经典松弛法(和数值分析课本上解线性方程组所使用的松弛法差不多)的sparsity-promoting variant,即

xi+1=/etati(xi+/kappa(A'ri));     ri=y-Axi;      (如无意外这应该是我用这个blog的编辑器写的第一个且是最后一个公式)

其中/kappa是松弛参数,/etati是阈值函数,对/etati的不同选择便产生了IHT和IST两种算法。另外可以看出t和/kappa是IHT和IST算法所需要调节的参数。

II.B介绍了复合式(composite)的迭代算法,这里所谓的复合式就是迭代过程中要进行两次thresholding(即TST),Cosamp算法是TST的代表算法之一,另一种文章中提到的子空间追踪(subspace persuit)我不是很熟悉,有时间的话在看看。II.C则主要介绍了IHT、IST和TST算法所涉及到的参数,基本上就是为后面的内容做必要的铺垫。

第三部分主要内容就是phase transition,本篇文章中对这部分的概念介绍得还是比较详细的,想了解的可以参考一下。这里随便说一下我对phase transition这个名字的看法,因为开始在ISIT的review以及学长讲述的过程中,一直不理解为啥要叫phase transition。后来想想应该是这样:phase transition翻译过来是“相变”,大家应该对物理上的“相变”比较熟悉,举个例子来说,在一定的气压和其它条件下,水的“态”会随着温度的不断升高而变化,超过100度的时候会从液态变为气态。而对于Compressive sensing来说,很多研究者发现,在固定n、N以及除了k之外的其它一切算法相关参数的情况下,随着k的增加,重构算法在某个衡量标准下的重构成功率会从1变为0,就很像前面说到的水随温度的变化过程。另外随着不同的n(这里语言有些混乱……),发生这个从1到0的decay的k的值也会有所不同,会形成一个k/n随着n/N的变化曲线,与“不同气压下水的沸点不同”这一phase transition现象也有些类似。这部分文章在倒数第二段提到,当N不断变大(其实就是常说的large system limit)是,这个transition zone会不断的变得narrower,图2中IHT算法的实验结果也说明了这一点。

第四部分介绍了后面实验结果的衡量标准。对于重构成功率中“成功”的定义,文章采用了类似SNR的方式,这个我个人倒是比较常用。之后就是说在phase transition的transition point方面,这篇文章是通过logistic regression寻找重构成功率为50%的k(即k/n),这个logistic regression我还真不怎么熟悉,估计就是一种插值?

第五部分介绍了后面参数调节的流程。对于重构算法的每一种参数配置,作者在实验的第一阶段,即参数调节阶段,采用了文中定义的standard suite,即N=800的三值信号以及Uniform Spherical Ensemble的矩阵集,关于这个Uniform Spherical Ensemble的生成,从代码来看就是一个Guassian distribution+二范数归一化,和它的文字解释好像略有冲突。而在实验的第二阶段,即参数评估阶段,文章则是实验了其它的信号类型和矩阵集,作者认为说在其它情况下的实验结果比standard suite要好,也就说明了调节的robustness。

第六部分以三组图片的形式介绍了参数调节的实验结果,没啥太多可说的。

第七部分文章基于前面的实验结果和分析给出了recommended版本的IHT、IST和TST算法,文章提到对于TST算法,实验表明/alpha=1,/beta=1的参数性能最好,另外通过phase transition的实验结果,还可以得到在给定n和N时,所能重构的最大的sparsity值(其实也就是通过三次区间插值得到),这样recommended版本的TST算法就不需要提供原始信号sparsity的值,而是使用插值得到的这个最大的k值来进行重构,因为sparsity大于这个k的信号就肯定不能被重构了。当然我也是通过这篇文章才知道对于TST算法,给出一个大于原始信号sparsity的k进行迭代也可以进行求解。这部分之后还将几种迭代算法与minimum L1算法进行了比较,这怎么可能比得过……

第八部分就是前面提到的robustness的验证了。文章在前面实验的基础上,又对几种信号类型和矩阵集进行了相应的phase transition实验,目的就是说明它们的性能都比前面的standard suite好。这里面值得注意的就是柯西分布的信号重构性能很好,看今后是不是能借此进一步改进random scaling的方法……

第九部分很简短,主要就是用一个table显示了不同算法的运行时间……

第十部分考虑了非随机观测矩阵的情况,主要是研究了partial Fourier ensemble的情况,同样在IHT、IST和TST算法上进行了相关实验,partial Fourier ensemble对于IST的改进很大,其它好像没什么特别的……

第十一部分是一些Discussion,在这部分中的Contributions里,作者首先提到了本文为压缩传感重构算法的评价提供了一个标准,即文中的current state of the art,之后就说到了他们所提供的code和idea可以为其他researchers所沿用。

最后一部分是Conclusion,基本上就是把前面提到的内容总结了一下……

先写到这儿吧,如果今后有新的感想我再接着总结……

读《Optimally Tuned Iterative Reconstruction Algorithms for Compressive Sensing》有感……相关推荐

  1. 读《豆瓣的基础架构》有感

    豆瓣整个基础架构可以粗略的分为在线和离线两大块.在线的部分和大部分网站类似:前面用LVS做HA,用Nginx做反向代理,形成负载均衡的一 层:应用层主要是做运算,将运算结果返回给前面的用户,DAE平台 ...

  2. 15读《算法基础》有感——决策树

    15读<算法基础>有感--决策树 学完本学期的<算法设计与分析基础>,想对"决策树"做进一步的了解,于是读了Rod Stephens<算法基础> ...

  3. simplify逆向_Simplify-SDK-一种以代码形式管理基础架构的框架。

    simplify逆向 When working with AWS services, you've got several choices to build and deploy your lambd ...

  4. View 5.1 重装上阵(4—基础架构篇)

    从底层架构方面来看,VIEW 5.1最大的改进在于引入了Content-Based Read Cache(CBRC) 技术,大大降低了部署桌面虚拟化所带来的IOPS风暴,同时大大降低了对于存储的压力和 ...

  5. 聊聊 Kafka: Kafka 的基础架构

    一.我与快递小哥的故事 一个很正常的一个工作日,老周正在忙着啪啪啪的敲代码,办公司好像安静的只剩敲代码的声音.突然,我的电话铃声响起了,顿时打破了这种安静. 我:喂,哪位? 快递小哥:我是顺丰快递的, ...

  6. 机器学习的中流砥柱:用于模型构建的基础架构工具有哪些?

    本文转载自公众号"读芯术"(ID:AI_Discovery) 人工智能(AI)和机器学习(ML)已然"渗透"到了各行各业,企业们期待通过机器学习基础架构平台,以 ...

  7. 数据中心基础架构 22 年演进

    01 前言 当今世界正处在信息技术(IT)创新的黄金时代.由机器学习.物联网和大规模可扩展应用支持的云计算.移动应用.大数据分析的巨大力量正在重塑商业和社会的方方面面.而这场IT复兴的中心,则是超大规 ...

  8. k86跟mysql_MySQL【基础架构】

    一.前言 平时我们使用数据库,看到的通常都是一个整体. select * from T where ID=10: 对于上述语句,我们看到的只是输入一条语句,返回一个结果,却没有关注这条语句在 MySQ ...

  9. 译 | .NET Core 基础架构进化之路(一)

    原文:Matt Mitchell 翻译:Edi Wang 随着 .NET Core 3.0 Preview 6 的推出,我们认为简要了解一下我们基础设施系统的历史以及过去一年左右所做的重大改进会很有用 ...

  10. 【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的

    文章目录 1 一条SQL查询语句是如何执行的 2 mysql体系结构 3 InnoDB存储引擎 4 总结 1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库,都是将数据库看成一个整体,我们的应 ...

最新文章

  1. 线上比赛中关于视觉AI组与信标组补充说明
  2. Linux远程远程控制程序TeamViewer
  3. 01-JDBC学习手册:JDBC概述之JDBC发展、API、驱动
  4. 以太坊地址和公钥_以太坊交易签名解析源码解读
  5. 计算机科学与技术科研论文,计算机科学与技术学院2007年度科研论文一览表
  6. ssh 免密登录并用脚本群起服务
  7. python需要配置环境变量吗_w10版本python怎样设置环境变量
  8. java jar命令来运行jar包
  9. indy9 indy10 MD5 实现方法
  10. Linux修行学习,网站持更
  11. ffmpeg实现mp4文件转h264文件
  12. java微信测单删,免费查微信单删软件有哪些(推荐靠谱查单删APP)
  13. 千古第一文人苏轼的众CP
  14. 园区网核心交换机与出口路由器如何配置才能通信?
  15. WebIM项目的架构设计以及实现
  16. Myeclipse10怎么找到 Servers
  17. uni-app 数据上拉加载更多功能
  18. CommandLineRunner和ApplicationRunner区别
  19. @keyup.enter.native
  20. 淘特群,如何做到15天回本

热门文章

  1. 读书笔记-卷积神经网络
  2. 将图片库优化到底,性能提高50%!京东京喜App是如何做到的?
  3. 逆势增长,资源分享整合平台淘赏云客获多家投资机构青睐
  4. centos7 制作U盘
  5. 初遇漂流瓶 v1.6
  6. 揭晓 2020 年增长最快的技术职位,PHP 成为开发的潜力股!
  7. timescale说明
  8. 如何让平面排版的层次更丰富?我总结了这15个方法
  9. auto-focus
  10. 日文输入时促音、拨音、拗音的输入方法