Example 6: Lasso is -robust
ProvedXuMannorRobust.Lasso.example6_lasso_robustLet be a compact subset of , whose points are written with and , and let . Let be a Lasso algorithm: for every training set , is a solution of
and let the loss be . Then for every the Lasso is
Together with the paper's Theorem 1 this gives a generalization bound for the Lasso that holds for every selection of a minimizer.
Formalization Note is ℝ × (Fin m → ℝ), whose Lean norm is the maximum of the absolute values of the coordinates, i.e. . The covering number is Mathlib's Metric.coveringNumber (closed balls, centres in ) at radius Real.toNNReal (γ/2), converted to ℕ with toNat; its finiteness is not assumed but follows from compactness. The algorithm is any function returning a Lasso minimizer for every training set; is assumed explicitly.
import Mathlib import Definitions.Def_XuMannorRobust_Lasso_IsRobustOn import Definitions.Def_XuMannorRobust_Lasso_LassoFormulation import Definitions.Def_XuMannorRobust_Lasso_LassoLoss
namespace XuMannorRobust.Lasso
/-- **Example 6 (Lasso)** (Xu & Mannor 2012, p. 404). Let `Z ⊆ ℝ × ℝ^m` (a copy of `ℝ^{m+1}`
carrying the `ℓ_∞` norm) be compact, `c > 0`, and let `A` be any algorithm that returns, for each
training set `s`, a solution `A_s` of the Lasso (5). With the loss `l(w, z) = |z^{(y)} − w^⊤ z^{(x)}|`,
`A` is `(N(γ/2, Z, ‖·‖_∞), (Y(s)/c + 1)γ)`-robust for every `γ > 0`, where
`Y(s) = (1/n) ∑_{i=1}^n [s_i^{(y)}]²`. -/
theorem example6_lasso_robust {m n : ℕ} (Z : Set (ℝ × (Fin m → ℝ))) (hZ : IsCompact Z)
(c : ℝ) (hc : 0 < c) (A : (Fin n → ℝ × (Fin m → ℝ)) → (Fin m → ℝ))
(hA : ∀ s, IsLassoSolution c s (A s)) (γ : ℝ) (hγ : 0 < γ) :
IsRobustOn Z lassoLoss A (Metric.coveringNumber (Real.toNNReal (γ / 2)) Z).toNat
(fun s => (meanSqResponse s / c + 1) * γ) := by sorry
end XuMannorRobust.Lasso
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.