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

机器学习基础 - 回归模型之线性回归

机器学习: 线性回归


文章目录

  • 机器学习: 线性回归
    • 1. 线性回归
      • 1. 简介
      • 2. 线性回归如何训练?
        • 1. 损失函数
        • 2. 正规方程
        • 3. 梯度下降法
        • 4. 两种方法的比较
    • 2. 岭回归
      • 岭回归与线性回归
    • 3. Lasso 回归
    • 4. ElasticNet 回归
    • LWR - 局部加权回归
    • QA
      • 1. 最小二乘法估计
      • 2. 最小二乘法的几何解释
      • 3. 从概率角度看最小二乘法
      • 4. 推一下线性回归的反向传播
      • 5. 什么时候使用岭回归 ?
      • 6. 什么时候使用 L1 正则化?
      • 7. 什么时候使用 L1 正则化?

1. 线性回归

1. 简介

简单来说,线性回归算法就是找到一条直线(一元线性回归)或一个平面(多元线性回归)能够根据输入的特征向量来更好的预测输出y的值。

其本质含义在于 X 与 Y 是线性相关的。
y = θ 0 + θ 1 x 1 + ⋯ + θ p x p = θ T x y = \theta_0 + \theta_1x_1 + \cdots + \theta_px_p = \theta^Tx y=θ0+θ1x1++θpxp=θTx

2. 线性回归如何训练?

在线性回归中, 我们可以通过两种方法来求取参数 θ \theta θ , 一种是采用正规方程, 一种是采用梯度下降方法

1. 损失函数

J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 , 或 矩阵表示 : J ( θ ) = 1 2 m ( X θ − y ) T ( X θ − y ) J(\theta) = \frac{1}{2m} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2, \qquad \\ 或 \\ 矩阵表示: J(\theta) = \frac{1}{2m} (X\theta-y)^T(X\theta - y) J(θ)=2m1i=1m(hθ(x(i))y(i))2,矩阵表示:J(θ)=2m1(y)T(y)

2. 正规方程

我们使用 $J(\theta) $对 θ \theta θ 求导, 得到:
δ J ( θ ) δ θ = 2 X T ( X θ − y ) \frac{\delta J(\theta)}{\delta \theta} = 2 X^T(X\theta - y) δθδJ(θ)=2XT(y)
令上式为0,我们可以得到 $ \theta$ 的值为:
θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy
我们可以直接通过矩阵运算来求出参数 θ \theta θ 的解。 而上式我们发现其涉及到了矩阵的可逆问题,如果 $(XTX){-1} $可逆,那么参数 θ \theta θ 的解唯一如果不可逆, 则此时就无法使用正规方程的方法来解。

3. 梯度下降法

我们可以采用批量梯度下降算法, 此时有:

θ j = θ j − α δ δ θ j J ( θ ) 带入 J ( θ ) 得: θ j = θ j − α 1 m ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) 或矩阵表达: θ j = θ j + α 1 m ( y − X θ ) T x j \theta_j = \theta_j - \alpha \frac{\delta}{\delta \theta_j} J(\theta) \\ 带入J(\theta) 得: \theta_j = \theta_j - \alpha \frac{1}{m} \sum_{i=1}^m (y^{(i)} - h_\theta(x^{(i)}))x_j^{(i)} \\ 或矩阵表达:\theta_j = \theta_j + \alpha \frac{1}{m}(y-X\theta)^Tx_j θj=θjαδθjδJ(θ)带入J(θ)得:θj=θjαm1i=1m(y(i)hθ(x(i)))xj(i)或矩阵表达:θj=θj+αm1(y)Txj

4. 两种方法的比较
  • 梯度下降中需要选择适当的学习率 $\alpha $
  • 梯度下降法中需要多次进行迭代,而正规方程只需要使用矩阵运算就可以完成
  • 梯度下降算法对多特征适应性较好,能在特征数量很多时仍然工作良好, 而正规方程算法复杂度为 $O(n^3) $,所以如果特征维度太高(特别是超过 10000 维),那么不宜再考虑该方法。
  • 正规方程中矩阵需要可逆。

2. 岭回归

岭回归本质上是 线性回归 + L2 正则化
h ^ θ ( x ) = h θ ( x ) + λ ∑ i w i 2 \hat{h}_{\theta}(x) = h_{\theta}(x) + \lambda \sum_i w_i^2 h^θ(x)=hθ(x)+λiwi2

岭回归与线性回归

线性回归中通过正规方程得到的 w 的估计:
w ^ = ( X T X ) − 1 X T y \hat{w} = (X^TX)^{-1}X^Ty w^=(XTX)1XTy
但是,当我们有 N 个样本,每个样本有 x i ∈ R p x_i \in R^p xiRp, 当 N < p 时, X T X X^TX XTX 不可逆, 无法通过正规方程计算,容易造成过拟合。

岭回归通过在矩阵 X T X X^TX XTX 上加一个 λ I \lambda I λI 来使得矩阵可逆, 此时的 w 的估计:
w ^ = ( X T X + λ I ) − 1 X T y \hat{w} = (X^TX + \lambda I)^{-1}X^Ty w^=(XTX+λI)1XTy
而岭回归本质上是对 L ( w ) L(w) L(w) 进行 L2 正则化, 此时的 J ( w ) J(w) J(w) 表示为:
J ( w ) = ∑ i = 1 N ∣ ∣ w T x i − y i ∣ ∣ 2 + λ w T w = ( w T X T − Y T ) ( X w − Y ) + λ w T w = w T X

相关文章:

  • 同一电脑下使用 python2 和 python3
  • 使用开源免费雷池WAF防火墙,接入保护你的网站
  • 100个用户的聊天系统:轮询 vs WebSocket 综合对比
  • 重生之--js原生甘特图实现
  • WordPress AI插件能自动写高质量文章吗,如何用AI提升网站流量
  • Python 3.14:探索新版本的魅力与革新
  • 7.11 Python CLI开发实战:API集成与异步处理核心技术解析
  • 人工智能在创意设计中的应用:激发无限可能
  • 【高频考点精讲】JavaScript事件循环机制:从宏任务微任务到渲染时机
  • P12167 [蓝桥杯 2025 省 C/Python A] 倒水
  • Python Transformers 库介绍
  • 慧星云荣登杭州AI卧龙图
  • 未来乘用车电气/电子(E/E)架构与商用车电气/电子架构有何不同?
  • 692. 前K个高频单词(map的练习)
  • Linux操作系统复习
  • 小火电视桌面TV版下载-小火桌面纯净版下载-官方历史版本安装包
  • 链表系列一>两两交换链表中的结点
  • #什么是爬虫?——从技术原理到现实应用的全面解析 VI
  • Java集成Redisson实现分布式锁(实战)
  • 热带气旋【CH报文数据插值】中央气象台-台风路径数据每小时插值
  • 4月一二线城市新房价格环比上涨,沪杭涨幅居百城前列
  • 国家卫健委对近日肖某引发舆情问题开展调查
  • 辽宁辽阳市白塔区一饭店火灾事故举行新闻发布会,现场为遇难者默哀
  • 荆州市委书记汪元程:全市各级干部要做到慎微、慎初、慎独、慎友
  • 宋徽宗《芙蓉锦鸡图》亮相,故宫首展历代动物绘画
  • 历史新高!上海机场一季度营收增至31.72亿元,净利润增34%