toolbox_optim
所属分类:其他
开发工具:matlab
文件大小:803KB
下载次数:5
上传日期:2020-04-16 22:19:04
上 传 者:
k115
说明: 近端梯度算法,包含多种常见的近端梯度算法
(Proximal gradient method matlab code)
文件列表:
__MACOSX\toolbox_optim\._.dropbox (82, 2010-12-29)
__MACOSX\toolbox_optim\._compute_dual_prox.m (82, 2010-12-28)
__MACOSX\toolbox_optim\._Icon (362425, 2011-01-02)
__MACOSX\toolbox_optim\._perform_admm.m (82, 2010-12-29)
__MACOSX\toolbox_optim\._perform_dr.m (82, 2011-01-02)
__MACOSX\toolbox_optim\._perform_fb.m (82, 2010-12-29)
__MACOSX\toolbox_optim\._perform_fb_strongly.m (82, 2010-12-29)
__MACOSX\toolbox_optim\tests\old\._test_fbstrongly_analysis.m (82, 2010-12-28)
__MACOSX\toolbox_optim\tests\._publish_all.m (82, 2010-12-29)
__MACOSX\toolbox_optim\tests\._test_l1_constraint.m (82, 2010-12-29)
__MACOSX\toolbox_optim\tests\._test_l1_lagrangian.m (82, 2010-12-29)
__MACOSX\toolbox_optim\tests\._test_tv_constraint.m (82, 2010-12-29)
__MACOSX\toolbox_optim\tests\._test_tv_lagrangian.m (82, 2010-12-29)
__MACOSX\toolbox_optim\toolbox\._.DS_Store (82, 2010-12-29)
__MACOSX\toolbox_optim\toolbox\._compute_correlation_error.m (82, 2010-11-13)
__MACOSX\toolbox_optim\toolbox\._compute_operator_norm.m (186, 2010-12-29)
__MACOSX\toolbox_optim\toolbox\._perform_l1ball_projection.m (82, 2010-12-27)
__MACOSX\toolbox_optim\toolbox\._perform_soft_thresholding.m (82, 2010-12-28)
__MACOSX\toolbox_optim\toolbox\._s2v.m (82, 2010-12-29)
__MACOSX\._toolbox_optim (82, 2011-01-03)
toolbox_optim\.dropbox (9, 2010-12-29)
toolbox_optim\compute_dual_prox.m (517, 2010-12-28)
toolbox_optim\Icon (0, 2011-01-02)
toolbox_optim\perform_admm.m (2037, 2010-12-29)
toolbox_optim\perform_dr.m (1211, 2011-01-02)
toolbox_optim\perform_fb.m (2197, 2010-12-29)
toolbox_optim\perform_fb_strongly.m (1352, 2010-12-29)
toolbox_optim\tests\html\test_l1_constraint.html (5416, 2010-12-29)
toolbox_optim\tests\html\test_l1_constraint.png (3619, 2010-12-29)
toolbox_optim\tests\html\test_l1_constraint_01.png (3624, 2010-12-29)
toolbox_optim\tests\html\test_l1_constraint_02.png (5770, 2010-12-29)
toolbox_optim\tests\html\test_l1_lagrangian.html (4719, 2010-12-29)
toolbox_optim\tests\html\test_l1_lagrangian.png (2887, 2010-12-29)
toolbox_optim\tests\html\test_l1_lagrangian_01.png (6565, 2010-12-29)
toolbox_optim\tests\html\test_tv_constraint.html (5782, 2010-12-29)
toolbox_optim\tests\html\test_tv_constraint.png (1920, 2010-12-29)
toolbox_optim\tests\html\test_tv_constraint_01.png (4315, 2010-12-29)
toolbox_optim\tests\html\test_tv_lagrangian.html (5801, 2010-12-29)
... ...
Toolbox for non-smooth convex optimization using first order schemes.
by Gabriel Peyré, www.numerical-tours.com
****** DISCLAIMER ******
This toolbox contains the implementation of what I consider to be fundamental algorithms
for non-smooth convex optimization of structured functions. These algorithms might not be the fasted
(although they certainly are quite efficient), but they all have a simple implementation in term
of black boxes (gradient and proximal mappings, given as callbacks). However, you should have
some knowledge about what is a gradient operator and a proximal mapping in order to be able
to use this toolbox on your own problems. I suggest you have a look at the
"suggested readings" for some more information about all this.
****** CONTENT Of THE TOOLBOX ******
The algorithms are implemented in the functions:
* perform_admm.m
* perform_dr.m
* perform_fb_strongly.m
* perform_fb.m
A useful helper function is compute_dual_prox.m to switch between proximal mapping of the primal and dual functions.
The directory tests/ contains some simple examples of application to TV and L1 minimization.
You can use them as starting point for your own problems. The directory tests/html/ contains the HTML files with the results.
****** PROBLEMS CONSIDERED ******
These schemes are used for the minimization of convex problems that can be split as either
min_x F(x)+G(x) (*)
or
min_x F(K(x)) + G(x) (**)
where F and G are convex functions and K is a linear operator.
The two important quality of a function F is
* Being smooth, i.e. one can compute its gradient nabla F.
* Being proximable, i.e. one can compute its proximal mapping
Prox_{lambda*F}(x) = argmin_{y} 1/2*norm(x-y)^2 + lambda*F(x)
Basic examples of proximable function are function that can be written as
F(x) = sum_i f(x_i)
where x_i is a 1-D or 2-D component of x, and f is a low dimensional function. In this case
Prox_{lambda*F}(x) = ( Prox_{lambda*f}(x_i) )_i
* Being strongly convex (larger than a quadratic function).
Some algorithms make use of the dual function, defined as
F^*(y) = max_x -F(x)
****** ALGORITHMS IMPLEMENTED ******
The algorithms implemented are:
* Forward-backward (FB) splitting schemes (includes classical FB and accelerated schemes
such as Nesterov and FISTA).
==> Works for problem (*), with F smooth and G proximable.
* Preconditonned ADMM scheme
==> Works for problem (**), with F and G proximable.
* Douglas-Rachord (DR) splitting scheme
==> Works for problem (*), with F and G proximable.
* FB on the dual
==> Works for (**) with F proximable, G strongly convex so that one can compute the gradient of G^*.
Both gradients and proximal mappings should be given as callback functions.
****** SUGGESTED READINGS ******
To learn about first order schemes:
* Proximal Splitting Methods in Signal Processing, Patrick L. Combettes and Jean-Christophe Pesquet
* Gradient-Based Algorithms with Applications to Signal Recovery Problems, Amir Beck and Marc Teboulle
To learn more about the connexion with signal and image processing:
* Blind Source Separation: the Sparsity Revolution, Bobin J. a Starck J.-L. a Moudden Y. a Fadili M.J
* A wavelet tour of signal processing, 3rd edition, S. Mallat.
* Numerical Tours of Signal Processing, www.numerical-tours.com
Copyright (c) 2010 Gabriel Peyre
近期下载者:
相关文件:
收藏者: