Progress on Orthogonal Matching Pursuit

August 2, 2011


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 […]

Posted in: scikits.learn

SparsePCA in scikits.learn-git

July 19, 2011


I am happy to announce that the Sparse PCA code has been reviewed and merged into the main scikits.learn repository. You can use it if you install the bleeding edge scikits.learn git version, by first downloading the source code as explained in the user’s guide, and then running python install. To see what code […]

Posted in: scikits.learn

K-Means for dictionary learning

July 10, 2011


Dictionary learned with K-Means on the LFW dataset with whitening PCA

One of the simplest, and yet most heavily constrained form of matrix factorization, is vector quantization (VQ). Heavily used in image/video compression, the VQ problem is a factorization where (our dictionary) is called the codebook and is designed to cover the cloud of data points effectively, and each line of is a unit vector. This […]

Image denoising with dictionary learning

July 7, 2011


I am presenting an image denoising example that fully runs under my local scikits-learn fork. Coming soon near you! The 400 square pixels area covering Lena’s face was distorted by additive gaussian noise with a standard deviation of 50 (pixel values are ranged 0-256.) The dictionary contains 100 atoms of shape 4×4 and was trained […]

Dictionary learning sneak peek

June 24, 2011


Closing in on the goal of integrating J. Mairal’s dictionary learning in the scikit, I stitched together a couple of examples. The code is not yet integrated according to our standards, but here is the kind of results you can expect. Here is how a dictionary obtained from 8×8 patches of Lena looks like. Pretty […]

Posted in: Uncategorized

Summer of Code roadmap, part 1

June 12, 2011


After a little busy while, I have graduated and entered the summer vacation, which means time for serious GSoC work. So we had a little conference in order to discuss what will be done and when. We gathered quite a few code snippets since the official start of the project, but it’s now time to […]

Posted in: Uncategorized

First thoughts on Orthogonal Matching Pursuit

May 30, 2011


I am working on implementing the Orthogonal Matching Pursuit (OMP) algorithm for the scikit. It is an elegant algorithm (that almost writes itself in Numpy!) to compute a greedy approximation to the solution of a sparse coding problem: subject to or (in a different parametrization) subject to The second formulation is interesting in that it […]

Posted in: Uncategorized