〈精选申请〉岭回归超参数优化的技巧
Type-0交流数学精选申请计算机科学
复制 <discussion=作品ID>标题</discussion>,可粘贴到物实帖子正文
作品正文
## 岭回归超参数优化的技巧
岭回归本身的最优化是求 **权重向量** 使改良后的损失函数,即 **均方误差 + 𝓁₂ 正则化** 达到最小,通常交由梯度下降等算法完成。而我们在使用岭回归时面对的是另一个最优化问题,求 **学习率**、**梯度下降轮数上限**、**正则化系数 λ₂** 的组合使所得模型在验证集上的误差最小——该过程就属于 **超参数优化(HPO)**。本文介绍一些岭回归超参数优化的技巧和数学原理。
### 1.记号规定
设模型为 $\hat y=\boldsymbol{Xw}+b$.设 $\boldsymbol\theta=\begin{pmatrix}\boldsymbol w\\b\end{pmatrix}$,$\boldsymbol A=\begin{pmatrix}\boldsymbol X&\mathbf 1\end{pmatrix}$,则 $\boldsymbol{Xw}+b=\boldsymbol{A\theta}$.损失函数使用
$$J(\boldsymbol \theta)=\frac1N\|\boldsymbol{A\theta}-\boldsymbol y\|_2^2+\lambda_2\|\boldsymbol w\|_2^2.$$
设 $\boldsymbol P=\begin{pmatrix}\boldsymbol I_D&0\\0&0\end{pmatrix}$,则 $\boldsymbol \theta^T\boldsymbol{P\theta}=\|\boldsymbol w\|_2^2$,所以
$$J(\boldsymbol \theta)=\frac1N\|\boldsymbol{A\theta}-\boldsymbol y\|_2^2+\lambda_2\boldsymbol \theta^T\boldsymbol{P\theta}.$$
### 2.学习率的上界估计
学习率 $\eta$ 选取的重要性体现在如果设置过大,则梯度下降根本不会收敛(程序实现中表现为浮点溢出或最终 MSE 为无穷大);为了效率也不能一味令其趋近 0.因此,我们先估计 $\eta$ 的量级.由于正则化参数未确定,只能先忽略 𝓁₂ 正则化项(对此,造成的误差作为一个近似通常是可接受的,且根据下文不难证明正则化会减小学习率上界).记
$$L(\boldsymbol w)=\frac1N\|\boldsymbol{Xw}-\boldsymbol y\|^2,$$
则
$$\nabla L(\boldsymbol w)=\frac2N\boldsymbol X^\top(\boldsymbol{Xw}-\boldsymbol y).$$
设 $\boldsymbol w^*$ 是最小二乘解(若有多个则任取一个),设 $\boldsymbol e_t=\boldsymbol w_t-\boldsymbol w^*$(下标是经过若干轮梯度下降后的值).接着将初始递推关系
$$\boldsymbol w_{t+1}=\boldsymbol w_t-\eta \nabla L(\boldsymbol w_t),$$
改写为 $\boldsymbol e_i$ 之间的,首先两侧同时减 $\boldsymbol w^*$ 并代入梯度得
$$\boldsymbol e_{t+1}=\boldsymbol e_t-\frac{2\eta}N\boldsymbol X^\top(\boldsymbol{Xw}_t-\boldsymbol y).$$
我们知道
$$\nabla L(\boldsymbol w^*)=\frac2N\boldsymbol X^\top(\boldsymbol{Xw}^*-\boldsymbol y)=0,$$
所以
$$\boldsymbol e_{t+1}=\boldsymbol e_t-\frac{2\eta}N\left[\boldsymbol X^\top(\boldsymbol{Xw}_t-\boldsymbol y)-\boldsymbol X^\top(\boldsymbol{Xw}^*-\boldsymbol y)\right].$$
花括号里的整理为 $\boldsymbol X^\top\boldsymbol X(\boldsymbol w_t-\boldsymbol w^*)=\boldsymbol X^\top\boldsymbol X\boldsymbol e_t$,所以
$$\boldsymbol e_{t+1}=\left(\boldsymbol I-\frac{2\eta}N\boldsymbol X^\top\boldsymbol X\right)\boldsymbol e_t.$$
作特征值分解 $\boldsymbol X^\top\boldsymbol X/N=\boldsymbol Q\boldsymbol\Lambda\boldsymbol Q^\top$,则对每个特征值分别有 $z_{i,t+1}=(1-2\eta\lambda_i)z_{i,t}$.该式收敛的条件是 $|1-2\eta\lambda_i|<1$,所以 $\eta<1/\lambda_i$.该不等式对每个特征值都成立,其中最大的特征值产生最强的约束 $\eta<1/\lambda_{\max}$.
### 3.梯度下降轮数上限的取舍
是否设置上限取决于程序实现和训练数据.前者较容易理解,比如 `sklearn.linear_model.LinearRegression` 没有提供这个参数,自然无法设置,而自己用 `numpy` 实现的算法可以引入这个参数控制运算时间.
另一方面,如果训练数据相对参数较少,则往往需要选择提前终止梯度下降.原因是训练集包含较多验证集中不存在的噪声,如果持续梯度下降直到收敛或接近收敛,则验证集的 MSE 就会 **先减后增**.为了避免后面负收益的迭代轮次,我们应当设定轮数上限.
### 4.正则化参数 λ₂ 的选择
搜索合适的正则化强度最简单的方法(本文暂不介绍更复杂的算法)就是等比地取一系列 λ₂ 的值并分别验证效果,例如
$$\{0.0,1.0\times10^{-3},3.0\times10^{-3},0.01,0.03,0.1,0.3,1.0\}.$$
在初步找到最佳位置后还可以反复缩小区间如此尝试.
如果上一小节中决定对梯度下降轮数不设上限,则变量只有 λ₂ 和 η,但是如果增加上限,则参数组合较多,需要更高效的计算方法.
### 5.多轮梯度下降模拟
首先用和 **2** 中类似的方法可得
$$\boldsymbol \theta_{t+1}=\left[\boldsymbol I-2\eta\boldsymbol M\right]\boldsymbol \theta_t+2\eta\boldsymbol c,$$
其中
$$\boldsymbol M=\frac1N\boldsymbol A^T\boldsymbol A+\lambda_2\boldsymbol P,\quad\boldsymbol c=\frac1N\boldsymbol A^T\boldsymbol y.$$
设最优解为 $\boldsymbol\theta^*$(若有多个则任取一个),满足 $\boldsymbol c=\boldsymbol M\boldsymbol\theta^*$,故
$$
\begin{aligned}
\boldsymbol\theta_{t+1}-\boldsymbol\theta^*&=(\boldsymbol I-2\eta\boldsymbol M)\boldsymbol\theta_t+2\eta\boldsymbol c-\boldsymbol\theta^*\\
&=(\boldsymbol I-2\eta\boldsymbol M)\boldsymbol\theta_t+2\eta M\theta^*-\boldsymbol\theta^*\\
&=(\boldsymbol I-2\eta\boldsymbol M)(\boldsymbol\theta_t-\boldsymbol\theta^*).
\end{aligned}
$$
以此类推得
$$\boldsymbol\theta_t=\boldsymbol\theta^*+(\boldsymbol I-2\eta\boldsymbol M)^t(\boldsymbol\theta_0-\boldsymbol\theta^*).$$
对于对称矩阵 $\boldsymbol I-2\eta\boldsymbol M$,不难用特征值分解计算其高次幂,因此使用上述公式即可一步到位地计算指定梯度下降轮数后权重的状态.
评审结论说明(系统自动判定)
判定原因:已成为精选(自动通过) —— 作品已出现在「精选」名单中,视为通过。
系统自动通过:该作品已由「精选申请」变为「精选」。
作品评分
13.00当前均分(2 人评审)
待通知当前状态
通过建议
评审员身份保密:下表仅显示评审员编号、评分与评审备注,不公开评审员姓名。
最终评审意见
暂无最终评审意见。
评审记录(2)
评审员信息对外保密:仅显示编号;评审备注对所有访客公开。
| 评审员 | 评审时间 | 评分 | 四维明细 | 备注 |
|---|---|---|---|---|
| 评审员#02 | 2026-10-11 02:16 | 13.00 | 知识性 3.5 · 思考深度 3.5 · 行文 3.5 · 其他方面 2.5 | 文章思路清晰,所列举的公式我看了没有问题 |
| 评审员#14 | 2026-10-07 14:53 | 13.00 | 知识性 3.6 · 思考深度 3.3 · 行文 3.5 · 其他方面 2.6 | - |