Theorem 3.19, p. 294 — Nesterov's accelerated gradient descent on a convex β-smooth f satisfies f(y_t) − f(x*) ≤ 2β‖x₁ − x*‖²/t²
OpenConvexOptAlg.NesterovSmooth.theorem_3_19Let be convex and -smooth with , and let be a minimizer of . Let , and , and let be generated from an arbitrary initial point by
Then for every ,
This is the accelerated rate of Nesterov's method for smooth convex optimization, which improves on the rate of plain gradient descent (Theorem 3.3) and matches, up to a constant factor, the black-box lower bound of Theorem 3.14.
Formalization Note The gradient is an explicit map with ; convexity is ConvexOn ℝ Set.univ f and is defined on all of (the unconstrained setting of §3.7). That is a minimizer is the book's standing assumption (p. 242); is implicit in the step and is stated. The bound is asserted for every : the page's proof covers , and at the claim follows from the quadratic upper bound (3.4). The algorithm uses in both coefficients of the -update (the page's is a misprint).
import Mathlib import Definitions.Def_ConvexOptAlg_NesterovSmooth_Defs open scoped InnerProductSpace
namespace ConvexOptAlg.NesterovSmooth
/-- Theorem 3.19 (Bubeck, arXiv:1405.4980v2, p. 294): let `f` be convex and β-smooth on `ℝⁿ`
(β > 0) with gradient map `g` and a minimizer `x*`. Then every run of Nesterov's accelerated
gradient descent (§3.7.2) satisfies `f(y_t) − f(x*) ≤ 2β‖x₁ − x*‖²/t²` for every `t ≥ 1`. -/
theorem theorem_3_19 {n : ℕ} (f : EuclideanSpace ℝ (Fin n) → ℝ)
(g : EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin n)) (β : ℝ) (hβ : 0 < β)
(hconv : ConvexOn ℝ Set.univ f) (hf : IsBetaSmooth f g β)
(xstar : EuclideanSpace ℝ (Fin n)) (hmin : ∀ z, f xstar ≤ f z)
(x y : ℕ → EuclideanSpace ℝ (Fin n)) (hrun : IsNesterovRun g β x y) (t : ℕ) (ht : 1 ≤ t) :
f (y t) - f xstar ≤ 2 * β * ‖x 1 - xstar‖ ^ 2 / (t : ℝ) ^ 2 := by sorry
end ConvexOptAlg.NesterovSmooth