机器学习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正则化防止过拟合:
min⁡w∑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正则化实现特征选择:
min⁡w∑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的值,而一范会尽可能非零参数最少。

相关推荐
张较瘦_22 分钟前
[论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
论文阅读·人工智能·软件工程
whabc10037 分钟前
和鲸社区深度学习基础训练营2025年关卡3_Q1(1)
人工智能·深度学习
勤奋的知更鸟42 分钟前
标准化模型格式ONNX介绍:打通AI模型从训练到部署的环节
人工智能·语言模型
hie988941 小时前
采用最小二乘支持向量机(LSSVM)模型预测气象
算法·机器学习·支持向量机
盼小辉丶1 小时前
Transoformer实战——Transformer模型性能评估
人工智能·深度学习·transformer
极限实验室1 小时前
Coco AI 实战(二):摄入MongoDB 数据
人工智能·mongodb
AIGC包拥它1 小时前
AI教学设计助手:生成好教案的Prompt技术实战(一)
人工智能·prompt
SoFlu软件机器人2 小时前
Cursor、飞算JavaAI、GitHub Copilot、Gemini CLI 等热门 AI 开发工具合集
人工智能·github·copilot
isNotNullX3 小时前
实时数仓和离线数仓还分不清楚?看完就懂了
大数据·数据库·数据仓库·人工智能·数据分析
Liudef063 小时前
大语言模型的极限:知识、推理与创造力的边界探析
人工智能·语言模型·自然语言处理