欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 机器学习基础 - 回归模型之线性回归

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

2025/4/29 23:46:46 来源:https://blog.csdn.net/yousuotu/article/details/147515297  浏览:    关键词:机器学习基础 - 回归模型之线性回归

机器学习: 线性回归


文章目录

  • 机器学习: 线性回归
    • 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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词