omp
MP算法是一个贪婪算法
MP的目的:是为了求出用那几个基向量来表示一个向量,并且求出对应的系数。
MP思想:我就疯狂的把向量往基向量上映射,映射一次就得到一个残差,继续把残差往基向量上映射,继续得到残差,继续映射。如果残差足够小,我就把这个东西忽略了,然后把之前在基向量映射过系数的加起来,我们就可以用基向量近似表示一个向量了(前提是忽略了足够小的残差)
OMP算法
由于有可能几个基向量不是互相正交的,所以会导致用MP算法残差会一直存在。而众所周知,比如在三维空间内,三个不在一个平面的向量可以表示任何向量,所以应该可以完全表示而不存在近似表示的。OMP就是为了解决MP的无解问题。
OMP算法的改进之处在于:在分解的每一步对所选择的全部原子进行正交化处理,这使得在精度要求相同的情况下,OMP算法的收敛速度更快。
那么在每一步中如何对所选择的全部原子进行正交化处理呢?在正式描述OMP算法前,先看一点基础思想。
先看一个 k 阶模型,表示信号 f 经过 k 步分解后的情况,似乎很眼熟,但要注意它与MP算法不同之处,它的残值与前面每个分量正交,这就是为什么这个算法多了一个正交的原因,MP中仅与最近选出的的那一项正交。
OMP减去的Pem是em在所有被选择过的原子组成的矩阵Φt所张成空间上的正交投影,而MP减去的Pem是em在本次被选择的原子φm所张成空间上的正交投影。这样就可以最多计算维度数(n次)的残差下就可以线性表示了。
OMP分解过程,实际上是将所选原子依次进行Schimidt正交化,然后将待分解信号减去在正交化后的原子上各自的分量即可得残差。其实求残差的过程也是在进行施密特正交化。
文章最后发布于: 2018-09-27 17:28:47
相关阅读
方法二:Project Viewer Central(推荐)https://www.projectplan365.com/projectviewernow/tViews.aspxProject Viewer Central是一款
原文出处:http://blog.csdn.net/u012702547/article/details/49557905ComponentName,顾名思义,就是组件名称,通过调用Intent中的setCo
作用:在网页中,弹出一个有提示信息的输入对话框,帮助用户输入格式:window.prompt(“提示信息” [,初始值] )返回值的类型,是字符串。
刚接触数据结构,对于其中的一些算法都不是很了解,这几天刚在学习串的内容,里面介绍了两种串的模式匹配算法,一种是BF算法(也叫做BoyFri
转载于:https://www.cnblogs.com/lbonet/p/10215723.html