回归预测算法

一、基础

适用数据:数值型。算法

1)相关系数(R2)衡量

有时候,咱们须要计算预测值与实际值的匹配程度,来衡量所创建模型的好坏。此时,须要计算Y、Y‘的相关系数:函数

其中,Cov表示协方差,Var表示方差。测试

2)缩减系数

当数据的特征比样本数目还多时,此时n>m,输入的样本矩阵非满秩矩阵,在求逆时会出错。优化

二、线性回归

线性回归意味着将输入数据分别乘以一些常量(回归系数),相加获得输出(预测值)。spa

线性回归须要使用数值型数据,标称型数据需转化为二值型数据。3d

假设输入的预测样本为X1,为n行的列向量,W为n行的列向量,表示从样本数据获得的回归系数,则预测结果为:blog

假设输入的样本数据存放在m行n列的矩阵,记为X,n个特征所决定的因变量记为Y,为m行的列向量,则须要从Y=XW获得W的值。io

经常使用的方法为找到使得Y预测值与真实值偏差最小的W,一般用平方偏差衡量(该方法称为普通最小二乘法,ordinary least squares,OLS):ast

为了使得SE最小,咱们要对SE求导,先将SE展开:基础

以后对W求导:

表示使得平方偏差最小时的最优解。并且,此时只有在XTX存在逆矩阵时有解:

三、局部加权线性回归

线性回归易出现欠拟合现象,由于其求解的是具备最小均方偏差的无偏估计。

该方法容许在估计中引入一些误差,从而下降预测的均方偏差。

局部加权线性回归(Locally Weighted Linear Regression,LWLR)中,须要给预测点附近的每一个点都赋予必定的权重,而后基于最小均方偏差进行普通的回归。

其中D是一个矩阵,用来给每一个数据点赋予权重。

LWLR使用核对附近的点赋予更高的权重,常使用高斯核:

其中,X为样本矩阵,x为预测数据。

以后,经过可获得预测值:

若是高斯核系数σ取1,则会达到相似最小二乘法的效果;若是太小,则会致使过拟合。

可是,LWLR最明显的缺点是增长了计算量,对每一个预测数据要使用整个样本集合。

四、岭回归

 

岭回归是在XTX的基础上加上λI从而使得矩阵XTX非奇异,进而可以对XTX+λI求逆。

其中,矩阵I是一个m*m的单位矩阵,对角线上元素全1,其余元素全0,λ为自定义系数。

所以,回归系数的计算公式变为:

 

之因此称之为岭回归,是由与引入的单位矩阵中1贯穿整个对角线。形象地,在0构成的平面上有一条由1组成的“岭”。

岭回归最早用于处理特征数多于样本数的状况,但也用于在估计中加入误差,从而使得估计结果更优,避免过拟合。

此处,引入的λ限制了全部回归系数之和,经过引入该惩罚项,会使得影响较小的特征的系数衰减到0,只保留重要的特征,该技术称为“缩减”。

为了寻找合适的λ,咱们将获取的数据分为2部分:测试数据和训练数据。注意,获取的数据须要先进行标准化处理(全部特征减去均值并除以方差)经过训练数据获得回归系数,而后在测试数据测试效果。经过选择不一样的 来重复这个过程,获得使得预测偏差最小的λ。

若是对最小二乘法进行以下约束:

则会获得与岭回归同样的公式。

过程以下:

所以,岭回归也是L2范式正则化的最小二乘法。

因为岭回归限定了全部回归系数的平方和不大于t, 在使用普通最小二乘法回归的时候当两个变量具备相关性的时候,可能会使得其中一个系数是个很大正数,另外一个系数是很大的负数。经过岭回归正则项的限制,能够避免这个问题。

几何意义

以两个变量为例, 普通的线性回归中,残差平方和能够表示为w1,w2的一个二次函数,是一个在三维空间中的抛物面,能够用二维(w1、w2)平面中的等值线来表示。

而限制条件w12+w22≤t则能够用圆表示:

其交点则为知足条件的W。

四、lasso回归(套索算法)

Lasso(Least absolute shrinkage and selection operator)也被称为L1范式正则化的最小二乘法,是另外一种缩减方法,将回归系数收缩在必定的区域内。LASSO的主要思想是构造一个一阶惩罚函数得到一个精炼的模型, 经过最终肯定一些变量的系数为0进行特征筛选。

在原先的求解中,加入如下约束条件:

推导过程以下:

在该算法中,若是λ足够小,一些回归系数会被缩减至0,以更好地理解数据,有助于特征选择,经常使用于估计稀疏参数。

因为正则化项在零点处不可求导,因此使用非梯度降低法进行求解,如坐标降低法或最小角回归法。

Lasso的几何解释

一样,以两个变量为例, 普通的线性回归中,残差平方和能够表示为w1,w2的一个二次函数,是一个在三维空间中的抛物面,能够用二维(w1、w2)平面中的等值线来表示。

而限制条件|w1|+|w2|≤t则能够用正方形表示:

相比圆,方形的顶点更容易与抛物面相交,顶点就意味着对应的不少系数为0,而岭回归中的圆上的任意一点都很容易与抛物面相交很可贵到正好等于0的系数。这也就意味着,lasso起到了很好的筛选变量的做用。

解法1:坐标轴降低法(coordinate descent)

坐标降低优化方法是一种非梯度优化算法。为了找到一个函数的局部极小值,在每次迭代中能够在当前点处沿一个坐标方向进行一维搜索。在整个过程当中循环使用不一样的坐标方向。一个周期的一维搜索迭代过程至关于一个梯度迭代。

与梯度降低法区别:

①梯度降低法利用目标函数的导数(梯度)来肯定搜索方向的,而该梯度方向可能不与任何坐标轴平行。

②坐标轴降低法利用当前坐标系统进行搜索,不须要求目标函数的导数,只按照某一坐标方向进行搜索最小值。

 

坐标降低法在稀疏矩阵上的计算速度很是快,同时也是Lasso回归最快的解法。

解法2:最小角回归法( Least Angle Regression)

相关文章
相关标签/搜索