人智导(九):回归方法的精化

人智导(九):回归方法的精化

标准回归的不足

  • 标准的回归公式: f ( X ) = β 0 + β 1 X 1 + β 2 X 2 + ⋯ + β p X p f(X) = \beta_0 +\beta_1X_1 +\beta_2X_2+\dots +\beta_pX_p f(X)=β0+β1X1+β2X2++βpXp
  • 观测变量(特征)越多,方差越大
  • 需要训练数据量n>>p才能获得较低方差
  • 回归模型的精度和解释性能改进:低方差(泛化)、低偏差(准确)
  • 不太相关的观测变量会导致模型的复杂性
  • 改进思路:选择关键的观测变量(特征)

特征(子集)选择

  • 特征(子集)选择:从p个观测变量中 ( X 1 , X 2 , … , X p ) (X_1,X_2,\dots ,X_p) (X1,X2,,Xp)选择出与 Y Y Y较相关的子集,通过这个子集实现回归模型
  • 最佳子集选择算法:
    • 对于 k = 1 , 2 , … , p k=1,2,\dots ,p k=1,2,,p
      • 构建出所有的 C p k C^k_p Cpk个回归模型
      • 筛选出 C p k C^k_p Cpk组合中均方误差RSS最小的模型 M k M_k Mk
    • 从得到的 M 1 , M 2 , … , M p M_1,M_2,\dots ,M_p M1,M2,,Mp模型中通过交叉验证再宣传预测均方误差最小的模型,所对应的即为最佳子集。
  • 特点:简单而低效,需要从 2 p 2^p 2p中搜索出一个最佳,不适合处理 p p p很大的情况
  • 前向选择回归算法:
    • 对于 k = 0 , 1 , 2 , … , p − 1 k=0,1,2,\dots ,p-1 k=0,1,2,,p1
      • 构建所有的p-k个回归模型,通过逐次累加一个相应变量的方式
      • 在这p-k个模型中筛选出均方误差RSS最小的模型 M k + 1 M_{k+1} Mk+1
    • 从得到的 M 1 , M 2 , … , M p M_1,M_2,\dots ,M_p M1,M2,,Mp模型中通过交叉验证再选出预测均方误差最小的模型,即为目标子集
  • 特点:仅需从 p ( p + 1 ) 2 \frac{p(p+1)}{2} 2p(p+1)个模型空间中搜索出目标子集,但不能保证得到的子集是最佳的(模型RSS最小)

示例:

  • 数据集有三个观测变量 X 1 , X 2 , X 3 X_1,X_2,X_3 X1,X2,X3(p=3)
  • 最佳的1-变量模型包含 X 1 X_1 X1;最佳的2-变量模型包含 X 2 X_2 X2 X 3 X_3 X3
  • 前向选择算法不能找出最佳的2-变量模型,因其不包括最佳的1-变量模型
    子集选择是优化模型的过程:
  • 选择所有的观测变量,总是有最小RSS(偏差)但方差最大
  • 减少观测变量(子集选择),提升模型泛化能力(test MSE)
  • 方差大则过拟合,偏差大则欠拟合(准确性差)

正则化方法

  • 回归公式: f ( X ) = β 0 + β 1 X 1 + β 2 X 2 + ⋯ + β p X p f(X) = \beta_0+\beta_1X_1+\beta_2X_2+\dots +\beta_pX_p f(X)=β0+β1X1+β2X2++βpXp 估算系数 β 0 , β 1 , … , β p \beta_0,\beta_1,\dots ,\beta_p β0,β1,,βp通过最小化RSS: R S S = Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j X i j ) 2 RSS = \Sigma^n_{i=1}(y_i -\beta_0-\Sigma^p_{j=1}\beta_jX_{ij})^2 RSS=Σi=1n(yiβ0Σj=1pβjXij)2
  • 正则化方法:
    • 使用所有的 p p p个观测变量,约束变量的系数 β 0 , β 1 , … , β p \beta_0, \beta_1 ,\dots ,\beta_p β0,β1,,βp使RSS取值尽可能趋于零
    • 回归系数的取值限定在一个小范围内,将有效降低模型的方差

