学习华校专老师的笔记内容,记录线性模型相关知识。
基础模型
- 给定样本 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}上, 模型的损失函数为:
优化目标是损失函数最小化,即:
问题求解
- 可以用梯度下降法来求解上述最优化问题的数值解,但是实际上该最优化问题可以通过最小二乘法获得解析解。
- 令:
- 损失函数:
- 则:
- 令 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}}} 求导, 并令导数为零, 从而得到解析解:
矩阵满秩
- 当 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^{*}
- 求解:
令.
- 求解:
最终学得模型:
参考资料
- http://www.huaxiaozhuan.com/统计学习/chapters/1_linear.html