我正在使用sklearns OrthogonalMatchingPursuit通过KSVD algorithm学习的字典来获取信号的稀疏编码。但是,在拟合过程中,我得到以下RuntimeWarning:
/usr/local/lib/python2.7/dist-packages/sklearn/linear_model/omp.py:391: RuntimeWarning: Orthogonal matching pursuit ended prematurely due to linear
dependence in the dictionary. The requested precision might not have been met.
copy_X=copy_X, return_path=return_path)
在那些情况下,结果确实不令人满意。我没有得到这个警告的要点,因为在稀疏编码中通常有一个不完整的字典,因此在字典中也存在线性依赖性。对于OMP而言,这不应该是一个问题。实际上,如果字典是方矩阵,也会发出警告。
此警告可能还会指出应用程序中的其他问题吗?
最佳答案
问题出在数据向量y
中
omp = OrthogonalMatchingPursuit(n_nonzero_coefs=target_sparsity)
omp.fit(D, y)
它包含数量很少的数字。当我标准化
y
和D
时,拟合将以预期的精度工作。关于python - sklearns OMP中的"Linear dependence in the dictionary"异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42131696/