Can Matlab do L1 minimization?
22 次查看(过去 30 天)
显示 更早的评论
Hi, I'm trying to implement face recognition algorithm based on sparse representation. It has to do L1 minimization for optimization.
I am using linprog function for L1 minimization, but i'm not sure if matlab actually can solve this or it just gives an approximate solution.
I'm trying to find solution after L1 minimization of x using the constraint Aeq * x = y. lb is the lower bound (set to be zeros)
x1 = linprog(f,[],[],Aeq,y,lb,[],[],[]);
This is actually giving me good results. But I just want to confirm if this is the actual L1 minimization solution or just an approximate solution.
0 个评论
采纳的回答
Richard Brown
2012-4-30
Assming f is all ones, and you're wanting to minimise the 1-norm of x, then your code will be doing what you wish
5 个评论
Richard Brown
2012-4-30
Yes, but you need to set up the problem a bit differently. Here you want to minimise ||A*x - y|| + lambda ||x||, where the second term is called a "regularization" term, with a parameter lambda that you might need to experiment with
更多回答(1 个)
Geoff
2012-4-30
It will do its best to minimise the residual errors. If a real solution exists, it will converge on that. Yes, it's 'approximate' in the sense that there is a termination tolerance value to control how many decimal places you care about. If you want it more exact, set the TolFun option using optimset, and pass your options into linprog.
opts = optimset('linprog');
set( opts, 'TolFun', 1e-12 );
x1 = linprog( f, [], [], Aeq, y, lb, [], [], opts );
2 个评论
SAMVIT MAHARAJ
2015-3-18
Hello, I am also working on the same program. Can you tell me how can I find the recognition rate?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!