机器学习14——线性回归
线性回归
回归问题概述
回归是监督学习的一种,用于预测连续值输出。与分类问题(离散输出)不同,回归模型建立输入变量与连续输出变量之间的关系。
- 核心目标:找到最佳拟合模型,最小化预测值与真实值的误差。
- 典型应用:房价预测、销量预测、温度预测等。
线性回归模型
基本形式
对于输入特征 x=[x1,x2,…,xd]T\mathbf{x} = [x_1, x_2, \dots, x_d]^Tx=[x1,x2,…,xd]T,线性回归模型为:
f(x)=w1x1+w2x2+⋯+wdxd+b=wTx+b
f(\mathbf{x}) = w_1 x_1 + w_2 x_2 + \dots + w_d x_d + b = \mathbf{w}^T \mathbf{x} + b
f(x)=w1x1+w2x2+⋯+wdxd+b=wTx+b
- w\mathbf{w}w:权重向量,表示各特征的重要性。
- bbb:偏置项。
最小二乘法(Least Squares)
目标
最小化预测误差的平方和:
E(w,b)=∑i=1m(yi−f(xi))2=∑i=1m(yi−wTxi−b)2
E(\mathbf{w}, b) = \sum_{i=1}^m (y_i - f(\mathbf{x}_i))^2 = \sum_{i=1}^m (y_i - \mathbf{w}^T \mathbf{x}_i - b)^2
E(w,b)=i=1∑m(yi−f(xi))2=i=1∑m(yi−wTxi−b)2
- mmm:样本数量。
- yiy_iyi:真实值。
求解(单变量线性回归)
对 www 和 bbb 求偏导并令导数为零:
∂E(w,b)∂w=2(w∑i=1mxi2−∑i=1m(yi−b)xi)=0∂E(w,b)∂b=2(mb−∑i=1m(yi−wxi))=0
\begin{aligned}
& \frac{\partial E_{(w, b)}}{\partial w}=2\left(w \sum_{i=1}^m x_i^2-\sum_{i=1}^m\left(y_i-b\right) x_i\right)=0 \\
& \frac{\partial E_{(w, b)}}{\partial b}=2\left(m b-\sum_{i=1}^m\left(y_i-w x_i\right)\right)=0
\end{aligned}
∂w∂E(w,b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)=0∂b∂E(w,b)=2(mb−i=1∑m(yi−wxi))=0
得到:
w=∑i=1myi(xi−xˉ)∑i=1mxi2−1m(∑i=1mxi)2b=1m∑i=1m(yi−wxi)xˉ=1m∑i=1mxi
\begin{aligned}
w & =\frac{\sum_{i=1}^m y_i\left(x_i-\bar{x}\right)}{\sum_{i=1}^m x_i^2-\frac{1}{m}\left(\sum_{i=1}^m x_i\right)^2} \\
b & =\frac{1}{m} \sum_{i=1}^m\left(y_i-w x_i\right) \quad \bar{x}=\frac{1}{m} \sum_{i=1}^m x_i
\end{aligned}
wb=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)=m1i=1∑m(yi−wxi)xˉ=m1i=1∑mxi
多变量线性回归
f(xi)=w1xi1+w2xi2+…+wdxid+b f\left(\boldsymbol{x}_i\right)=w_1 x_{i 1}+w_2 x_{i 2}+\ldots+w_d x_{i d}+b f(xi)=w1xi1+w2xi2+…+wdxid+b
写成向量形式:
f(xi)=wTxi+b
f\left(\boldsymbol{x}_i\right)=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_i+b
f(xi)=wTxi+b
表示成矩阵:
y=Xw^
\mathbf{y}=\mathbf{X} \hat{\mathbf{w}}
y=Xw^
其中:
-
X\mathbf{X}X:设计矩阵(每行一个样本,最后一列为1)。
X=(x11x12…x1d1x21x22…x2d1⋮⋮⋱⋮⋮xm1xm2…xmd1)=(x1T1x2T1⋮⋮xmT1) \mathbf{X}=\left(\begin{array}{ccccc} x_{11} & x_{12} & \ldots & x_{1 d} & 1 \\ x_{21} & x_{22} & \ldots & x_{2 d} & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ x_{m 1} & x_{m 2} & \ldots & x_{m d} & 1 \end{array}\right)=\left(\begin{array}{cc} \boldsymbol{x}_1^{\mathrm{T}} & 1 \\ \boldsymbol{x}_2^{\mathrm{T}} & 1 \\ \vdots & \vdots \\ \boldsymbol{x}_m^{\mathrm{T}} & 1 \end{array}\right) X=x11x21⋮xm1x12x22⋮xm2……⋱…x1dx2d⋮xmd11⋮1=x1Tx2T⋮xmT11⋮1
-
w^=[w;b]\hat{\mathbf{w}} = [\mathbf{w}; b]w^=[w;b]:扩展权重向量。
求解:
Ew^=(y−Xw^)T(y−Xw^)=yTy−yTXw^−w^TXTy+w^TXTXw^−2XTy+2XTXw^
\begin{aligned}
E_{\hat{\boldsymbol{w}}}= & (\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^T(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) \\
= & y^T y-y^T X \hat{w}-\hat{w}^T X^T y+\hat{w}^T X^T X \hat{w} \\
& -2 X^T y+2 X^T X \hat{w}
\end{aligned}
Ew^==(y−Xw^)T(y−Xw^)yTy−yTXw^−w^TXTy+w^TXTXw^−2XTy+2XTXw^
令 Ew^=(y−Xw^)T(y−Xw^)E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})Ew^=(y−Xw^)T(y−Xw^) ,对 w^\hat{\boldsymbol{w}}w^ 求导得到
∂Ew^∂w^=2XT(Xw^−y)=0↓ analytical w^=(XTX)−1XTy solution: \begin{array}{ll} & \frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y})=0 \\ & \downarrow \\ \text { analytical } & \hat{\boldsymbol{w}}=\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y} \\ \text { solution: } & \end{array} analytical solution: ∂w^∂Ew^=2XT(Xw^−y)=0↓w^=(XTX)−1XTy
最小二乘法局限性:
-
最小二乘法的损失函数有可能会造成模型过拟合。
-
解析解中 XTX\mathbf{X}^{\mathrm{T}} \mathbf{X}XTX 有可能不是满秩矩阵,逆矩阵不存在
-
样本的特征数远远超过样本数,这样,w^\hat{w}w^ 会有多个解。
正则化方法
L1-norm: ∥w∥1=∣w1∣+∣w2∣+…+∣wd∣=∑i=1d∣wi∣L2-norm: ∥w∥2=w12+w22+…+wd2=(∑i=1dwi2)12 \begin{aligned} & \mathrm{L}_1 \text {-norm: }\|\boldsymbol{w}\|_1=\left|w_1\right|+\left|w_2\right|+\ldots+\left|w_d\right|=\sum_{i=1}^d\left|w_i\right| \\ & \mathrm{L}_2 \text {-norm: }\|\boldsymbol{w}\|_2=\sqrt{w_1^2+w_2^2+\ldots+w_d^2}=\left(\sum_{i=1}^d w_i^2\right)^{\frac{1}{2}} \end{aligned} L1-norm: ∥w∥1=∣w1∣+∣w2∣+…+∣wd∣=i=1∑d∣wi∣L2-norm: ∥w∥2=w12+w22+…+wd2=(i=1∑dwi2)21
岭回归(Ridge Regression)
通过L2正则化防止过拟合:
minw∑i=1m(yi−wTxi)2+α∥w∥22
\min_{\mathbf{w}} \sum_{i=1}^m (y_i - \mathbf{w}^T \mathbf{x}_i)^2 + \alpha \|\mathbf{w}\|_2^2
wmini=1∑m(yi−wTxi)2+α∥w∥22
- α\alphaα:正则化强度,控制权重收缩。
- 特点:所有权重均被压缩,但不会为零。
Lasso回归(Lasso Regression)
通过L1正则化实现特征选择:
minw∑i=1m(yi−wTxi)2+α∥w∥1
\min_{\mathbf{w}} \sum_{i=1}^m (y_i - \mathbf{w}^T \mathbf{x}_i)^2 + \alpha \|\mathbf{w}\|_1
wmini=1∑m(yi−wTxi)2+α∥w∥1
- 特点:部分权重被压缩为零,适合高维数据。
岭回归(Ridge Regression)
求解:
$$
\begin{aligned}
& E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})+\lambda|\hat{\boldsymbol{w}}|2^2 \lambda>0 \
& \quad=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})+\lambda \hat{\boldsymbol{w}}^{\mathrm{T}} \hat{\boldsymbol{w}} \
& =(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})+\lambda \hat{\boldsymbol{w}}^{\mathrm{T}} \boldsymbol{I} \hat{\boldsymbol{w}} \
& \begin{array}{c}
\frac{\partial E{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}}=2 \mathbf{X}^{\mathrm{T}}(\mathbf{X} \hat{\boldsymbol{w}}-\boldsymbol{y})+\lambda \boldsymbol{I} \hat{\boldsymbol{w}}=0 \
\downarrow
\end{array} \
& \begin{array}{c}
\downarrow \
\text { analytical solution: } \quad \hat{\boldsymbol{w}}=\left(\boldsymbol{X}^T \boldsymbol{X}+\lambda \boldsymbol{I}\right)^{-1} \boldsymbol{X}^T \boldsymbol{y} \
\end{array}
\end{aligned}
$$
-
我们不难发现(XTX+λI)\left(\boldsymbol{X}^{\boldsymbol{T}} \boldsymbol{X}+\lambda \boldsymbol{I}\right) \quad(XTX+λI)是满秩矩阵, w^\hat{\boldsymbol{w}}w^ 可以得到解析解
-
因此,岭回归可以解决特征数大于样本数的问题
Lasso回归(Lasso Regression)
loss function: :Ew^=(y−Xw^)T(y−Xw^)+λ∥w^∥1λ>0∥w∥1=∣w1∣+∣w2∣+…+∣wd∣=∑i=1d∣wi∣ \begin{aligned} &\text { loss function: }\\ &\begin{aligned} & : E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})+\lambda\|\hat{\boldsymbol{w}}\|_1 \quad \lambda>0 \\ & \|\boldsymbol{w}\|_1=\left|w_1\right|+\left|w_2\right|+\ldots+\left|w_d\right|=\sum_{i=1}^d\left|w_i\right| \end{aligned} \end{aligned} loss function: :Ew^=(y−Xw^)T(y−Xw^)+λ∥w^∥1λ>0∥w∥1=∣w1∣+∣w2∣+…+∣wd∣=i=1∑d∣wi∣
这个式子可没法直接求导求解,因为:
-
函数在某点可导条件:
1)函数在该点连续
2)函数在该点左右两侧导数都存在并且相等。
而绝对值函数却不满足这个条件:
y=∣ω∣,ω∈Ry′(0−)=−1,y′(0+)=1 \begin{gathered} y=|\omega|, \omega \in R \\ y^{\prime}\left(0^{-}\right)=-1, y^{\prime}\left(0^{+}\right)=1 \end{gathered} y=∣ω∣,ω∈Ry′(0−)=−1,y′(0+)=1
- 采用一种叫做proximal gradient descent method(近端梯度下降法) 去求解。这里不做介绍。
- 同样可以解决特征数大于样本数的问题
稀疏解与特征选择
- 稀疏性:L1 正则化倾向于将不重要特征的权重精确压缩为零。
- 特征选择:若 wj=0w_j = 0wj=0,则特征 xjx_jxj 被模型忽略,实现自动特征选择。
- 示例:
- 原始模型:f(x)=0.3x1+1.7x2−0.5x3+4f(\mathbf{x}) = 0.3x_1 + 1.7x_2 - 0.5x_3 + 4f(x)=0.3x1+1.7x2−0.5x3+4
- Lasso 后:f(x)=0.0x1+1.9x2+0.0x3+3.5f(\mathbf{x}) = 0.0x_1 + 1.9x_2 + 0.0x_3 + 3.5f(x)=0.0x1+1.9x2+0.0x3+3.5 → 特征 x1x_1x1 和 x3x_3x3 被剔除。
**attention:**Lasso和岭回归的区别很好理解,在优化过程中,最优解为函数等值线与约束空间的交集,正则项可以看作是约束空间。可以看出二范的约束空间是一个球形,一范的约束空间是一个方形,这也就是二范会得到很多参数接近0的值,而一范会尽可能非零参数最少。