The algorithm is a row-action method accessing constraint functions one by one and the method is particularly suited for large optimization problems where constraints can be efficiently enumerated[citation needed]. The algorithm works particularly well for regularizers such as the norm, where it converges very quickly because of an error-cancellation effect.[3]
Algorithm
In order to be able to use the Bregman method, one must frame the problem of interest as finding , where is a regularizing function such as .[3]
The Bregman distance is defined as where belongs to the subdifferential of at (which we denoted ).[3][4] One performs the iteration , with a constant to be chosen by the user (and the minimization performed by an ordinary convex optimization algorithm),[3] or , with chosen each time to be a member of .[4]
The algorithm starts with a pair of primal and dual variables. Then, for each constraint a generalized projection onto its feasible set is performed, updating both the constraint's dual variable and all primal variables for which there are non-zero coefficients in the constraint functions gradient. In case the objective is strictly convex and all constraint functions are convex, the limit of this iterative projection converges to the optimal primal dual pair.[citation needed]
In the case of a basis pursuit-type problem , the Bregman method is equivalent to ordinary gradient descent on the dual problem .[5] An exact regularization-type effect also occurs in this case; if exceeds a certain threshold, the optimum value of is precisely the optimum solution of .[3][5]
Applications
The Bregman method or its generalizations can be applied to:
The method has links to the method of multipliers and dual ascent method (through the so-called Bregman alternating direction method of multipliers,[10][7] generalizing the alternating direction method of multipliers[8]) and multiple generalizations exist.
One drawback of the method is that it is only provably convergent if the objective function is strictly convex. In case this can not be ensured, as for linear programs or non-strictly convex quadratic programs, additional methods such as proximal gradient methods have been developed.[citation needed] In the case of the Rudin-Osher-Fatemi model of image denoising[clarification needed], the Bregman method provably converges.[11]
Some generalizations of the Bregman method include:
In the Linearized Bregman method, one linearizes the intermediate objective functions by replacing the second term with (which approximates the second term near ) and adding the penalty term for a constant . The result is much more computationally tractable, especially in basis pursuit-type problems.[4][5] In the case of a generic basis pursuit problem , one can express the iteration as for each component , where we define .[4]
Sometimes, when running the Linearized Bregman method, there are periods of "stagnation" where the residual[clarification needed] is almost constant. To alleviate this issue, one can use the Linearized Bregman method with kicking, where one essentially detects the beginning of a stagnation period, then predicts and skips to the end of it.[4][5]
Since Linearized Bregman is mathematically equivalent to gradient descent, it can be accelerated with methods to accelerate gradient descent, such as line search, L-BGFS, Barzilai-Borwein steps, or the Nesterov method; the last has been proposed as the accelerated linearized Bregman method.[5][9]
Split Bregman
The Split Bregman method solves problems of the form , where and are both convex,[4] particularly problems of the form .[6] We start by rewriting it as the constrained optimization problem , then relax it into where is a constant. By defining , one reduces the problem to one that can be solved with the ordinary Bregman algorithm.[4][6]
^Bregman L. "A Relaxation Method of Finding a Common Point of Convex Sets and its Application to Problems of Optimization". Dokl. Akad. Nauk SSSR, v. 171, No. 5, 1966, p.p. 1019-1022. (English translation: Soviet Math. Dokl., v. 7, 1966, p.p. 1578-1581)
^ abcdBoyd, Stephen; Parikh, Neal; Chu, Eric; Peleato, Borja; Eckstein, Jonathan (19 Nov 2010). "Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers". Foundations and Trends in Machine Learning. 3: 1–122. CiteSeerX10.1.1.722.981. doi:10.1561/2200000016.
^Wang, Huahua; Banerjee, Arindam (13 Jun 2013). "Bregman alternating direction method of multipliers". NIPS'14: Proceedings of the 27th International Conference on Neural Information Processing Systems. 2: 2816–2824. arXiv:1306.3203.