Lecture 8: February 9

Similar documents
Proximal Gradient Descent and Acceleration. Ryan Tibshirani Convex Optimization /36-725

Lecture 9: September 28

Lecture 1: September 25

Subgradient Method. Guest Lecturer: Fatma Kilinc-Karzan. Instructors: Pradeep Ravikumar, Aarti Singh Convex Optimization /36-725

Subgradient Method. Ryan Tibshirani Convex Optimization

ECE G: Special Topics in Signal Processing: Sparsity, Structure, and Inference

Agenda. Fast proximal gradient methods. 1 Accelerated first-order methods. 2 Auxiliary sequences. 3 Convergence analysis. 4 Numerical examples

Fast proximal gradient methods

Optimization methods

Optimization methods

Selected Topics in Optimization. Some slides borrowed from

Gradient Descent. Ryan Tibshirani Convex Optimization /36-725

6. Proximal gradient method

Lasso: Algorithms and Extensions

6. Proximal gradient method

Gradient descent. Barnabas Poczos & Ryan Tibshirani Convex Optimization /36-725

Lecture 17: October 27

Conditional Gradient (Frank-Wolfe) Method

Stochastic Gradient Descent. Ryan Tibshirani Convex Optimization

Lecture 5: Gradient Descent. 5.1 Unconstrained minimization problems and Gradient descent

Lecture 5: September 15

Numerical Linear Algebra Primer. Ryan Tibshirani Convex Optimization /36-725

Frank-Wolfe Method. Ryan Tibshirani Convex Optimization

Dual Proximal Gradient Method

1 Sparsity and l 1 relaxation

Lecture 5: September 12

Proximal Newton Method. Zico Kolter (notes by Ryan Tibshirani) Convex Optimization

Newton s Method. Ryan Tibshirani Convex Optimization /36-725

Master 2 MathBigData. 3 novembre CMAP - Ecole Polytechnique

Lecture 7: September 17

Dual methods and ADMM. Barnabas Poczos & Ryan Tibshirani Convex Optimization /36-725

Uses of duality. Geoff Gordon & Ryan Tibshirani Optimization /

Numerical Linear Algebra Primer. Ryan Tibshirani Convex Optimization

Newton s Method. Javier Peña Convex Optimization /36-725

Adaptive Restarting for First Order Optimization Methods

Proximal Newton Method. Ryan Tibshirani Convex Optimization /36-725

10-725/36-725: Convex Optimization Spring Lecture 21: April 6

Lecture 23: November 21

Lecture 23: November 19

Descent methods. min x. f(x)

MATH 829: Introduction to Data Mining and Analysis Computing the lasso solution

Coordinate Update Algorithm Short Course Proximal Operators and Algorithms

Optimization for Learning and Big Data

CPSC 540: Machine Learning

This can be 2 lectures! still need: Examples: non-convex problems applications for matrix factorization

Gradient Descent. Lecturer: Pradeep Ravikumar Co-instructor: Aarti Singh. Convex Optimization /36-725

Improving the Convergence of Back-Propogation Learning with Second Order Methods

Stochastic Optimization: First order method

5. Subgradient method

SIAM Conference on Imaging Science, Bologna, Italy, Adaptive FISTA. Peter Ochs Saarland University

Lecture 6: September 12

1. Gradient method. gradient method, first-order methods. quadratic bounds on convex functions. analysis of gradient method

MATH 680 Fall November 27, Homework 3

Coordinate descent. Geoff Gordon & Ryan Tibshirani Optimization /

Generalized Conditional Gradient and Its Applications

Regression Shrinkage and Selection via the Lasso

Lecture 25: November 27

Unconstrained minimization of smooth functions

Supplement to A Generalized Least Squares Matrix Decomposition. 1 GPMF & Smoothness: Ω-norm Penalty & Functional Data

Optimization. Benjamin Recht University of California, Berkeley Stephen Wright University of Wisconsin-Madison

Accelerated Proximal Gradient Methods for Convex Optimization

9. Dual decomposition and dual algorithms

CPSC 540: Machine Learning

On the interior of the simplex, we have the Hessian of d(x), Hd(x) is diagonal with ith. µd(w) + w T c. minimize. subject to w T 1 = 1,

