贪婪算法中ROMP算法的原理及MATLAB仿真答辩.docx

贪婪算法中ROMP算法的原理及MATLAB仿真答辩.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
 HYPERLINK /jbb0523/article/details压缩感知重构算法之正则化正交匹配追踪(ROMP) 正交匹配追踪算法每次迭代均只选择与残差最相关的一列,自然人们会想:“每次迭代是否可以多选几列呢?”,正则化正交匹配追踪(RegularizedOMP)就是其中一种改进方法。本篇将在上一篇《 HYPERLINK /jbb0523/article/details\t _blank 压缩感知重构算法之正交匹配追踪(OMP)》的基础上给出正则化正交匹配追踪(ROMP)算法的MATLAB函数代码,并且给出单次测试例程代码、测量数M与重构成功概率关系曲线绘制例程代码。 0、符号说明如下: ? ? ? ??压缩观测y=Φx,其中y为观测所得向量M×1,x为原信号N×1(MN)。x一般不是稀疏的,但在某个变换域Ψ是稀疏的,即x=Ψθ,其中θ为K稀疏的,即θ只有K个非零项。此时y=ΦΨθ,令A=ΦΨ,则y=Aθ。 ? ? ? ??(1)?y为观测所得向量,大小为M×1 ? ? ? ??(2)x为原信号,大小为N×1 ? ? ? ??(3)θ为K稀疏的,是信号在x在某变换域的稀疏表示 ? ? ? ??(4)Φ称为观测矩阵、测量矩阵、测量基,大小为M×N ? ? ? ??(5)Ψ称为变换矩阵、变换基、稀疏矩阵、稀疏基、正交基字典矩阵,大小为N×N ? ? ? ??(6)A称为测度矩阵、传感矩阵、CS信息算子,大小为M×N 上式中,一般有KMN,后面三个矩阵各个文献的叫法不一,以后我将Φ称为测量矩阵、将Ψ称为稀疏矩阵、将A称为传感矩阵。 1、ROMP重构算法流程: 正则化正交匹配追踪(ROMP)算法流程与OMP的最大不同之处:就在于从传感矩阵A中选择列向量的标准,OMP每次只选择与残差内积绝对值最大的那一列,而ROMP则是先选出内积绝对值最大的K列(若所有内积中不够K个非零值则将内积值非零的列全部选出),然后再从这K列中按正则化标准再选择一遍,即为本次迭代选出的列向量(一般并非只有一列)。 正则化标准:意思是选择各列向量与残差的内积的绝对值的最大值不能比最小值大两倍以上(comparable coordinates)且能量最大的一组(with the maximal energy),因为满足条件的子集并非只有一组。似乎用叙述语言描述不清楚,下面给出一种实现第(2)(3)步的算法流程图(此算法并非本人原创,参考网络代码[2][3],本人将代码中的思想进行整理,画出此流程图,方便初学者快速掌握学习ROMP算法): 我将原子选择过程封装成了一个MATLAB函数,代码如下(Regularize.m): function?[val,pos]?=?Regularize(product,Kin)?? %Regularize?Summary?of?this?function?goes?here?? %???Detailed?explanation?goes?here?? %???product?=?A*r_n;%传感矩阵A各列与残差的内积?? %???K为稀疏度?? %???pos为选出的各列序号?? %???val为选出的各列与残差的内积值?? %???Reference:Needell?D,Vershynin?R.?Uniform?uncertainty?principle?and?? %???signal?recovery?via?regularized?orthogonal?matching?pursuit.??? %???Foundations?of?Computational?Mathematics,?2009,9(3):?317-334.???? ????productabs?=?abs(product);%取绝对值?? ????[productdes,indexproductdes]?=?sort(productabs,descend);%降序排列?? ????for?ii?=?length(productdes):-1:1?? ????????if?productdes(ii)1e-6%判断productdes中非零值个数?? ????????????break;?? ????????end?? ????end?? ????%Identify:Choose?a?set?J?of?the?K?biggest?coordinates?? ????if?ii=Kin?? ????????J?=?indexproductdes(1:Kin);%集合J?? ????????Jval?=?productdes(1:Kin);%集合J对应的序列值?? ????????K?=?Kin;?? ??

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档