回归模型(Regression Model)#

历史

“回归”最早是由 Francis Galton 发明的,他当时候在弄一个关于“身高高的祖先的后代的身高往往会倾向于正常身高平均值”的研究(这里有点像我们炒股票经常提及的“均值回归现象”)。

一、 Simple Linear Regression(简单线性回归模型)#

简单线性回归模型之所以简单,是因为假设只有一个自变量 ×, 用于描述因变量 y, 这样得到的模型为:

y = w0 + w1*x

是不是像极了初中接触的一元一次线性方程???

事实上, 权值w0 为函数在y轴上的截距, 权值w1 为解释自变量的系数。 回归的意义在于通过数据学习得到线性方程的这两个权值, 得到这两个权值后,我们就可以描述 自变量x因变量y 的关系了。 所谓的预测就是通过输入 自变量x ,然后输出 预测因变量y

  • w0 为y轴上的截距

  • w1 为斜率

  • 上图显示的橘红线为回归线(regression line),回归线与样本点(蓝色点)之间的垂直连线即所谓的偏移(offset)或残差 (residual)预测的误差

二、Ordinary Least Squares(最小二乘法构建线性模型)#

通过最小二乘法(Ordinary Least Squares)估计回归曲线的参数, 使得回归线性到样本点垂直距离(残差或误差)的平方和最小。1

三、RANSAC(高鲁棒性回归模型)#

其实是属于随机抽样一致性(RANdom SAmple Consensus, RANSAC)算法。

异常值对线性回归模型具有严重的影响。随机抽样一致性 (RANdom SAmple Consensus, RANSAC) 算法作为清除异常值的一种高鲁棒性回归方法, 使用数据的一个子集(即所谓的内点,inlier)来进行回归模型的拟合。

使用RANSAC, 我们可以降低数据集中异常值的潜在影响, 但无法确定该方法对未知数据的预测性能是否存在正面影响。1

四、Ridge & LASSO(正则化回归)#

Ridge Regression 是基于L2罚项模型, 其实只是在最小二乘代价函数中加入了权重的平方和。

LASSO Regression,是基于L1惩罚模型,我只需将L1范数添加到最小二乘的代价函数中,通过增大超参数α的值,我们加强了模型的正则化强度,并降低了模型的权重。2

五、Random Forest(随机森林回归 - 处理非线性关系)#

(1)Decision Tree(决策树回归)#

Decision Tree(决策树回归)算法的优点在于,处理非线性数据的时候可以无需对数据集进行特征转换。 但局限在于, 此模型无法捕获期望预测的连续性和可导性。 在使用此模型的时候还需要注意深度(degree)的选择,以免过度或欠缺拟合1

(2)Random Forest(随机森林回归)#

由于随机性有助于降低模型的方差,与决策树相比,随机森林有更好的泛化性能。随机森林的另一个优势在于:它对数据集中的异常值不敏感,且无需过多的参数调优。1

六、ElasticNet#

  • RidgeLasso 回归是正则化线性回归模型。

  • ElasticNet 本质上是 RidgeLasso 混合体,它需要最小化一个包含 L1(Lasso)和 L2(Ridge)范数的目标函数。

  • 当有多个特征相互关联时(multiple features which are correlated with one another),ElasticNet 非常有用。3


1(1,2,3,4)

Python Machine Learning 2nd Edition by Sebastian Raschka, Packt Publishing Ltd. 2017

2

写给初学者的LASSO回归

3

Modeling Price with Regularized Linear Model & Xgboost