A Unified Approach to Proximal Algorithms using Bregman Distance

Lecture 5 : Projections

Sparse regression. Optimization-Based Data Analysis. Carlos Fernandez-Granda

ECE 8201: Low-dimensional Signal Models for High-dimensional Data Analysis

ECS289: Scalable Machine Learning

Convex Optimization Lecture 16

Alternating Direction Method of Multipliers. Ryan Tibshirani Convex Optimization

Lecture 14: October 17

Lecture 9: Numerical Linear Algebra Primer (February 11st)

Math 273a: Optimization Subgradient Methods

Regression.

Lecture 8: Linear Algebra Background

Dual and primal-dual methods

Sparsity Regularization

NOTES ON FIRST-ORDER METHODS FOR MINIMIZING SMOOTH FUNCTIONS. 1. Introduction. We consider first-order methods for smooth, unconstrained

ORIE 4741: Learning with Big Messy Data. Proximal Gradient Method

STA141C: Big Data & High Performance Statistical Computing

r=1 r=1 argmin Q Jt (20) After computing the descent direction d Jt 2 dt H t d + P (x + d) d i = 0, i / J

min f(x). (2.1) Objectives consisting of a smooth convex term plus a nonconvex regularization term;

Convex Optimization. (EE227A: UC Berkeley) Lecture 15. Suvrit Sra. (Gradient methods III) 12 March, 2013

The Proximal Gradient Method

EE 546, Univ of Washington, Spring Proximal mapping. introduction. review of conjugate functions. proximal mapping. Proximal mapping 6 1

Optimization for Machine Learning

Homework 4. Convex Optimization /36-725


ECE G: Special Topics in Signal Processing: Sparsity, Structure, and Inference

Proximal methods. S. Villa. October 7, 2014

10-725/36-725: Convex Optimization Prerequisite Topics

Journal Club. A Universal Catalyst for First-Order Optimization (H. Lin, J. Mairal and Z. Harchaoui) March 8th, CMAP, Ecole Polytechnique 1/19

A Multilevel Proximal Algorithm for Large Scale Composite Convex Optimization

Shiqian Ma, MAT-258A: Numerical Optimization 1. Chapter 3. Gradient Method

Lecture 6 : Projected Gradient Descent

Coordinate Descent and Ascent Methods

Accelerated Dual Gradient-Based Methods for Total Variation Image Denoising/Deblurring Problems (and other Inverse Problems)

Lecture 14: Newton s Method

Proximal and First-Order Methods for Convex Optimization

Transcription:

