美文网首页
线性回归

线性回归

作者: 夏日丶 | 来源:发表于2019-01-30 11:23 被阅读0次

    一、普通线性回归

    from sklearn.linear_model import LinearRegression

    原理:假定输人数据存放在矩阵X中,而回归系数存放在向量W中。那么对于给定的数据X1, 预测结果将会通过Y=X*W给出。现在的问题是,手里有一些X和对应的Y,怎样才能找到W呢?一个常用的方法就是找出使误差最小的W。这里的误差是指预测Y值和真实Y值之间的差值,使用该误差的简单累加将使得正差值和负差值相互抵消,所以我 们采用平方误差。

    最小二乘法:\sum_{i=1}^m(y_{i} - x_{i}^TW  )^2    平方误差

    对W求导,当导数为零时,平方误差最小,此时W等于:\hat{w} =   (X^TX )^-1X^Ty

    二、岭回归

    from sklearn.linear_model import Ridge

    如果数据的特征比样本点还多应该怎么办?是否还可以使用线性回归和之前的方法来做预测?答案是否定的,即不能再使用前面介绍的方法。这是因为输入数据的矩阵X不是满秩矩阵。非满秩矩阵在求逆时会出现问题。为了解决这个问题,统计学家引入了岭回归(ridge regression)的概念

    原理:岭回归是加了二阶正则项(\lambda I)的最小二乘简单来说,岭回归就是在矩阵X^TX 上加入一个\lambda I从而使得矩阵非奇异,进而能对X^TX+\lambda I 求逆。其中矩阵I是一个m*m的单位矩阵,对角线上元素为1,其他元素为0。而\lambda 是一个用户定义的数值,在这种情况下,回归系数的计算公式将变成:\hat{w} =   (X^TX+\lambda I )^-1X^Ty

    缩减 : 岭回归最先用来处理特征数多于样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计,这里通过引入\lambda 来限制了所有w之和,通过引入该惩罚项,能减少不重要的参数,这个技术在统计学中也叫缩减

    作用:1.岭回归可以解决特征数量比样本量多的问题

                2.岭回归作为一种缩减算法可以判断哪些特征重要或者不重要,有点类似于降维的效果

                3.缩减算法可以看作是对一个模型增加偏差的同时减少方差

    适用范围:1.数据点少于变量个数

                        2.变量间存在共线性(最小二乘回归得到的系数不稳定,方差很大)

    三、lasso回归

    from sklearn.linear_model import Lasso

    原理:对于参数w增加一个限定条件,能到达和岭回归一样的效果:\sum_{k=1}^n |w_{k} |\leq \lambda  在\lambda 足够小的 时候,一些系数会因此被迫缩减到0

    相关文章

      网友评论

          本文标题:线性回归

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