线性回归

一、普通线性回归

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容