线性模型 -1- 线性回归

本文最后更新于:2022年8月10日 上午

学习华校专老师的笔记内容,记录线性模型相关知识。

基础模型

  • 给定样本 $ \overrightarrow{\mathbf{x}} $, 其中 $ \overrightarrow{\mathbf{x}}=\left(x_{1}, x_{2}, \cdots, x_{n}\right)^{T}, x_{i} $ 为样本 $ \overrightarrow{\mathbf{x}} $ 的第 $ i $ 个特征, 特征有 $ n $ 种。 线性模型( linear model ) 的形式为: $ f(\overrightarrow{\mathbf{x}})=\overrightarrow{\mathbf{w}} \cdot \overrightarrow{\mathbf{x}}+b $ 。
  • 其中 $ \overrightarrow{\mathrm{w}}=\left(w_{1}, w_{2}, \cdots, w_{n}\right)^{T} $ 为每个特征对应的权重生成的权重向量。

优点

  • 模型简单。
  • 可解释性强,权重向量$\overrightarrow{\mathbf{w}}$ 直观地表达了各个特征在预测中的重要性。
  • 很多功能强大的非线性模型(nolinear model) 可以在线性模型的基础上通过引入层级结构或者非线性映射得到。

线性回归

问题定义

  • 给定数据集 $ \mathbb{D}=\left\{\left(\overrightarrow{\mathbf{x}}_{1}, \tilde{y}_{1}\right),\left(\overrightarrow{\mathbf{x}}_{2}, \tilde{y}_{2}\right), \cdots,\left(\overrightarrow{\mathbf{x}}_{N}, \tilde{y}_{N}\right)\right\} $ , 其中 $ \overrightarrow{\mathbf{x}}_{i}=\left(x_{i, 1}, x_{i, 2}, \cdots, x_{i, n}\right)^{T} \in \mathcal{X} \subseteq \mathbb{R}^{n}, \tilde{y}_{i} \in \mathcal{Y} \subseteq \mathbb{R} $
  • 线性回归问题试图学习模型 :$ f(\overrightarrow{\mathbf{x}})=\overrightarrow{\mathbf{w}} \cdot \overrightarrow{\mathbf{x}}+b $

该问题也被称作多元线性回归(multivariate linear regression)

  • 对于每个 $\overrightarrow{ \mathbf{x}} _ {i}$, 其预测值为 $ \hat{y}_{i}=f\left(\overrightarrow{\mathbf{x}}_{i}\right)=\overrightarrow{\mathbf{w}} \cdot \overrightarrow{\mathbf{x}} _ {i}+b$ 采用平方损失函数, 则在训练集 $ \mathbb{D}$上, 模型的损失函数为:
$$ L(f)=\sum_{i=1}^{N}\left(\hat{y}_{i}-\tilde{y}_{i}\right)^{2}=\sum_{i=1}^{N}\left(\overrightarrow{\mathbf{w}} \cdot \overrightarrow{\mathbf{x}}_{i}+b-\tilde{y}_{i}\right)^{2} $$ ​

​ 优化目标是损失函数最小化,即:

$$ \left(\overrightarrow{\mathbf{w}}^{*}, b^{*}\right)=\arg \min _{\vec{w}, b} \sum_{i=1}^{N}\left(\overrightarrow{\mathbf{w}} \cdot \overrightarrow{\mathbf{x}}_{i}+b-\tilde{y}_{i}\right)^{2} $$

问题求解

  • 可以用梯度下降法来求解上述最优化问题的数值解,但是实际上该最优化问题可以通过最小二乘法获得解析解。
  • 令:
$$ \overrightarrow{\tilde{\mathbf{w}}}=\left(w_{1}, w_{2}, \cdots, w_{n}, b\right)^{T}=\left(\overrightarrow{\mathbf{w}}^{T}, b\right)^{T} \\ \overrightarrow{\mathbf{x}}=\left(x_{1}, x_{2}, \cdots, x_{n}, 1\right)^{T}=\left(\overrightarrow{\mathbf{x}}^{T}, 1\right)^{T} \\ \overrightarrow{\mathbf{y}}=\left(\tilde{y}_{1}, \tilde{y}_{2}, \cdots, \tilde{y}_{N}\right)^{T} $$ $$ \mathbf{X}=\left(\overrightarrow{\tilde{\mathbf{x}}}_{1}, \overrightarrow{\mathbf{x}}_{2}, \cdots, \overrightarrow{\tilde{\mathbf{x}}}_{N}\right)^{T}=\left[\begin{array}{c}\overrightarrow{\mathbf{\mathbf { x }}}_{1}^{T} \\ \overrightarrow{\mathbf{\mathbf { x }}}_{2}^{T} \\ \vdots \\ \overrightarrow{\mathbf{x}}_{N}^{T}\end{array}\right]=\left[\begin{array}{ccccc}x_{1,1} & x_{2,1} & \cdots & x_{n, 1} & 1 \\ x_{1,2} & x_{2,2} & \cdots & x_{n, 2} & 1 \\ \vdots & \vdots & \ddots & \vdots & 1 \\ x_{1, N} & x_{2, N} & \cdots & x_{n, N} & 1\end{array}\right] $$
  • 损失函数:
