• Machine Learning --- Linear regression & Rige & Robust regression & Lasso


    一、Least squares最小二乘回归(高斯似然+均匀先验)

    因为先验是均匀分布,因此求最小二乘回归即求高斯最大似然。

    image

    image

    在泛化的线性模型里,x为多项式基:

    image

    image

    高斯似然函数为:

    image

    让似然函数最大,即令残差平方和RSS最小,RSS/N即为均方误差MSE。-log似然(NLL)对w求偏导等于0,得:

    image

     image

    *注:最小二乘回归计算方法

    1.数值计算(有解析解,精确,但速度慢)

    a. QR分解:稳定

    image

    image

    b. SVD奇异值分解(广义的特征值分解)

    image

    SVD分解,得右奇异向量:

    image

    奇异值:

    image

    左奇异向量:

    image

    最小二乘计算结果:

    image

    2.梯度下降法(有数值解,速度快。利用所有样本,也称批处理梯度下降)

    image

    image

    image

    3.随机梯度下降法(SGD,每次只用一个样本,速度更快,用于在线学习)

    image

    二、Rige岭回归(高斯似然+高斯先验(L2正则))

    先验:

    image

    似然:

    image

    后验:

    image

    后验函数对w求偏导等于0得:

    image,其中:image

    *注:岭回归计算方法

    1.解析解

    a. QR分解

    image,其中image

    image

    b. SVD分解

    image

    SVD与主成分的关系:特征值越大,方差越大。

    image

    image

    三、Robust regression鲁棒线性回归(Laplace/Student似然+均匀先验)

    因为先验服从均匀分布,所以求鲁棒线性回归即求Laplace/Student最大似然。在heavy tail(奇异点较多)情况下用鲁棒线性回归,因为Laplace/Student分布比高斯分布更鲁棒。

    image

    image

    似然函数为:

    image

    由于零点不可微,所以求解析解困难,无法使用梯度下降法。引入Huber损失函数解决此问题:

    image

    四、Lasso回归(Least absolute shrinkage and selection operator,高斯似然+Laplace先验)

    Laplace先验除了加罚项外,还有特征选择的作用。因为加高斯先验,w绝大多数不为0;而Laplace先验使w大多数为0,降低了模型复杂度的同时选择了特征,如下图:

    image

    Lasso目标:最小化损失函数

    image

    零点不可微:引入子梯度。如f(x)=|x|,其子梯度为:

    image

    可微项梯度:

    imageimageimage

    目标函数子梯度为:

    image

    image

    根据Cj的不同,可分为下面三种情况

    image

    综上,对于给定的lamda,最佳权重为:

    imageimage

    软阈值:设置小权重为0同时缩小其他所有权重。

    image

    硬阈值:设置小权重为0但不缩放其他权重。

    image

    *总结:

    如果输入正交:即X'X=I,则RSS为:

    image

    最小二乘回归的解为:

    image

    岭回归的解为:

    image

    Lasso的解为:

    image

  • 相关阅读:
    libhdfs 写新的c程序编译问题
    CDH4源码 eclipse导入问题
    安装CDH4遇到的问题
    [学习资料]Java多线程编程
    [properJavaRDP]在网页中实现远程连接
    【原创】Eclipse实现图形化界面插件vs4e
    【原创】源码角度分析Android的消息机制系列(四)——MessageQueue的工作原理
    【原创】源码角度分析Android的消息机制系列(六)——Handler的工作原理
    【原创】源码角度分析Android的消息机制系列(三)——ThreadLocal的工作原理
    【原创】源码角度分析Android的消息机制系列(五)——Looper的工作原理
  • 原文地址:https://www.cnblogs.com/jizhiyuan/p/3420602.html
Copyright © 2020-2023  润新知