Fork me on github

岭回归的解析解

岭回归(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伪逆。

posted @ 2024-02-19 02:13  fang-d  阅读(905)  评论(0)    收藏  举报