OMP in Python, strange results

While some other experiments were running, I spent some time this weekend learning Python so I can explore the possibilities of running my code run faster, and outside of MATLAB. Alejandro let me know about the work being done by Vlad here on optimizing OMP. So, as a first step, I pieced together the code here, and computed the phase transition of OMP for sparse signals distributed Gaussian. I am using the implementation of OMP that is a part of scikitlearn, and decomposing up to the sparsity of the signal. Below is the empirical phase transition for 800 dimensional signals (100 trials at each pair), and exact recovery defined as \(\|\vx – \hat\vx\|_2^2 < 10^{-2}\|\vx\|_2^2\). Except for the speed at which this code computed the results, something is not right here! Increasing the number of measurements should never hurt recovery.

OMPscikit.png
Tonight I will have a closer look at that OMP implementation. My other MATLAB experiments are still running!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s