当前位置: 首页 > news >正文

机器学习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=1m(yif(xi))2=i=1m(yiwTxib)2

  • mmm:样本数量。
  • yiy_iyi:真实值。

求解(单变量线性回归)

wwwbbb 求偏导并令导数为零:
∂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} wE(w,b)=2(wi=1mxi2i=1m(yib)xi)=0bE(w,b)=2(mbi=1m(yiwxi))=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=1mxi2m1(i=1mxi)2i=1myi(xixˉ)=m1i=1m(yiwxi)xˉ=m1i=1mxi

多变量线性回归

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=x11x21xm1x12x22xm2x1dx2dxmd111=x1Tx2TxmT111

  • 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^==(yXw^)T(yXw^)yTyyTXw^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^=(yXw^)T(yXw^) ,对 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)=0w^=(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: w1=w1+w2++wd=i=1dwiL2-norm: w2=w12+w22++wd2=(i=1dwi2)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=1m(yiwTxi)2+αw22

  • α\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=1m(yiwTxi)2+αw1

  • 特点:部分权重被压缩为零,适合高维数据。

岭回归(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^=(yXw^)T(yXw^)+λw^1λ>0w1=w1+w2++wd=i=1dwi

这个式子可没法直接求导求解,因为:

  • 函数在某点可导条件:

    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.7x20.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_1x1x3x_3x3 被剔除。

**attention:**Lasso和岭回归的区别很好理解,在优化过程中,最优解为函数等值线与约束空间的交集,正则项可以看作是约束空间。可以看出二范的约束空间是一个球形,一范的约束空间是一个方形,这也就是二范会得到很多参数接近0的值,而一范会尽可能非零参数最少。

在这里插入图片描述

http://www.dtcms.com/a/272386.html

相关文章:

  • 前端项目vue3项目集成eslint@9.x跟prettier
  • android TabLayout 标题栏切换 事件拦截
  • 【前端】jQuery动态加载CSS方法总结
  • 2025Datawhale AI夏令营第一期-(1)用AI预测新增用户
  • 01-RabbitMQ消息队列
  • ResolvableType 解密Java泛型反射
  • day01 - 数组part01
  • 【高等数学】第三章 微分中值定理与导数的应用——第二节 洛必达法则
  • 关闭实时防护
  • Qt Creator控件及其用途详细总结
  • LeetCode经典题解:49、字母异位词分组
  • 游戏开发问题记录
  • 数字孪生技术为UI前端赋能:实现产品设计的快速原型验证
  • 小程序开发平台,自主开发小程序源码系统,多端适配,带完整的部署教程
  • Day57
  • 从零开始搭建深度学习大厦系列-2.卷积神经网络基础(5-9)
  • Redis性能基准测试
  • 影刀 RPA:实时追踪网页变化,第一时间推送通知
  • 知微传感Lkam系列线扫轮廓仪SDK例程篇:设置工作逻辑
  • Ubuntu 20.04 下**安装 FFmpeg 5.1
  • TCP 保活(KeepAlive)机制详解
  • 汽车功能安全-软件集成和验证(Software Integration Verification)【验证方法用例导出方法输出物】10
  • Java入门之JDK下载和安装
  • Thrust库介绍与使用
  • 《汇编语言:基于X86处理器》第7章 整数运算(1)
  • 机器人接入AI的发展前景:从开发者视角看技术融合与生态构建
  • JavaScript中的Screen对象:你的屏幕“身份证”
  • 城市规则管理列表实现逻辑
  • 【Note】Linux Kernel 实时技术深入:详解 PREEMPT_RT 与 Xenomai
  • 【React】MQTT + useEventBus 实现MQTT长连接以及消息分发