线性模型 -1- 线性回归

2022-08-06 10:50:09 浏览数 (1)

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

基础模型

  • 给定样本 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}=fleft(overrightarrow{mathbf{x}}_{i}right)=overrightarrow{mathbf{w}} cdot overrightarrow{mathbf{x}} _ {i} b 采用平方损失函数, 则在训练集 mathbb{D}上, 模型的损失函数为:

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

问题求解
  • 可以用梯度下降法来求解上述最优化问题的数值解,但是实际上该最优化问题可以通过最小二乘法获得解析解。
  • 令:

  • 损失函数:

  • 则:
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} 的为满秩矩阵时,可得:

  • 其中 left(mathbf{X}^{T} mathbf{X}right)^{-1} mathbf{X}^{T} mathbf{X} 的逆矩阵。
  • 最终学得的多元线性回归模型为:

矩阵非满秩
  • 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 :

lambda>0

  • L_{2} 正则化:此时称作 Ridge Regression :
  • 同时包含 L_{1} , L_{1}正则化:此时称作Elastic Net:

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^{*}
  • 求解:

令.

  • 求解:

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]

​ 最终学得模型:

参考资料

  • http://www.huaxiaozhuan.com/统计学习/chapters/1_linear.html

0 人点赞