0-725/36-725: Convex Optimiation Spring 205 Lecturer: Ryan Tibshirani Lecture 8: February 9 Scribes: Kartikeya Bhardwaj, Sangwon Hyun, Irina Caan 8 Proximal Gradient Descent In the previous lecture, we learned about subgradient method in which we choose an initial x (0) R n and then repeat for a convex f: x (k) = x (k ) t k g (k ), k =, 2, 3, ; where g (k ) f(x (k ) ) We also learned about the convergence rate of usual (batch) and stochastic subgradient methods In particular, batch method has a convergence rate of O(G 2 batch /ɛ2 ), while cyclic and randomied methods have convergence rates of O(m(mG) 2 /ɛ 2 ) and O(mG 2 /ɛ 2 ) respectively This implies that for non-smooth functions subgradient method achieves a lower bound of O( ɛ 2 ) which is very slow Now consider a function f that can be decomposed into two functions as follows: f(x) = g(x) + h(x) (8) where, g is convex, differentiable and dom(g) = R n Also, h is convex and not necessarily differentiable, but is simple In this lecture, we will learn that for a function f satisfying above conditions, we can recover a convergence rate of O( ɛ ) 8 Decomposable functions For a differentiable function f, recall that the gradient update x + = x t f(x) is derived using quadratic approximation (replace 2 f(x) by t I): x + = argmin f(x) + f(x) T ( x) + 2t x 2 2 }{{} f t() (82) For a decomposable function f(x) = g(x) + h(x) described above (Equation 8), let us use this quadratic approximation for the differentiable function g Then, x + = argmin = argmin = argmin g t () + h() g(x) + g(x) T ( x) + 2t x 2 2 + h() 2t (x t g(x)) 2 2 + h() (83) The first term here signifies staying close to the gradient update for g while at the same time, making the value of h small using the second term 8-

8-2 Lecture 8: February 9 82 Proximal Mapping and Proximal Gradient Descent Next, we define proximal mapping as a function of h and t as follows: prox h,t (x) = argmin 2t x 2 2 + h() (84) Now, using Equation 84, Equation 83 can be written as: x + = argmin = prox h,t (x t g(x)) 2t (x t g(x)) 2 2 + h() (85) For simplicity, from here onwards we will write proximal map as a function of t alone Therefore, proximal gradient descent can be defined as follows Choose initial x (0) and then repeat: x (k) = prox tk (x (k ) t k g(x (k ) )), k =, 2, 3, (86) This can be further expressed in a more familiar form: where G t is a generalied gradient of f, x (k) = x (k ) t k G tk (x (k ) ) (87) G t (x) = x prox t(x t g(x)) t (88) Key Points: Proximal mapping prox t ( ) can be computed analytically for a lot of important h functions The mapping prox t ( ) doesn t depend on g at all, only on h This also means that g can be a complicated function; all we need to do is to compute its gradient Each iteration of proximal gradient descent evaluates prox t ( ) once which can be cheap or expensive depending on h 83 Iterative soft-thresholding algorithm (ISTA) For a given y R n, X R n p, the lasso criterion is given by: f(β) = 2 y Xβ 2 2 + λ β }{{}}{{} g(β) h(β) (89) The proximal mapping for the lasso objective is computed as follows: prox t (β) = argmin R n 0 argmin R n 0 = S λt (β) 2t β 2 2 + λ 2 β 2 2 + λt (80)

Lecture 8: February 9 8-3 Figure 8: Example of proximal gradient descent (ISTA) vs subgradient method convergence rates where, from last lecture, we know that S λ (β) is the soft-thresholding operator given by: β i λ if β i > λ [S λ (β)] i = 0 if λ β i λ β i + λ if β i < λ (8) Therefore, the proximal map for lasso objective is calculated by soft-thresholding β by amount λt Next, we use the gradient of g, g(β) which is same as the gradient of least squares function, ie g(β) = X T (y Xβ) From this, we obtain the following proximal gradient update (using Equations 85, 80, 8): β + = S λt (β + t X T (y Xβ)) (82) This simple algorithm calculates the lasso solution and is known as Iterative soft-thresolding algorithm (ISTA) Fig 8 shows the comparison between subgradient method and the proximal gradient descent (ISTA) for computing lasso solutions Clearly, the proximal gradient descent approach is much faster 84 Convergence Analysis For a criterion f(x) = g(x) + h(x), we make the following assumptions: The function g is convex, differentiable, dom(g) = R n, and g is Lipschit continuous with L > 0 The function h is convex and its proximal map (Equation 84) can be evaluated Then, we have the following Theorem: Theorem 8 Proximal gradient descent with fixed step sie t /L satisfies f(x (k) ) f x(0) x 2 2 2tk (83)

8-4 Lecture 8: February 9 This implies that the proximal gradient descent has a convergence rate of O(/k) or O(/ɛ) Proximal gradient descent up till convergence analysis has already been scribed 85 Backtracking Line Search Backtracking line search for proximal gradient descent is similar to gradient descent but operates on g, the smooth part of f First fix a parameter 0 < β <, and at each iteration, start with t =, and while g(x tg t (x)) > g(x) t g(x) T G t (x) + t 2 G t(x) 2 2 (84) shrink t = βt Else, perform proximal gradient update Under the same assumptions we used in the original proximal gradient method s convergence analysis: The function g is convex, differentiable, dom(g) = R n, and g is Lipschit continuous with L > 0 The function h is convex and its proximal map (Equation 84) can be evaluated we get the same convergence rate as before: where t min = min{, β/l} f(x (k) ) f x(0) x 2 2 2t min k (85) 82 Examples 82 Matrix Completion This was famously used in the fairly recent Netflix Prie competition Given a matrix Y R m n where you only observe the entries Y ij, (i, j) Ω Suppose we want to fill in missing entries (eg for a recommender system), so we solve a matrix completion problem: min B R m n 2 where B tr is the trace (nuclear) norm of B: B tr = (i,j) Ω (Y ij B ij ) 2 + λ B tr (86) r σ i (B) = trace( B T B) (87) i= and r = rank(b) and σ (B) σ r (B) 0 are singular values of matrix X In short, this is a tracenorm-regularied entry-wise square-loss minimiation problem The trace norm is a convex relaxation of the rank equality constraint! { B ij (i, j) Ω Now, define P Ω (B) =, which is the projection operator onto an observed index set Ω Then, 0 (i, j) Ω the criterion is: f(b) = 2 P Ω(Y ) P Ω (B) 2 F + λ B tr (88)

Lecture 8: February 9 8-5 the sum of g(b) and h(b); this is just a matrix representation of 86! Now, the two ingredients needed for proximal gradient descent are the gradient of the smooth part g and the prox function: Gradient: g(b) = (P Ω (Y ) P Ω (B)) Prox Function: prox t (B) = argmin Z R 2t B Z 2 F + λ Z tr (89) m n We claim that prox t (B) = S λt (B), the matrix soft-thresholding at the level λt, where for the SVD B = UΣV T and diagonal Σ λ such that S λ (B) = UΣ λ V T (820) (Σ λ ) ii = max{σ ii λ, 0} (82) Subgradient optimality tells us that the optimal solution to 88 should satisfy, for some 0 Z B + λt Z tr (822) So, let s set Z = S λt (B) and see that this indeed 822 Denoting the SVD of B and B = UΣV T, we can see that the soft-thresholded version Z has a singular value decomposition of UΣ λt V T where Σ λt has diagonal elements thresholded above at λt (this is directly from the definition of the soft-thresholding operator S λt ) Plugging the SVD into 822, we need only verify the following: 0 UΣ λt V T UΣV T + λt UΣ λt V T (823) [ UΣV T UΣ λt V T ] UΣ λt V T (824) λt Take the left hand side and rearrange to make λt UΣV T UΣ λt V T = UV T + λt U(Σ Σ λt I)V T = UV T + W (825) λt Because the soft thresholding operation on B = UΣV T gives: Σ λt = diag ( (Σ λt) +, (Σ 22 λt) +, ) (826) we can verify the following λt [Σ (Σ λt) + ] 0 λt (Σ Σ λt λt) I = [Σ 22 (Σ 22 λ) + ] 0 I (827) 0 0 0 0 λt min[λt, Σ ] 0 λt = min[λt, Σ 22] 0 I (828) 0 0 0 0 min[, Σ λt ] min[, Σ22 λt = ] 0 (829) 0 0 0 0

8-6 Lecture 8: February 9 whose diagonal entries are all smaller than 0 so that W op 0 It is easy to see that U T W = W V = 0 Therefore, the left hand side of 824 is indeed a subgradient of the trace norm of Z (right hand side of 824): [ UΣV T UΣ λt V T ] = U T V + W UΣ λt V T λt (830) = {UV T + W 0 : W op, U T W 0 = 0, W 0 V = 0} (83) where the proof of the last equality can be found in this paper Using this, we can see that the proximal gradient update step is: B + = S λt (B + t(p Ω (Y ) P Ω (B))) (832) We can also see that g(b) is Lipschit continuous with L =, so we can choose fixed step sie t = for a simpler fixed-step proximal update with proved rate O(/ɛ) The update is now: B + = S λt ( t(pω (Y ) P Ω (B)) ) (833) where P ( ) projects onto the unobserved set This is the soft-impute algorithm, a simple and effective method for matrix completion 83 Special cases Proximal gradient descent is also called composite gradient descent, or generalied gradient descent The latter is because we can see that special cases of proximal gradient descent give some familiar/interesting forms; when minimiing f = g + h h = 0 gives gradient descent h = I C gives projected gradient descent g = 0 gives proximal minimation algorithm All of these have O(/ɛ) convergence rate Let s examine projected gradient descent 83 Projected gradient Descent Given a closed, convex set C R n, the following two problems are equivalent: where I C (x) = { 0 x C x / C min g(x) min g(x) + I C(x) (834) x C x R n is the indicator function of C The proximal operator is thus prox t (x) = argmin R n 2t x 2 2 + I C () (835) = argmin x 2 2 = P C (x) (836) C

Lecture 8: February 9 8-7 Figure 8: Projected gradient descent is the projection operator onto set C, so that the proximal gradient update step is to, at each step, project the usual gradient update back into the set C (see figure 8) This projected gradient descent update is: x + = P C (x t g(x)) (837) We can also do projected subgradient method in the same way: x + = P C (x tw(x)) (838) for any subgradient w at point x The projection P C is sometimes computationally cheap (or expensive), depending on the set C For instance, projecting onto a Polyhedron {x : Ax b} has no closed form solution, so we need to solve a quadratic problem 835 at each step, which is expensive 832 Proximal minimiation Consider the following problem for h convex (but not necessarily differentiable): The proximal gradient update step is just: x + = prox t (x) = argmin min h(x) (839) 2t x 2 2 + h() (840) which is faster than subgradient method, but not implementable unless we know prox t (x) in closed form

8-8 Lecture 8: February 9 833 What do we do if we can t evaluate proximal operator? In general, all bets are off (in terms of accuracy/ convergence) if you can only do the minimiation in the proximal operation approximately If you can precisely control the errors in the approximation, then you can recover the original convergence rates In practice, this should be done to fairly high precision See 20 Schmidt et al for related work 84 Accelerated Proximal Gradient Method Accelerated proximal gradient descent looks like regular proximal gradient descent, but we have changed the argument passed to the prox operator and the step at which the gradient update is made with respect to g As before, the problem is: min g(x) + h(x), with g convex In regular gradient descent, pass x (k ) t k g(x (k ) ) to the prox operator and move on In accelerated proximal gradient descent, take the last iterate x (k ) and add a momentum term Instead of just evaluating the prox at x (k ), this allows for some of the history to push us a little bit further Choose initial point x (0) = x ( ) R n and repeat (k =, 2, 3, ) v = x (k ) + k 2 k + (x(k ) x (k 2) ) (84) x (k) = prox tk (v t k g(v)) (842) The choice of constant k 2 k+ is very important for the converge of the algorithm Thus, this is taken as a fixed constant (which has to/should be tuned) Although there are other convergence strategies, this is provably convergent At the first step, when k = 2, we are performing regular proximal gradient update After that, we are carrying momentum from previous iterations The momentum weights k 2 k+ as k : Figure 8: Momentum Weights More momentum is applied later on in the steps of the algorithm At the start, the current iterate (x (k ) ) mostly dictates the next step, and as the algorithm proceeds, we are allowing the history to push us more in the direction we are going Why this works (does not tell the whole story):

Lecture 8: February 9 8-9 At later steps in the proximal descent algorithm, the gradient is going to be small because of proximity to the optimum (progress will be slow close to optimality) Acceleration states that if the current iterate is in a good neighborhood of the solution, it s going to continue pushing in that direction, and it it does so more at the later steps of the algorithm (exactly when the gradient is small) When h = 0, this reduces to accelerated gradient descent v = x (k ) + k 2 k + (x(k ) x (k 2) ) (843) x (k) = v t k g(v) (844) This is not the same as taking a longer step because the gradient is evaluated at a different spot Gradient descent converges as a rate of /ɛ and the accelerated version converges much faster, thus there must be a bigger difference Example: The lasso l -penalied problem Figure 82: Lasso example Acceleration can really help! Subgradient method (black): /ɛ 2 convergence rate, the steps are fairly simple ISTA is just proximal gradient descent (red): /ɛ converge rate (a lot faster) FISTA is Nesterov acceleration for gradient descent (blue): / ɛ converge rate There are 3 different regimes of convergence that make a big difference in practice Observe: the blue curve is not monotonically decreasing and exhibits Nesterov ripples this is not a descent method (not guaranteed that we descend the criterion at every iteration, unlike gradient descent) 85 Convergence Analysis We are minimiing f(x) = g(x) + h(x), assuming the following:

8-0 Lecture 8: February 9 g: convex, differentiable, dom(f) = R n g: Lipschit continuous with constant L > 0 h: convex, prox function can be evaluated Theorem 82 Accelerated proximal gradient method with fixed step sie t /L satisfies f(x (k) ) f 2 x(0) x 2 2 t(k + ) 2 (845) Please see Nesterov papers included in the reference list for the proof Acceleration achieves the optimal rate O(/k 2 ) for first-order methods (rate of O(/ɛ 2 )) 86 Backtracking Line Search Backtracking is possible with acceleration, with a strategy similar to what was done in proximal gradient descent One simple method is as follows: Fix β < and t 0 = At iteration k start with t = t k while g(x + ) > g(v) + g(v) T (x + v) + 2t x+ v 2 2 Shrink t = βt else Keep x + end Under the same assumptions as before, we obtain the same convergence rate Theorem 83 Accelerated proximal gradient method with backtracking line search satisfies f(x (k) ) f 2 x(0) x 2 2 t min (k + ) 2, where t min = min{, β/l} (846) One difference between this approach and other strategies is that if we took a certain step sie at step k, then the step can only be smaller at step k + We force ourselves to choose smaller and smaller step sies across iterations 87 Is Acceleration Always Useful? It is generally a very effective speed-up tool, but it s not always the thing to turn to Here are a few things to keep in mind when considering to apply acceleration

Lecture 8: February 9 8-87 Acceleration Not Necessary The gain obtained from acceleration is often diminished when solving many optimiation problems in sequence and when using warm starts In many of these problems here is a penalty parameter, such as in the lasso problem (λ), matrix completion or loss + regularier problems, among others For example, when solving lasso problem for tuning parameter values Warm starting: λ > λ 2 > > λ r When solving for λ, initialie x (0) = 0 and record the solution ˆx(λ ) When solving for λ j, initialie x (0) = ˆx(λ j ), the recorded solution for (λ j ) The number of iterations required is much smaller when using warm starts as compared to when we do arbitrary initialiations This is because we are already close to the solution when we are starting off If we believe that the solution is continuous as a function of the regulariation parameter λ (true in most cases), then the warm starting is already placing us close to the solution (rather than starting at 0) In this context, acceleration doesn t do much compared to just running proximal gradient starting supersedes the need for acceleration (it doesn t hurt, but not worth the trouble) Thus, warm 872 Acceleration and Backtracking Disadvantageous Sometimes backtracking and acceleration can be disadvantageous Example: Matrix completion problem When moving from unaccelerated to accelerated proximal gradient, the prox is evaluated at a different argument Proximal gradient update is B + = S λ (B + t(p Ω P (B))), where S λ is the matrix soft-thresholding operator Here, the proximal operator here is take an SVD and apply soft-thresholding to the singular values Problem with backtracking: One backtracking loop evaluates the generalied gradient G t (x) evaluates prox t (x) across multiple values of t multiple SVDs for matrix completion Problem with acceleration: Acceleration changes the argument passed to the prox operator (v t g(v) instead of x t g(x)) For matrix completion (t = ), this means: B g(b) = P Ω (Y ) + PΩ (B) fast SVD! }{{}}{{} sparse low rank V g(v ) = P Ω (Y ) + }{{} PΩ (V ) }{{} slow SVD sparse not necessarily low rank Thus, acceleration is a useful tool, but should not be expected to always yield better performance

8-2 Lecture 8: February 9 References and Further Reading Nesterov s four ideas (three acceleration methods): Y Nesterov (983), A method for solving a convex programming problem with convergence rate O(/k 2 ) Y Nesterov (988), On an approach to the construction of optimal methods of minimiation of smooth convex functions Y Nesterov (2005), Smooth minimiation of non-smooth functions Y Nesterov (2007), Gradient methods for minimiing composite objective function Extensions and/or analyses: A Beck and M Teboulle (2008), A fast iterative shrinkage-thresholding algorithm for linear inverse problems S Becker and J Bobin and E Candes (2009), NESTA: a fast and accurate first-order method for sparse recovery P Tseng (2008), On accelerated proximal gradient methods for convex-concave optimiation Helpful lecture notes/books: E Candes, Lecture notes for Math 30, Stanford University, Winter 200-20 Y Nesterov (2004), Introductory lectures on convex optimiation: a basic course, Chapter 2 L Vandenberghe, Lecture notes for EE 236C, UCLA, Spring 20-202