Progress on Orthogonal Matching Pursuit

Category: scikit-learn
#omp #orthogonal matching pursuit #scikit-learn

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 !