zoukankan      html  css  js  c++  java
  • 线性回归 Linear Regression

    一、主要思想

    在 L2-norm 的误差意义下寻找对所有观测目标值 Y 拟合得最好的函数 f(X) = WTX 。

    其中 yi 是 scalar,xi 和 W 都是 P 维向量(比实际的 xi 多一维,添加一维 xi(0) = 1,用于将偏置 b 写入 W 中)

    1. 定义模型:f(X) = WTX

    2. 目标函数:L2-norm 损失(均方误差损失)

    3. 寻优:梯度下降(迭代)或 最小二乘(解析解)

    引入高维可以使得线性回归模型更加复杂,可以在 training data 上拟合的更好,但要考虑 overfitting ,真正关心的应该是模型在 testing data 上的效果

    二、正则化

    约束参数空间,改善过拟合

    通过梯度下降来分析两种正则的区别(Hung-yi Lee) 

    1. L1 正则的线性回归:Lasso

      L1-norm regularization 让参数变小的机制,是每次都减去(if w >= 0)或者加上(if w < 0)一个值(即 λ*learning_rate),不管哪种情况,最后都是让参数往反方向变化。

     
    等价于对参数 w 引入拉普拉斯分布先验。f(x | μ, b) = exp(-|x-μ| / b) / 2b

      

    2. L2 正则的线性回归:Ridge
      L2-norm regularization 的机制是每次在更新参数之前,都先直接乘上一个小于1的数。这样也是不管参数正负都会更接近0,但是L1 norm 中每次减掉的值是固定的,而 L2 norm 参数变小的速度跟其本身的大小相关。
    小结:
      1. 用 L1 正则得到的参数比较 sparse,有大的也有很接近 0 的;而 L2 正则就会使得所有的参数都接近 0 。
      2. 使用正则化让参数变小会使得模型表示的函数更加平滑(对噪声不那么敏感,改善过拟合),但正则化程度也会使得损失函数太过于考虑W而原本的损失项影响很小,导致模型变差(最极端情况:就是一条水平线,啥都拟合不了)。所以正则化系数由小变大,存在一个令模型测试集表现由好至差的转折点。
      3. 正则化项是不需要作用在偏置项上的,因为偏置只会上下平移函数不会影响平滑程度。

     

    加上L2正则化的最小二乘估计  等价于  噪声 ε 为高斯(0,σ2)、参数 w 先验也为高斯(0, σ02)的最大后验估计

    最小二乘法的解析解中 XTX 不可逆怎么处理?

    —— XTX + λI (也正是L2正则的效果)

     
     
     
    加入 L2 norm 正则化项会使得参数倾向于变小,进而使得模型表示的函数更加平滑。
    为什么使得模型函数平滑一些会比较好?—— 使得模型输出对输入中的噪声不那么敏感。
    过于平滑会怎样?—— 极端情况下最平滑就是一条水平线,那就啥都拟合不了,所以平滑程度太大会导致模型在测试集上表现差。
     
    正则化项系数太大也不行,会导致 loss 太过于考虑 w 的项而过于弱化原本的损失函数项的影响。正则化项系数从小到大对模型的测试集表现的影响,会有一个从好至坏的转折点;而对训练集来说,误差随之总是越来越大的。

    正则化不需要作用在 bias 上,因为偏置项和模型(映射函数)的平滑程度无关,只会上下平移函数。

     

    三、从把误差分散到 P 维的角度考虑线性回归模型

    把 f(X) 理解为 P 维向量 X 的线性组合 X·ß

    任务:要在 X 所在的 P 维空间里找到一个离Y最近的 X·ß

    显然是 Y 在这个 P 维空间的投影,所以 Y-X·ß 垂直于 X,直接求得解析解

     

    四、从概率视角理解线性回归模型

    随机变量 X 和 Y 分别表示样本和观测,令 Y = WTX + ε,噪声 ε 服从高斯分布 N(0, σ2)

    则 Y | W, X, ε 服从均值偏移 WTX、方差不变的高斯分布 N(WTX, σ2)

    MLE:用极大似然估计来寻找参数 W 的值(令似然函数 P(Y | W, X, ε) 最大的 W)

       可以发现 argmin 的函数和最小二乘估计中的平方误差损失函数一致

    最小二乘估计 等价于 噪声为高斯的最大似然估计

     

  • 相关阅读:
    loj6145. 「2017 山东三轮集训 Day7」Easy
    CF1019E Raining season
    CF1261F Xor-Set
    Python笔试——递归算法学习
    Python笔试——贪心算法
    Python笔试——万万没想到抓捕孔连顺
    Python笔试——雀魂启动
    Python学习——正则表达式
    Python笔试——毕业旅行问题
    Python笔试——Stern-Brocot tree
  • 原文地址:https://www.cnblogs.com/chaojunwang-ml/p/11180525.html
Copyright © 2011-2022 走看看