Less Is More: Nyström Computational Regularization
Authors: Alessandro Rudi, Raffaello Camoriano, Lorenzo Rosasco
Published: 2015
Venue: NeurIPS
Link: arXiv
Summary
This paper provides a rigorous analysis of Nyström approximation for kernel ridge regression, showing that subsampling acts as implicit regularization. The key insight is that using fewer landmark points can improve generalization, not just computation.
Key Contributions
1. Computational Regularization
The Nyström method with landmark points introduces implicit regularization equivalent to explicit regularization with:
This means fewer points = stronger regularization.
2. Optimal Subsampling Rate
For optimal generalization with source condition and capacity :
This is fewer than for smooth targets ().
3. Minimax Optimal Rates
The Nyström estimator achieves the same minimax optimal rates as full kernel ridge regression:
while computing in instead of .
Mathematical Framework
Nyström Approximation
Given training points, select landmark points. The approximate kernel matrix:
where is and is .
Nyström Estimator
where:
Equivalent Ridge Problem
The Nyström solution solves a modified ridge regression:
Theoretical Analysis
Bias-Variance Decomposition
Computational Error Bound
The projection error onto the Nyström subspace:
Main Theorem
Theorem: Under source condition , capacity condition , with:
we have:
Algorithm
import numpy as np
def nystrom_krr(X, y, X_landmarks, lambda_reg, kernel_func):
"""
Kernel Ridge Regression with Nyström approximation.
Parameters:
-----------
X : training data (n, d)
y : labels (n,)
X_landmarks : landmark points (m, d)
lambda_reg : regularization parameter
kernel_func : kernel function
Returns:
--------
alpha : coefficients for landmarks
"""
n, m = len(X), len(X_landmarks)
# Compute kernel matrices
K_nm = kernel_func(X, X_landmarks) # (n, m)
K_mm = kernel_func(X_landmarks, X_landmarks) # (m, m)
# Add regularization to K_mm
K_mm_reg = K_mm + (n * lambda_reg / m) * np.eye(m)
# Solve for coefficients
rhs = K_nm.T @ y / n
alpha = np.linalg.solve(K_mm_reg, rhs)
return alpha
def predict(X_test, X_landmarks, alpha, kernel_func):
"""Make predictions with Nyström model."""
K_test = kernel_func(X_test, X_landmarks)
return K_test @ alpha
Sampling Strategies
1. Uniform Sampling
Simple random selection. Works well when data is uniform.
2. Leverage Score Sampling
Sample proportional to:
Better for non-uniform data distributions.
3. K-means Clustering
Use cluster centers as landmarks. Captures data structure.
Complexity Comparison
| Method | Training | Prediction | Memory |
|---|---|---|---|
| Full KRR | |||
| Nyström | |||
| Random Features |
For , Nyström is much faster.
Practical Implications
- Don't use all data: Subsampling can improve generalization
- Adaptive : Choose based on problem difficulty
- Regularization tuning: Less critical when using Nyström
- Scalability: Enables kernel methods on large datasets
Citation
@inproceedings{rudi2015less,
title={Less is more: Nystr{\"o}m computational regularization},
author={Rudi, Alessandro and Camoriano, Raffaello and Rosasco, Lorenzo},
booktitle={Advances in Neural Information Processing Systems},
volume={28},
year={2015}
}
Further Reading
- Williams, C. & Seeger, M. (2000). Using the Nyström method to speed up kernel machines
- Drineas, P. & Mahoney, M. (2005). On the Nyström method for approximating a Gram matrix
- Alaoui, A. & Mahoney, M. (2015). Fast randomized kernel ridge regression