Mathematical foundations
Proximal Methods, Nonsmooth Objectives, and Sparsity
Learn how subgradients, proximal operators, projections, and composite objectives support sparse and constrained machine-learning problems.
By the end you can
- Distinguish gradients, subgradients, and proximal operators
- Derive the soft-thresholding behavior of an L1 proximal step
- Interpret projection as a proximal operator for a constraint set
- Audit whether sparse coefficients are stable enough to support interpretation
Some useful objectives are not differentiable everywhere
Absolute-value penalties, hinge losses, indicator functions, and group sparsity create corners or discontinuous slopes. Ordinary gradient calculus does not apply at every point. Nonsmooth optimization uses generalized derivatives and specialized update rules. The proximal operator solves a small regularized problem that balances staying near the current point with respecting a nonsmooth penalty. This framework explains soft thresholding, projected steps, and many sparse-learning algorithms.
None of it is recent folklore. The operator at the centre of the lesson is Moreau's proximity operator, from 1965. Everything below is machinery built on that one object: the shrinkage rule, the projected step, the accelerated iteration, and the failure modes of the sparse support it produces. Each piece carries a paper, a date and a number you can check.
Nondifferentiability is a property to model, not a defect to hide.
Case
FISTA, 2009: the same operator, a faster step sequence
The accelerated version has a date, and the acceleration has a size. Beck and Teboulle published FISTA in 2009. Their abstract claims a global rate of convergence “which is proven to be significantly better, both theoretically and practically” than ISTA. On wavelet-based image deblurring they reported FISTA “faster than ISTA by several orders of magnitude”.
Both rates are proved in that one paper, for that one proximal operator. Theorem 3.1 bounds ISTA by F(x_k) − F(x*) <= alpha*L(f)*||x_0 − x*||^2 / (2k), an O(1/k) rate. Theorem 4.4 bounds FISTA by F(x_k) − F(x*) <= 2*alpha*L(f)*||x_0 − x*||^2 / (k+1)^2, an O(1/k^2) rate. Parikh and Boyd state the same pair on their own authority. The proximal gradient method “can be shown to converge with rate O(1/k) when a fixed step size lambda_k = lambda in (0, 1/L] is used”, while the accelerated version “can be shown to converge in objective value with rate O(1/k^2)”. The model did not change. The penalty did not change. The shrinkage step did not change. Only the sequence of points at which the gradient is taken.
Beck and Teboulle print what that is worth in iterations. In the second deblurring experiment: “Moreover, the function value 0.321 obtained at iteration number 100 of FISTA is better than the function values of both ISTA and MTWIST methods at iteration number 200 (0.427 and 0.341, respectively).” MTWIST needed 416 iterations to reach the value FISTA had at 100, and 1102 to reach its 200-iteration value of 0.309. In the noiseless 64x64 test, whose optimum is exactly zero, FISTA reached an accuracy of about 1e-7 after 10,000 iterations. ISTA and MTWIST reached 1e-3 and 1e-4 — accuracies FISTA had already passed at iterations 275 and 468. The gain came from the step sequence, not from a better model.
Visual
A composite objective and its split update
Many ML objectives separate naturally into a smooth data-fit term and a nonsmooth structural penalty. The two-move split below is not a teaching device invented for the diagram. It is a published algorithm with a convergence proof. Daubechies, Defrise and De Mol proposed it in 2003 and published it in 2004, and their abstract gives both the moves and the guarantee: “To compute the corresponding regularized solutions we propose an iterative algorithm that amounts to a Landweber iteration with thresholding (or nonlinear shrinkage) applied at each iteration step. We prove that this algorithm converges in norm.” The result covers weighted l^p penalties with 1 <= p <= 2.
Beck and Teboulle later write the same scheme as ISTA: x_{k+1} = T_{lambda*t}(x_k − 2t A^T (A x_k − b)). One matrix-vector product, then one shrinkage. It belongs to a class of methods “where each iteration involves matrix-vector multiplication involving A and A^T followed by a shrinkage/soft-threshold step”, and they note that the scheme “can be traced back to the proximal forward-backward iterative scheme”, citing the 2004 paper. Gradient move, then proximal move, is a citation, not a metaphor.
- 1
Smooth term f(x)
Provides a gradient, such as squared error or logistic loss.
- 2
Nonsmooth term g(x)
Encodes sparsity, constraints, or robust structure.
- 3
Gradient move
Take x − η∇f(x) using the smooth information.
- 4
Proximal move
Apply proxηg to enforce the structure of g.
Comparison
Gradient, subgradient, and proximal step
Each object tells the step something different about the local shape. A gradient is a single number per coordinate, valid where the function is differentiable. A subgradient is a member of a set of admissible supporting slopes, and at a corner that set has more than one element, so the algorithm must choose. A proximal operator is not a slope at all. It is the solution of a small minimization posed around the current point, which is why it can return an exact zero where no derivative-based rule would.
Gradient
Unique local linear coefficient for a differentiable scalar function.
- Supports ordinary descent
- May not exist at a corner
- Direction depends on coordinates
- Zero gradient is a first-order condition
Subgradient
One supporting slope from a set of valid generalized slopes.
- Defined for convex nonsmooth functions
- Can be non-unique
- Subgradient descent may converge slowly
- Zero in the set supports convex optimality
Proximal operator
Solves a local penalty-aware minimization.
- Handles many penalties exactly
- Can produce sparse updates
- Combines with smooth gradients
- Requires a computable prox
Key idea
L1 sparsity is not automatic feature truth
The lasso has a date. Tibshirani proposed it in 1996. His summary is plain about the mechanism: because of the nature of the constraint it “tends to produce some coefficients that are exactly 0 and hence gives interpretable models”. Zhao and Yu restate the same mechanism a decade later: “Its popularity is largely because the regularization resulting from Lasso's L1 penalty leads to sparse solutions, that is, there are few nonzero estimates (among all possible choices).” Interpretable is a claim about the model, not about the world.
Tibshirani's own worked example shows how aggressive the zeroing is. He fitted the lasso to the Stamey et al. (1989) prostate cancer data with eight standardised predictors: lcavol, lweight, age, lbph, svi, lcp, gleason and pgg45. Generalized cross-validation selected the scaled bound s = 0.44. At that bound, five of the eight coefficients were exactly zero: “The lasso gave non-zero coefficients to lcavol, lweight and svi; subset selection chose the same three predictors.” Two methods agreeing on three predictors out of eight is a reassuring result about the fit. It is not a finding that age, lbph, lcp, gleason and pgg45 are irrelevant to prostate cancer.
How often a selected support is the true support has been measured. Zhao and Yu published that measurement in 2006. They prove that an Irrepresentable Condition on the design, |C_21 (C_11)^-1 sign(beta_(1))| <= 1 - eta, is almost necessary and sufficient for recovery: “This Irrepresentable Condition, which depends mainly on the covariance of the predictor variables, states that Lasso selects the true model consistently if and (almost) only if the predictors that are not in the true model are "irrepresentable" (in a sense to be clarified) by predictors that are in the true model.”
Then they counted how often real-looking designs satisfy it. They sampled 1000 correlation matrices from Wishart(p, p) for each p and q. The share meeting the Strong Irrepresentable Condition falls from 100% at p = 8 with q = p/8 to 19.5% at p = 256 with q = p/8. It reaches 0% for every p >= 128 once q >= 3p/8. At p = 128 with q = 2p/8 it is already below 1%, and at p = 256 it is 0% for every q >= 2p/8. In a separate simulation of 100 designs run 1000 times each, designs with eta_infinity below -0.3 gave “little chance for Lasso to select the true model”.
Read the two experiments together. A zero coefficient means the optimizer preferred zero under the specified objective, the chosen coordinates, and this design's correlation structure. In wide correlated designs, the condition under which that support can be trusted as the true one is met by a minority of designs, or by none at all. Feature standardization and stability analysis come before interpretation, not after it.
Sparse parameters are an optimization result, not a causal discovery certificate.
Example
Soft thresholding for an L1 penalty
The proximal operator of λ|x| has a simple coordinate-wise form, and three independent groups write down the same rule. Parikh and Boyd give it in three cases: (prox_{lambda*f}(v))_i = v_i - lambda if v_i >= lambda, 0 if |v_i| <= lambda, v_i + lambda if v_i <= -lambda. They restate it compactly as prox_{lambda*f}(v) = (v - lambda)_+ - (-v - lambda)_+, and name it in the line before: “This is known as the (elementwise) soft thresholding operator”. Combettes and Wajs give the same map as prox_{gamma*|.|} x = sign(x) * max{|x| - gamma, 0}, and call it “the well-known scalar soft-thresholding (also known as a shrinkage) operation”. Beck and Teboulle write it as the shrinkage operator T_alpha(x)_i = (|x_i| - alpha)_+ * sgn(x_i), sitting after the gradient step inside the ISTA iteration. Three notations, one rule — the steps below.
- Input: Start from a scalar value v after the smooth gradient step — in ISTA, one coordinate of x_k - 2t A^T (A x_k - b) before the shrinkage is applied.
- Threshold: Compare |v| with ηλ. It is the alpha of Beck and Teboulle's T_alpha, the gamma of Combettes and Wajs, and the lambda of Parikh and Boyd: one quantity under three names.
- Shrink: If |v| exceeds the threshold, subtract ηλ from its magnitude and keep the sign — precisely sign(x) * max{|x| - gamma, 0}, and the outer two cases of Parikh and Boyd's three-case form.
- Set to zero: If |v| is below the threshold, the proximal result is exactly zero: the middle case, 0 if |v_i| <= lambda. Zero is the exact minimizer of the small problem the operator solves, not a rounded small number.
- Interpretation: Sparsity arises from the update rule, not from rounding tiny coefficients afterward. The same closed form is what makes the thresholded Landweber iteration and ISTA cheap enough to run for thousands of iterations.
Steps
Recognize a proximal-friendly problem
Whether a composite or constrained method is appropriate is decided in the order below. The last step, testing support stability, is usually left as advice. It has a published procedure and a bound with a number in it.
Meinshausen and Buhlmann set out stability selection in 2008 and revised it in 2009. The procedure is to run the selection method on random subsamples of size floor(n/2) and keep what is selected often enough. Their Theorem 1 bounds the expected number V of falsely selected variables by E(V) <= (1/(2*pi_thr - 1)) * (q_Lambda^2 / p). At the default cutoff pi_thr = 0.9, choosing the regularisation region so that q_Lambda = sqrt(0.8p) controls E(V) <= 1 — one falsely selected variable expected, stated as a quantity. Setting q_Lambda = sqrt(0.8*alpha*p) controls the familywise error rate at level alpha. Their abstract makes the claim in one sentence: “Stability selection provides finite sample control for some error rates of false discoveries and hence a transparent principle to choose a proper amount of regularisation for structure estimation.”
The assumptions are part of the number. The bound holds assuming exchangeability of the noise-variable selection indicators, and assuming the procedure is no worse than random guessing. Shah and Samworth reproduce the same inequality in 2013 — E|S_CPSS ∩ N| <= (1/(2*tau - 1))(q^2/p) — and add that it “is derived under a very strong exchangeability assumption on the selection of noise variables”. Step 6 is therefore not a vague instruction to resample. It is a choice of subsample size, a cutoff, a regularisation region, and an error rate you have agreed to control under conditions you should state.
1. Split the objective
Separate differentiable data fit from structural penalty or constraint.
2. Check convexity
Identify which guarantees depend on convexity and closedness.
3. Derive the prox
Find a closed form or a reliable inner solver.
4. Choose scaling
Set step size and feature units consistently.
5. Monitor optimality
Use objective change, residuals, or gradient mappings.
6. Test support stability
Repeat across folds, seeds, and regularization strengths.
Analogy
Shaping the clay, then pressing it into a mold
A clay part is first moved toward the desired shape, then pressed into a mold that enforces hard edges or removes thin protrusions. The first action follows the smooth design error; the second applies structure. A proximal update works similarly by combining a gradient move with a penalty-aware correction. Alternating the two repeatedly can produce exact zeros or satisfy constraints.
No physical mold performs the second step. The correction is itself a small optimization, trading distance from the gradient point against the penalty, and that is where the split between fit and structure is made.
Composite optimization separates what fits the data from what enforces structure.
Projection is a proximal operator for a constraint
An indicator function is zero inside a feasible set and infinite outside it, and its proximal operator is the closest feasible point. That is not an analogy offered here. It is an equation in the literature. Combettes and Wajs wrote it down in 2005: if phi = iota_C, the indicator of a nonempty closed convex set C, then prox_{gamma*phi} = P_C, the projector onto C. Immediately after it they draw the conclusion in one line: “Proximity operators are therefore a generalization of projection operators.”
Parikh and Boyd repeat the identity. For the indicator of a closed nonempty convex set C, “the proximal operator of f reduces to Euclidean projection onto C”, so that “Proximal operators can thus be viewed as generalized projections”. They also spell out the algorithmic consequence: “When g = I_C, prox_{lambda*g} is projection onto C, in which case (4.6) reduces to the projected gradient method”.
Projected gradient descent is therefore not a separate family of algorithms. It is the composite proximal step with one particular nonsmooth term. That does not make it cheap. The projection may be easy for a box or a simplex and difficult for a complex nonconvex set, and the geometry of “closest” depends on the norm or metric the projection uses. Both surveys trace the operator to the same origin, Moreau in 1965 — Combettes and Wajs describing it as introduced by Moreau “as a generalization of the notion of a convex projection operator”. The relationship in this section is the one the concept was built with, not a later observation about it.
Key takeaways
- Nonsmooth objectives require generalized first-order tools rather than hidden smoothing assumptions; the proximity operator behind them goes back to Moreau in 1965.
- A subgradient is one valid supporting slope and may be non-unique, which is why a corner forces the algorithm to choose where a gradient would not.
- Proximal updates combine smooth descent with exact handling of a structural penalty — the Landweber iteration with thresholding that Daubechies, Defrise and De Mol proposed in 2003 and proved convergent in norm.
- Soft thresholding creates exact zeros through the optimization rule: Parikh and Boyd, Combettes and Wajs, and Beck and Teboulle write one map three ways.
- Projection is the proximal map of an indicator function under a chosen metric — stated in both surveys, and the step that turns the composite method into projected gradient descent.
- Sparse supports require scaling and stability checks before interpretation: Zhao and Yu found the Strong Irrepresentable Condition met by 19.5% of sampled designs at p = 256 with q = p/8 and by none once q >= 3p/8 for p >= 128, while Meinshausen and Buhlmann's Theorem 1 gives E(V) <= 1 at pi_thr = 0.9 with q_Lambda = sqrt(0.8p).