正交匹配追踪 OMP
什么是正交匹配追踪 (OMP)?
- 一种用于信号处理和数据分析的算法,特别是在稀疏表示和压缩感知领域。OMP 的目的是从一个过完备字典中选择最少数量的原子(即基函数),以最精确地表示给定的信号。这个过程是贪婪算法的一种形式,它在每一步都选择最能减少当前表示误差的原子,可以作为最小角回归等前向特征选择特征选择方法
- OMP 基于贪心算法,该算法在每一步都包含与当前残差最高度相关的原子。它类似于更简单的匹配追踪 (MP) 方法,但更好的是,在每次迭代中,使用在先前选择的字典元素空间上的正交投影重新计算残差
1
2
3
4
5
6
7
8>>> from sklearn.linear_model import OrthogonalMatchingPursuit
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(noise=4, random_state=0)
>>> reg = OrthogonalMatchingPursuit(normalize=False).fit(X, y)
>>> reg.score(X, y)
0.9991...
>>> reg.predict(X[:1,])
array([-78.3854...])