对OMP的理解
2017-01-04 22:40
387 查看
对OMP的理解:
y=ΦDa
Φ为高斯随机矩阵,是与完备字典D几乎不相干的随机矩阵,与y=ΦΨ’ x的Φ含义不一样,后者为测量矩阵,由于a稀疏,所以,ΦD需要满足RIP条件,而后者Φ需要满足RIP条件。
因此,OMP即为从D中寻找原子来构造y,也就是通过原子来线性表示y;根据每次迭代的最大值筛选出当前原子的位置,将其放入扩展矩阵Aug_t中,并去掉字典中的该原子,通过最小二乘法获得最小残差时的系数aug_y,并继续迭代之,直到误差满足要求,或者达到设置的迭代次数(大于a的稀疏度K)。
算法实现过程即为:
y=ΦDa
Φ为高斯随机矩阵,是与完备字典D几乎不相干的随机矩阵,与y=ΦΨ’ x的Φ含义不一样,后者为测量矩阵,由于a稀疏,所以,ΦD需要满足RIP条件,而后者Φ需要满足RIP条件。
因此,OMP即为从D中寻找原子来构造y,也就是通过原子来线性表示y;根据每次迭代的最大值筛选出当前原子的位置,将其放入扩展矩阵Aug_t中,并去掉字典中的该原子,通过最小二乘法获得最小残差时的系数aug_y,并继续迭代之,直到误差满足要求,或者达到设置的迭代次数(大于a的稀疏度K)。
算法实现过程即为:
对D中每一列与y进行内积,获取投影最大列,极其位置; 将步骤1中的列放入扩展矩阵Aug_t,并删除D中该列; 最小二乘求最优系数,并求出残差继续步骤1,2,3; 直到误差小于理想值或达到设置得迭代次数(大于a的稀疏度K); 获得最终系数向量,按照步骤1记录的位置,得到近似得系数向量a; 反变换即可重建信号x
相关文章推荐
- 深入理解系统调用与库函数调用!
- 深入理解Javascript闭包(closure)
- 对于可重入、线程安全、异步信号安全几个概念的理解
- 对IIS7经典模式和集成模式的理解
- container_of 理解
- 彻底理解ThreadLocal
- C++编程中对缓冲区的理解
- 旧金山大学的算法可视化学习教程 赞的教程,将抽象的算法可视化,易于理解
- 人工智能引擎(8)-理解
- 指针两个要素,彻底理解指针
- Java内存泄露的理解与解决
- 关于ECMAScript函数参数的多方面理解
- 从Java的角度理解前端框架,nodejs,reactjs,angularjs,requirejs,seajs
- 编程思想的理解(POP,OOP,SOA,AOP)
- 共振的几点理解
- Http--基础理解
- PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
- 深入理解CSS中的层叠上下文和层叠顺序
- 通过作用域链去理解闭包
- 奇异值分解(SVD)的理解