$$ \begin{array}{l} L&=\sum_{i=1}^{N}\left(\overrightarrow{\mathbf{w}} \cdot \overrightarrow{\mathbf{x}}_{i}+b-\tilde{y}_{i}\right)^{2} \\&=\left(\overrightarrow{\mathbf{y}}-\left(\overrightarrow{\mathbf{\mathbf { x }}}_{1}, \overrightarrow{\mathbf{x}}_{2}, \cdots, \overrightarrow{\mathbf{x}}_{N}\right)^{T} \overrightarrow{\tilde{\mathbf{w}}}\right)^{T}\left(\overrightarrow{\mathbf{y}}-\left(\overrightarrow{\mathbf{x}}_{1}, \overrightarrow{\mathbf{x}}_{2}, \cdots, \overrightarrow{\mathbf{x}}_{N}\right)^{T} \overrightarrow{\tilde{\mathbf{w}}}\right)\\ &= (\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{\mathbf{w}}})^{T}\left(\overrightarrow{\mathbf{y}}-\mathbf{X}_{\tilde{\mathbf{w}}}\right) \end{array} $$
  • 则:

$$
\overrightarrow{\mathbf{w}}^{*}=\arg \min _{\overrightarrow{\tilde{w}}}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\mathbf{w}})^{T}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{w}})
$$

  • 令 $ E_{\overrightarrow{\mathbf{w}}}=(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{w}})^{T}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{\mathbf{w}}}) $ 。为求得它的极小值,可以通过对 $ \overrightarrow{\tilde{\mathbf{w}}} $ 求导, 并令导数为零, 从而得到解析解:

$$
\frac{\partial E_{\overrightarrow{\mathbf{w}}}}{\partial \overrightarrow{\tilde{\mathbf{w}}}}=2 \mathbf{X}^{T}(\mathbf{X} \overrightarrow{\tilde{\mathbf{w}}}-\overrightarrow{\mathbf{y}})=\overrightarrow{\mathbf{0}} \Longrightarrow \mathbf{X}^{T} \mathbf{X} \overrightarrow{\tilde{\mathbf{w}}}=\mathbf{X}^{T} \overrightarrow{\mathbf{y}}
$$

矩阵满秩
  • 当$ \mathbf{X}^{T} \mathbf{X} $ 的为满秩矩阵时,可得:

    $$ \overrightarrow{\tilde{\mathbf{w}}}^{*}=\left(\mathbf{X}^{T} \mathbf{X}\right)^{-1} \mathbf{X}^{T} \overrightarrow{\mathbf{y}} $$

    其中 $ \left(\mathbf{X}^{T} \mathbf{X}\right)^{-1} $ 为 $ \mathbf{X}^{T} \mathbf{X} $ 的逆矩阵。

  • 最终学得的多元线性回归模型为:

$$ f\left(\overrightarrow{\mathbf{x}}_{i}\right)=\overrightarrow{\mathbf{w}}^{* T} \overrightarrow{\mathbf{x}}_{i}=\overrightarrow{\mathbf{w}}^{* T} \overrightarrow{\mathbf{x}}_{i}+b^{*} $$
矩阵非满秩
  • 当 $ \mathbf{X}^{T} \mathbf{X} $ 不是满秩矩阵。此时存在多个解析解,他们都能使得均方误差最小化。究竟选择哪个解作为输出,由算法的偏好决定。

比如 $ N<n $ (样本数量小于特征种类的数量),根据 $ \mathbf{X} $ 的秩小于等于 $ N, n $ 中的最小值, 即小于等 于 $ N $ (矩阵的秩一定小于等于矩阵的行数和列数);而矩阵 $ \mathbf{X}^{T} \mathbf{X} $ 是 $ n \times n $ 大小的, 它的秩一定小 于等于 $ N $, 因此不是满秩矩阵。

常见的做法是引入正则化项:

  • $ L_{1} $ 正则化:此时称作 Lasso Regression
$$ \overrightarrow{\tilde{\mathbf{w}}}^{*}=\arg \min _{\overrightarrow{\tilde{w}}}\left[(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\mathbf{w}})^{T}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\mathbf{w}})+\lambda\|\overrightarrow{\mathbf{w}}\|_{1}\right] $$ ​

​ $ \lambda>0 $ 为正则化系数,调整正则化项与训练误差的比例。

  • $ L_{2} $ 正则化:此时称作 Ridge Regression
