Since orthogonal matching pursuit (OMP) is an important part of signal processing and therefore crucial to the image processing aspect of dictionary learning, I am currently focusing on optimizing the OMP code and making sure it is stable. OMP is a forward method like least-angle regression, so it is natural to bench them against one another.
This has helped find a couple of bottlenecks. Time has been gained by
preallocating the array to store the Cholesky decomposition. Also, using
the LAPACK potrs
function in order to solve a system of the shape
$latex LL’x=y$ is faster than using solve_triangular
twice.
I am still trying to optimize the code. We are working hard to make sure that scikits.learn contributions are up to standards before merging.
Comments !