前言

作者: 水墨点滴 | 来源:发表于2018-09-24 23:11 被阅读0次

    梳理统计学习相关的体系

    进入统计机器学习模型部分,首先从最基础的从回归分析说起。

    1.回归分析

    回归分析大家相对来说都已经比较了解,本质上说是以用数据去拟合自变量与解释变量之间的线性关系。是后续各种统计学习模型的基础。本部分对此不做详细介绍,这次从最小二乘的几何意义角度去看回归分析。

    Y = X’B
    我们知道最终的估计满足 (y-X\hat\beta)^TX=0。所以从几何角度上看,最优估计是在空间上的正交投影

    回归分析的几何解释

    统计/回归分析中的的一些基本概念:

    • t 检验
    • F 检验
    • p value
    • 多重共线性

    关于统计基础以及其在工作中的常用应用,可参见(##先占坑)

    2.正则化处理

    训练数据是有限的时候,总可以通过增加参数的方法提高模型复杂度,降低训练误差,但是其泛化能力不好。正则化即通过调整参数的取值,来平衡偏差方差的关系。

    线性回归中,最直接的方法就行在loss function中添加正则化项。一般形式如下:

    E(w) = \sum [f(x_i, w) - y_i]^2 + \lambda g(||w||_p)

    • 当取一范数时,即为lasso;
    • 二范数:岭回归
    • 一范数和二范数组合:弹性网络。 a||w||^2_2 + (1-a)||w||_1

    一范数和二范数的几何意义区别如下(这里就不解释了):

    • lasso会将特征衰减到0
    • 岭回归大量特征系数都比较小
    • 弹性网络结合了两种方法的优点
    lasso与岭回归的对比

    从概率不同学派的角度来看上面的问题。
    正则化的方式,是从频率学派角度来看;而贝叶斯学派视角来看,正则化其实就是引入了关于参数的先验信息。

    贝叶斯学派是假定参数服从某种分布,然后根据其分布利用积分的方法将其消除掉。这一过程叫边际化。边际化的过程其实恰好是正则化/泛化的过程。

    可以证明,岭回归是w满足正态分布,lasso是当w满足拉普拉斯分布时候通过最大后验概率得到的估计结果。

    # code
    import numpy as np
    import matplotlib.pyplot as plt  
    from sklearn.linear_model import Lasso,LassoCV,LassoLarsCV   # Lasso回归,LassoCV交叉验证实现alpha的选取,LassoLarsCV基于最小角回归交叉验证实现alpha的选取
    
    # ========Lasso回归========
    model = Lasso(alpha=0.01)  # 调节alpha可以实现对拟合的程度
    # model = LassoCV()  # LassoCV自动调节alpha可以实现选择最佳的alpha。
    # model = LassoLarsCV()  # LassoLarsCV自动调节alpha可以实现选择最佳的alpha
    model.fit(X, y)   # 线性回归建模
    print('系数矩阵:\n',model.coef_)
    print('线性回归模型:\n',model)
    # print('最佳的alpha:',model.alpha_)  # 只有在使用LassoCV、LassoLarsCV时才有效
    # 使用模型预测
    predicted = model.predict(X)
    
    

    相关文章

      网友评论

          本文标题:前言

          本文链接:https://www.haomeiwen.com/subject/mdahoftx.html