$$ \overrightarrow{\tilde{\mathbf{w}}}^{*}=\arg \min _{\overrightarrow{\mathbf{w}}}\left[(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\mathbf{w}})^{T}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\mathbf{w}})+\lambda\|\mid \overrightarrow{\mathbf{w}}\|_{2}^{2}\right] $$
  • 同时包含$ L_{1} , L_{1}$正则化:此时称作Elastic Net
$$ \overrightarrow{\tilde{\mathbf{w}}}^{*}=\arg \min _{\overrightarrow{\mathbf{w}}}\left[(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{\mathbf{w}}})^{T}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{\mathbf{w}}})+\lambda \rho\|\overrightarrow{\tilde{\mathbf{w}}}\|_{1}+\frac{\lambda(1-\rho)}{2}\|\overrightarrow{\mathbf{w}}\|_{2}^{2}\right] $$ ​

​ $ \lambda>0 $ 为正则化系数, 调整正则化项与训练误差的比例。

​ $ 1 \geq \rho \geq 0 $ 为比例系数, 调整 $ L_{1} $ 正则化与 $ L_{2} $ 正则化的比例。

算法

多元线性回归算法:

  • 输入:

    • 数据集 $ \mathbb{D}=\left\{\left(\overrightarrow{\mathbf{x}}_{1}, \tilde{y}_{1}\right),\left(\overrightarrow{\mathbf{x}}_{2}, \tilde{y}_{2}\right), \cdots,\left(\overrightarrow{\mathbf{x}}_{N}, \tilde{y}_{N}\right)\right\}, \overrightarrow{\mathbf{x}}_{i} \in \mathcal{X} \subseteq \mathbb{R}^{n}, y_{i} \in \mathcal{Y} \subseteq \mathbb{R} $ $ L_{2} $ 正则化项系数 $ \lambda>0 $
    • $ L_{2} $ 正则化项系数 $ \lambda>0 $
  • 输出模型:

    - $ f(\overrightarrow{\mathbf{x}})=\overrightarrow{\mathbf{w}}^{*} \cdot \overrightarrow{\mathbf{x}}+b^{*} $
  • 算法步骤:

    • 令.

      $$ \begin{array}{c} \overrightarrow{\tilde{\mathbf{w}}}=\left(w_{1}, w_{2}, \cdots, w_{n}, b\right)^{T}=\left(\overrightarrow{\mathbf{w}}^{T}, b\right)^{T} \\ \overrightarrow{\tilde{\mathbf{x}}}=\left(x_{1}, x_{2}, \cdots, x_{n}, 1\right)^{T}=\left(\overrightarrow{\mathbf{x}}^{T}, 1\right)^{T} \\ \qquad \begin{array}{c} \overrightarrow{\mathbf{y}}=\left(\tilde{y}_{1}, \tilde{y}_{2}, \cdots, \tilde{y}_{N}\right)^{T} \\ \mathbf{X}=\left(\overrightarrow{\tilde{\mathbf{x}}}_{1}, \overrightarrow{\mathbf{x}}_{2}, \cdots, \overrightarrow{\mathbf{\mathbf { x }}}_{N}\right)^{T}=\left[\begin{array}{c} \overrightarrow{\mathbf{x}}_{1}^{T} \\ \overrightarrow{\mathbf{x}}_{2} \\ \vdots \\ \overrightarrow{\mathbf{x}}_{N}^{T} \end{array}\right]=\left[\begin{array}{ccccc} x_{1,1} & x_{2,1} & \cdots & x_{n, 1} & 1 \\ x_{1,2} & x_{2,2} & \cdots & x_{n, 2} & 1 \\ \vdots & \vdots & \ddots & \vdots & 1 \\ x_{1, N} & x_{2, N} & \cdots & x_{n, N} & 1 \end{array}\right] \end{array} \end{array} $$
    • 求解:

    $$ \overrightarrow{\tilde{\mathbf{w}}}^{*}=\arg \min _{\overrightarrow{\vec{w}}}\left[(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\mathbf{w}})^{T}(\overrightarrow{\mathbf{y}}-\mathbf{X} \overrightarrow{\tilde{w}})+\lambda\|\mid \overrightarrow{\mathbf{w}}\|_{2}\right] $$ ​
    • 最终学得模型:
$$ f\left(\overrightarrow{\mathbf{x}}_{i}\right)=\overrightarrow{\tilde{\mathbf{w}}}^{* T} \overrightarrow{\mathbf{x}}_{i}=\overrightarrow{\mathbf{w}}^{*} \cdot \overrightarrow{\mathbf{x}}+b^{*} $$

参考资料


线性模型 -1- 线性回归
https://www.zywvvd.com/notes/study/machine-learning/linear-model/linear-regression/
作者
Yiwei Zhang
发布于
2021年9月22日
许可协议