岭回归(Ridge Regression)是一种带有L2正则项的线性回归模型。相较于许多机器学习模型,岭回归模型的最优参数,可以计算解析解得出。本文介绍了多元、多目标的线性回归和岭回归,并从损失函数出发,通过矩阵微积分,给出了其最优化参数的解析解的推导。
岭回归(Ridge Regression)是一种带有L2正则项的线性回归模型。相较于许多机器学习模型,岭回归模型的最优参数,可以计算解析解得出。本文介绍了多元、多目标的线性回归和岭回归,并从损失函数出发,通过矩阵微积分,给出了其最优化参数的解析解的推导。
多元多目标线性回归
在机器学习中,我们需要建立模型,拟合自变量\(\mathbf{x}\)和目标量\(\mathbf{y}\)的函数关系,其中自变量(特征)常用\(\mathbb{R}^n\)空间上的行向量\(\mathbf{x} = \begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix}\)表示,目标量(标签)也常用\(\mathbb{R}^m\)空间上的行向量\(\mathbf{y} = \begin{bmatrix}y_1 & y_2 & \cdots & y_m\end{bmatrix}\)表示。线性回归的目标是寻找一个由\(\mathbf{x}\)到\(\mathbf{y}\)的线性变换,使得预测值\(\hat{\mathbf{y}}\)最接近真实值\(\mathbf{y}\),其表达式如下:
\[\hat{\mathbf{y}} = \mathbf{x}\mathbf{W}
\]
其中\(\mathbf{W}\in\mathbb{R}^{n\times m}\)为线性回归的权重矩阵。
当然,我们也可以在这样的线性回归中引入偏置项,用\(\mathbb{R}^m\)空间上的的行向量\(\mathbf{b} = \begin{bmatrix}b_1 & b_2 & \cdots & b_m\end{bmatrix}\)表示。此时线性回归的方程变为:
\[\hat{\mathbf{y}} = \mathbf{x}\mathbf{W} + \mathbf{b}
\]
严格地说,这样的引入了偏置项的变换不再是线性变换,而是仿射变换。但是,我们可以拓展向量\(\mathbf{x}\)维度,将\(\mathbb{R}^n\)空间上的行向量\(\mathbf{x}\)拓展为\(\mathbb{R}^{n+1}\)空间上的行向量\(\mathbf{x'} = \begin{bmatrix}x_1 & x_2 & \cdots & x_n & 1\end{bmatrix}\),在更高的维度用线性变换实现仿射变换:
\[\hat{\mathbf{y}} = \mathbf{x'}\mathbf{W'}
= \begin{bmatrix}\mathbf{x} & 1\end{bmatrix}\begin{bmatrix}\mathbf{W} \\ \mathbf{b}\end{bmatrix}
= \begin{bmatrix}x_1 & x_2 & \cdots & x_n & 1\end{bmatrix}\begin{bmatrix}
w_{1,1} & w_{1,2} & \cdots & w_{1,m} \\
w_{2,1} & w_{2,2} & \cdots & w_{2,m} \\
\vdots & \vdots & \ddots & \vdots \\
w_{n,1} & w_{n,2} & \cdots & w_{n,m} \\
b_{1} & b_{2} & \cdots & b_{m} \\
\end{bmatrix}
= \mathbf{x}\mathbf{W} + \mathbf{b}
\]
因此在接下来的讨论中,我们不失一般性地使用\(\hat{\mathbf{y}} = \mathbf{x}\mathbf{W}\)形式的表达式,不再讨论偏置项。
岭回归及其解析解
对于给定的大小为\(N\)的训练数据集\(\mathcal{D} = \{(\mathbf{x}_1, \mathbf{y}_1), (\mathbf{x}_2, \mathbf{y}_2), \cdots, (\mathbf{x}_N, \mathbf{y}_N)\}\),我们可以将所有的样本可以表示为一个\(N \times n\)矩阵\(\mathbf{X}\):
\[\mathbf{X} = \begin{bmatrix}
\mathbf{x}_1 \\
\mathbf{x}_2 \\
\vdots \\
\mathbf{x}_N
\end{bmatrix}
\]
其中\(n\)为特征数量(行向量\(\mathbf{x} = \begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix}\)的长度)。
类似地,所有的目标量\(\mathbf{y}\)也可以写成一个\(N\times m\)的矩阵:
\[\mathbf{Y} = \begin{bmatrix}
\mathbf{y}_1 \\
\mathbf{y}_2 \\
\vdots \\
\mathbf{y}_N
\end{bmatrix}
\]
其中\(m\)为目标量的数量(行向量\(\mathbf{y} = \begin{bmatrix}y_1 & y_2 & \cdots & y_m\end{bmatrix}\)的长度)。
我们希望利用线性回归,通过在给定的训练集\(\mathbf{X}\)上找到对权重\(\mathbf{W}\)的最优估计\(\hat{\mathbf{W}}\),预测\(\mathbf{Y}\)的值:
\[\hat{\mathbf{Y}} = \mathbf{X}\hat{\mathbf{W}}
\]
且让预测值\(\hat{\mathbf{Y}}\)尽可能地接近真实值\(\mathbf{Y}\)。其中,\(\mathbf{X} \in \mathbb{R}^{N \times n}\),\(\hat{\mathbf{Y}} \in \mathbb{R}^{N \times m}\)且\(\mathbf{W} \in \mathbb{R}^{n \times m}\) 。
我们引入带有正则化(regularization)项的均方损失函数\(\mathcal{L}(\mathbf{X})\)度量预测值\(\hat{\mathbf{Y}}\)与实际值\(\mathbf{Y}\)的相似程度,将这个问题转换为求解\(\mathbf{W}\)使得损失函数:
\[\mathcal{L}(\mathbf{X})
= \lVert\mathbf{Y} - \hat{\mathbf{Y}}\rVert_\mathrm{F}^2 + \gamma\lVert\mathbf{W}\rVert_\mathrm{F}^2
= \lVert\mathbf{Y} - \mathbf{X}\mathbf{W}\rVert_\mathrm{F}^2 + \gamma\lVert\mathbf{W}\rVert_\mathrm{F}^2
\]
最小的问题,即:
\[\hat{\mathbf{W}} = \underset{\mathbf{W}}{\operatorname{argmin}} \mathcal{L}(\mathbf{X})
\]
其中:
\[\lVert\mathbf{A}\rVert_\mathrm{F}
= \sqrt{\operatorname{tr}(\mathbf{A}^\mathsf{T} \mathbf{A})}
= \sqrt{\sum_{i=1}^{m}\sum_{j=1}^{n}a_{i,j}^2} \quad (\mathbf{A} \in \mathbb{R}^{m \times n})
\]
为矩阵\(\mathbf{A}\)的Frobenius范数,\(\gamma\)为一个非负的实数。当\(\gamma\)大于0时,损失函数引入了对权重矩阵\(\mathbf{W}\)的L2正则化项\(\gamma\lVert\mathbf{W}\rVert_\mathrm{F}^2\),这样的线性回归被称为岭回归(Ridge Regression)。
为了求出\(\mathbf{W}\)的解析解,我们对损失函数\(\mathcal{L}(\mathbf{X})\)对矩阵\(\mathbf{W}\)求偏导(标量值函数对矩阵求偏导,等于标量值函数对矩阵的每一个元素求偏导):
\[\begin{aligned}
\frac{\partial\mathcal{L}}{\partial\mathbf{W}} &=
\begin{bmatrix}
\frac{\partial \mathcal{L}}{\partial w_{1,1}} & \frac{\partial \mathcal{L}}{\partial w_{1,2}} & \cdots & \frac{\partial \mathcal{L}}{\partial w_{1,m}} \\
\frac{\partial \mathcal{L}}{\partial w_{2,1}} & \frac{\partial \mathcal{L}}{\partial w_{2,2}} & \cdots & \frac{\partial \mathcal{L}}{\partial w_{2,m}} \\
\vdots & \vdots & \ddots & \vdots \\
\frac{\partial \mathcal{L}}{\partial w_{n,1}} & \frac{\partial \mathcal{L}}{\partial w_{n,2}} & \cdots & \frac{\partial \mathcal{L}}{\partial w_{n,m}} \\
\end{bmatrix} \\
&= \frac{\partial}{\partial\mathbf{W}}\lVert\mathbf{Y} - \mathbf{X}\mathbf{W}\rVert_\mathrm{F}^2 + \gamma\frac{\partial}{\partial\mathbf{W}}\lVert\mathbf{W}\rVert_\mathrm{F}^2 \\
&= -2\mathbf{X}^\mathsf{T}(\mathbf{Y} - \mathbf{X}\mathbf{W}) + 2\gamma\mathbf{W} \\
&= 2(\mathbf{X}^\mathsf{T}\mathbf{X}+\gamma\mathbf{I})\mathbf{W} - 2\mathbf{X}^\mathsf{T}\mathbf{Y}
\end{aligned}
\]
对矩阵求偏导的法则,可以查阅矩阵分析相关的资料。
我们的损失函数\(\mathcal{L}(\mathbf{X})\)是无界的\(\mathbb{R}^{N \times n}\)空间上连续可微的函数,它的极值点仅出现在偏导为零矩阵的驻点(Stationary Point)上。故我们令\(\frac{\partial\mathcal{L}}{\partial\mathbf{W}} = \mathbf{0}\),得到\(\mathbf{W}\)的最优解:
\[\hat{\mathbf{W}} = \underset{\mathbf{W}}{\operatorname{argmin}} \mathcal{L}(\mathbf{X}) = (\mathbf{X}^\mathsf{T}\mathbf{X}+\gamma\mathbf{I})^{-1}\mathbf{X}^\mathsf{T}\mathbf{Y}
\]
特别地,当\(\gamma = 0\)时,该式与不带正则项的线性回归无差别,即:
\[\hat{\mathbf{W}} = (\mathbf{X}^\mathsf{T}\mathbf{X})^{-1}\mathbf{X}^\mathsf{T}\mathbf{Y}
\]
值得一提的是,在实际应用中,\(\mathbf{X}\)往往是列满秩的。此时\((\mathbf{X}^\mathsf{T}\mathbf{X})^{-1}\mathbf{X}^\mathsf{T}\)是实矩阵\(\mathbf{X}\)的Moore-Penrose伪逆。