岭回归(Ridge Regression)方法

岭回归方法:
人智导(九):回归方法的精化_第1张图片

  • 类似于最小二乘法,但隙数的估算 β ^ R \hat{\beta}^R β^R通过最小化公式: Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j X i j ) 2   +   λ Σ j = 1 p β j 2 = R S S   +   λ Σ j = 1 p β j 2 \Sigma^n_{i=1}(y_i-\beta_0-\Sigma^p_{j=1}\beta_jX_{ij})^2 ~+~\lambda\Sigma^p_{j=1}\beta^2_j = \\RSS~+~\lambda\Sigma^p_{j=1}\beta^2_j Σi=1n(yiβ0Σj=1pβjXij)2 + λΣj=1pβj2=RSS + λΣj=1pβj2
  • 其中 λ ≥ 0 \lambda \ge 0 λ0为调试参数(超参数):
    • λ = 0 \lambda = 0 λ=0,约束不起作用,如同标准的线性回归
    • λ → ∞ \lambda \to \infty λ,约束影响越大,系数 β ^ R \hat{\beta}^R β^R尽可能小

岭回归系数的正则化(标准化):

  • L 2 L_2 L2范数: ∥ β ∥ 2 = Σ j = 1 p β j 2 \Vert \beta\Vert _2 = \sqrt{\Sigma^p_{j=1}\beta^2_j} β2=Σj=1pβj2
  • λ \lambda λ增加, L 2 L_2 L2降低,如图

人智导(九):回归方法的精化_第2张图片

  • 一般地,所有变量需被标准化: x ~ i j = x i j 1 n Σ i = 1 n ( x i j − x ˉ j ) 2 \tilde{x}_{ij} = \frac{x_{ij}}{\sqrt{\frac{1}{n}\Sigma^n_{i=1}(x_{ij}-\bar{x}_j)^2}} x~ij=n1Σi=1n(xijxˉj)2 xij
  • 岭回归方法:是一种平衡“方差-偏差”技术
    • 交叉验证test MSE选择最优的 λ \lambda λ
    • λ \lambda λ的增加,导致方差降低而偏差上升
    • 如下图,绿线为方差,黑线为偏差,红线为岭回归的test MSE
      人智导(九):回归方法的精化_第3张图片

Lasso回归算法

Lasso回归算法:
人智导(九):回归方法的精化_第4张图片

  • 类似于最小二乘法,但系数的估算 β ^ L \hat{\beta}^L β^L通过最小化公式: Σ i = 1 n ( y i − β 0 − Σ j = 1 p β j x i j ) 2   +   λ Σ j = 1 p ∣ β j ∣ = R S S   +   λ Σ j = 1 p ∣ β j ∣ \Sigma^n_{i=1}(y_i-\beta_0-\Sigma^p_{j=1}\beta_jx_{ij})^2~+~\lambda\Sigma^p_{j=1}|\beta_j|\\=RSS~+~\lambda\Sigma^p_{j=1}|\beta_j| Σi=1n(yiβ0Σj=1pβjxij)2 + λΣj=1pβj=RSS + λΣj=1pβj
  • 其中 λ ≥ 0 \lambda \ge 0 λ0为调试参数:
    • λ = 0 \lambda = 0 λ=0,约束不起作用,如同标准的线性回归
    • λ → ∞ \lambda \to \infty λ,约束影响越大,系数 β ^ L \hat{\beta}^L β^L将尽可能小
      人智导(九):回归方法的精化_第5张图片

Lasso系数的正则化(标准化):

  • L 1 L_1 L1范数: ∥ β ∥ 1 = Σ j = 1 p ∣ β j ∣ \Vert\beta\Vert_1 = \Sigma^p_{j=1}|\beta_j| β1=Σj=1pβj
  • λ \lambda λ增加, L 1 L_1 L1降低; λ \lambda λ增加足够大, L 1 L_1 L1会使某些变量系数为0
    人智导(九):回归方法的精化_第6张图片

你可能感兴趣的:(数学与逻辑,机器学习,算法,深度学习,人工智能)