匹配追踪MP和正交匹配追踪OMP

近期看了一些匹配追踪MP和正交匹配追踪OMP的相关论文和博文,现在将自己的理解简记于此,仅供参考。

1 算法流程

模型: y = A x 模型:y = Ax 模型:y=Ax 初始化: r = y , Ω n = 0 初始化:r = y,\Omega_n = \bm0 初始化:r=yΩn=0MPOMP
1. 求相关度(内积) n = arg ⁡ max ⁡ n = 1 , 2 , 3 ⋅ ⋅ ⋅ < A ( : , n ) , r > n = \arg\mathop{\max}\limits_{n=1,2,3···} <A(:,n) , r> n=argn=1,2,3⋅⋅⋅max<A(:,n),r> n = arg ⁡ max ⁡ n = 1 , 2 , 3 ⋅ ⋅ ⋅ < A ( : , n ) , r > n = \arg\mathop{\max}\limits_{n=1,2,3···} <A(:,n) , r> n=argn=1,2,3⋅⋅⋅max<A(:,n),r> Ω n = Ω n ∪ n \Omega_n = \Omega_n \cup n Ωn=Ωnn
2. 估计x x n ^ = < A ( : , n ) , r > \widehat{x_n} = <A(:,n) , r> xn =<A(:,n),r> x ( : , Ω n ) ^ = < A † ( : , Ω n ) , r > \widehat{x(:,\Omega_n)} = <A^\dagger(:,\Omega_n) , r> x(:,Ωn) =<A(:,Ωn),r>
3. 更新残差 r = y − A ( : , n ) ⋅ x n ^ r = y - A(:,n)·\widehat{x_n} r=yA(:,n)xn r = y − A ( : , Ω n ) ⋅ x ( : , Ω n ) ^ = A ⋅ x ^ r = y - A(:,\Omega_n)·\widehat{x(:,\Omega_n)} = A·\widehat{x} r=yA(:,Ωn)x(:,Ωn) =Ax

第一步:MP和OMP求解相同。

第二步:MP将最大的内积直接作为估计得到的x,A中仅包含当前被选择的列向量(原子);而OMP通过最小二乘法求解,A中包含所有已被选择的列向量。(两者都是一种近似,和投影相关,内积的几何意义是投影,最小二乘也一样,下边几何图更容易明白)。

第三步:MP根据当前选择的向量更新残差,仅能保证残差与当前列向量正交,后续选择可能重复操作,收敛速度慢;而OMP根据所有被选择过的列向量,可以保证残差与所有被选择过的列向量正交,加速收敛。

2 几何意义

在这里插入图片描述

第一副图是MP的几何意义
y = Ax,无法求解,那么就来求解将y近似为p的p = Ax。其中内积等于投影的长度(A中列向量都是归一化的),具体理解可以根据图下方的两行公式,这里就不在重复书写了。

第二副图是OMP的几何意义
y同样是近似为投影p,只是这个投影是y投影到a1和a3所在的面上,而非单个向量。后边的求解也正好对应最小二乘法的过程,详情可参考:一文让你彻底搞懂最小二乘法(超详细推导)

其他MP和OMP相关的博文就不放了,知乎和CSDN搜索关键词会有很多,需要深入学习的话可以多参考一些,会发现大佬们各自不同的见解,非常值得学习。

本人对相关研究尚浅,可能有错误的地方,烦请指点。

2023.12.28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cc小跟班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值