我正在使用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)

它包含数量很少的数字。当我标准化yD时,拟合将以预期的精度工作。

关于python - sklearns OMP中的"Linear dependence in the dictionary"异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42131696/

10-12 23:25