机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归

2019-03-0820:49:04数据结构与算法Comments3,606 views字数 3634阅读模式

处理较为复杂的数据的回归问题时,普通的线性回归算法通常会出现预测精度不够,如果模型中的特征之间有相关关系,就会增加模型的复杂程度。当数据集中的特征之间有较强的线性相关性时,即特征之间出现严重的多重共线性时,用普通最小二乘法估计模型参数,往往参数估计的方差太大,此时,求解出来的模型就很不稳定。在具体取值上与真值有较大的偏差,有时会出现与实际意义不符的正负号。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

在线性回归中如果参数机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归过大、特征过多就会很容易造成过拟合,如下如所示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

正则化

岭回归与Lasso回归的出现是为了解决线性回归出现的过拟合以及在通过正规方程方法求解机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归的过程中出现的机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归不可逆这两类问题的,这两种回归均通过在损失函数中引入正则化项来达到目的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

在日常机器学习任务中,如果数据集的特征比样本点还多, 机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归的时候会出错。岭回归最先用来处理特征数多于样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计。这里通过引入机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归限制了所有机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归之和,通过引入该惩罚项,能够减少不重要的参数,这个技术在统计学上也叫作缩减(shrinkage)。和岭回归类似,另一个缩减LASSO 也加入了正则项对回归系数做了限定。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

为了防止过拟合(机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归过大),在目标函数机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归\theta机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归后添加复杂度惩罚因子,即正则项来防止过拟合。正则项可以使用L1-norm(Lasso)、L2-norm(Ridge),或结合L1-norm、L2-norm(Elastic Net)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

Lasso:使用L1-norm正则文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

Ridge:使用L2-norm正则文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

ElasticNet:结合l1-norm、l2-norm进行正则文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

简单的理解正则化:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  1. 正则化的目的:防止过拟合
  2. 正则化的本质:约束(限制)要优化的参数

关于第1点,过拟合指的是给定一堆数据,这堆数据带有噪声,利用模型去拟合这堆数据,可能会把噪声数据也给拟合了,这点很致命,一方面会造成模型比较复杂,另一方面,模型的泛化性能太差了,遇到了新的数据让你测试,你所得到的过拟合的模型,正确率是很差的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

关于第2点,本来解空间是全部区域,但通过正则化添加了一些约束,使得解空间变小了,甚至在个别正则化方式下,解变得稀疏了。这一点不得不提到一个图,相信我们都经常看到这个图,但貌似还没有一个特别清晰的解释,这里我尝试解释一下,图如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

上图中左边为Lasso回归,右边为岭回归。红色的椭圆和蓝色的区域的切点就是目标函数的最优解,我们可以看到,如果是圆,则很容易切到圆周的任意一点,但是很难切到坐标轴上,因此没有稀疏;但是如果是菱形或者多边形,则很容易切到坐标轴上,因此很容易产生稀疏的结果。这也说明了为什么L1范式会是稀疏的。这样就解释了为什么lasso可以进行特征选择。岭回归虽然不能进行特征筛选,但是对机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归的模做约束,使得它的数值会比较小,很大程度上减轻了overfitting的问题。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

这里的机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归都是模型的参数,要优化的目标参数,蓝色部分区域,其实就是解空间,正如上面所说,这个时候,解空间“缩小了”,你只能在这个缩小了的空间中,寻找使得目标函数最小的机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归。再看看那红色的圆圈,再次提醒大家,这个坐标轴和特征(数据)没关系,它完全是参数的坐标系,每一个圆圈上,可以取无数个机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归,这些机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归有个共同的特点,用它们计算的目标函数值是相等的。那个红色的圆心,就是实际最优参数,但是由于我们对解空间做了限制,所以最优解只能在“缩小的”解空间中产生。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

以两个变量为例,解释岭回归的几何意义:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

1、没有约束项时。模型参数机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归已经经过标准化。残差平方和RSS可以表示为机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归的一个二次函数,数学上可以用一个抛物面表示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

2、岭回归时。约束项为机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归,对应着投影为机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归平面上的一个圆,即下图中的圆柱。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

可见岭回归解与原先的最小二乘解是有一定距离的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

使用Scikit-Learn进行岭回归、Lasso回归和ElasticNet回归

岭回归

岭(Ridge)回归再普通最小二乘法的损失函数中增加了额外的缩减惩罚项,以限制L2范数的平方项。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

在这种情况下,X是将所有样本作为列向量的矩阵,w表示权重向量。系数机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归表示正则化的强弱正则化。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

其中alpha的值为岭系数,scikit-learn提供了类RidgeCV,它可以自动执行网格搜索,来寻找最佳值:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

Lasso回归

Lasso回归加入w的L1范数作为惩罚项,以确定系数中的数目较多的无用项(零值):文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

具体代码与Ridge回归类似,这里不再复述。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

ElasticNet回归

ElasticNet将Lasso和Ridge组成一个具有两种惩罚因素的单一模型:一个与L1范数成比例,另外一个与L2范数成比例。使用这种方式方法所得到的模型就像纯粹的Lasso回归一样稀疏,但同时具有与岭回归提供的一样的正则化能力。它的损失函数是:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

  机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

从上面的公式可知,ElasticNet使用时需要提供机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归两个参数。在机器学习算法笔记:岭回归、Lasso回归和ElasticNet回归中参数的名称为l1_ratio:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

参考链接:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/9847.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/9847.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定