RSS feedburner email feedburner Google reader Linked-in Facebook Twitter

Search. Loading...

Recent topics
[ICASSP 2011]
[TV-band access]
[Spectrum sensing]
[About CR patents]

[Calls & conferences]
[Cognitive radio links]

Sites I follow
[Nuit Blanche]
[CRT blog]
[Linda Doyle]


Powered by Blogger

<< Back to blog's front page.

Feb 19, 2010

CVX: Convex optimization made simple

I first discovered the CVX Matlab package when I followed Boyd's course 364a on Convex Optimization at Stanford. I recommend this class to everyone interested in the topic (the videos of the lectures are online for free, and they are quite funny).

My first experience with this convex optimization package was the computation of the rate regions of a Multiple Access Channel and I was amazed how easy was to perform such complicated optimization problems. However the applications of CVX cover all scientific fields were a given optimization must be performed, even if the problem is non-convex it may be possible to relax it into a convex one.

For example currently I've been working in a problem of maximum likelihood estimation of a sparse set of parameters that results into an expression with a norm 0 term in it. The optimization problem can be simplified and relaxed to obtain a convex problem similar to the basis pursuit algorithm presented in [T06].
I will use the algorithm in [T06] to show how simple is the learning curve of CVX. The proposed algorithm is based on a norm 1 penalty:

norm 1 penalty

Writing this optimization problem in Matlab reduces to

   variable b(N,1);
   minimize( 1/2 * square_pos(norm(s-Phi*b,2)) + gamma * norm(b,1) )



Joel A. Tropp. Just Relax: Convex Programming Methods for Identifying Sparse Signals in Noise. IEEE Transactions on Information Theory, 2006.

Labels: , , , , ,


Post a Comment

Note: Only a member of this blog may post a comment.

Subscribe to Post Comments [Atom]

<< Back to blog's front page.