在机器学习的学习过程中,我们会经常听到正则化这个词,在开始入门学习的时候还经常与标准化混淆。到底什么是正则化呢?本篇我们将由浅入深详细解读什么是正则化,以及LASSO回归岭回归的介绍。

在正式开始之前,我们先了解几个相关基本概念。

什么是过拟合?

对于一组给定的数据,我们需要通过机器学习算法去拟合得到一个模型(对应图中曲线)。根据我们对拟合的控制和调整,这个模型可以有无数多种(一条直线,或各种形状的曲线等)。这么多种当中,哪一种是我们想要的最优结果呢?哪一种最好呢?

我们评判模型好坏的标准是:不但对于训练的数据集有很好的拟合效果,而且对于未知的新的数据(测试集)也同样拥有好的效果,即拥有好的泛化能力。

如果我们的模型过度地学习并拟合了数据,那么就会连一些噪音数据也一起学习(上图中比较复杂的曲线)。但事实上数据在一定范围内是随机的,我们无法预知未知数据长什么样,而且它在很大概率上也不会和训练数据一模一样,因此如果过分地的学习就会导致模型缺少泛化能力,即过拟合。

如何判断一个结果是否发生了过拟合现象呢?

如上图迭代次数的增加,训练集和测试集的损失逐渐有越来越大的差距,这就表明发生了过拟合。

过拟合肯定不是我们想要的结果,因此需要使用一些方法来尽量避免过拟合的发生。比如常见的过拟合处理方法有:

  • 增加数据量
  • 简化模型
  • 交叉验证
  • 正则化
  • ...

下面就来说说正则化,一种用来避免过拟合的好方法。

什么是正则化?

正则化就是通过对模型参数进行调整(数量和大小),降低模型的复杂度,以达到可以避免过拟合的效果。正则化是机器学习中的一种叫法,其它领域内叫法各不相同:

机器学习把L1和L2叫正则化,统计学领域叫惩罚项,数学领域叫范数

如果不加入正则化,我们的目标是最小化损失函数,即经验风险最小化

加入正则化以后,不再是最小化损失函数了,而是变成以最小化损失复杂度为目标了,这个称为结构风险最小化

现在,我们的训练优化算法是一个由两项内容组成的函数:一个是损失项,用于衡量模型与数据的拟合度,另一个是正则化项,用于衡量模型复杂度。

举一个已经分享过的内容为例,多元线性回归模型:

多元线性回归的损失函数是离差平方和的形式,即最小二乘估计,公式如下:

如果我们想通过正则化降低模型复杂度,可以在损失函数的基础上线性添加一个正则化项,这样就得到了一个新的结构风险函数,如下:

这里我们就添加了一个L2正则化项。先不讨论这个正则化项的类型,我们可以直观看到:在所有参数平方和前乘以了一个参数λ,把它叫正则化系数或者惩罚系数。这个惩罚系数是调节模型好坏的关键参数,我们通过两个极端的情况说明它是如何调节模型复杂度的。

  • λ值为0:损失函数将与原来损失函数一样(即最小二乘估计形式),说明对参数权重β没有任何惩罚。
  • λ为无穷大:在惩罚系数λ无穷大的情况下,为保证整个结构风险函数最小化,只能通过最小化所有权重系数β达到目的了,即通过λ的惩罚降低了参数的权重值,而在降低参数权重值的同时我们就实现了降低模型复杂度的效果。

当然,具体的惩罚程度还需要调节λ值来达到一个平衡的点,过度的惩罚会让模型出现欠拟合的情况。了解正则化项后,下面我来接着看一下这个惩罚项都可以是哪些类型。

正则化有哪些类型?

常用的正则化有两种L1L2。如果了解KNN算法和聚类算法的都知道有两个常用的距离概念,曼哈顿距离和欧式距离,它们与正则化的对应关系是这样的:

  • L1:曼哈顿距离(参数绝对求和)
  • L2:欧氏距离(参数平方值求和)

在回归模型中,我们一般把的带有L1正则化项的回归模型叫做LASSO回归,而把带有L2正则化项的回归叫做岭回归。这里我们直接给出两种多元线性回归正则化的公式:

多元线性回归 L1正则化:Lasso回归

多元线性回归 L2正则化:Ridge回归

下面我们分别介绍一下LASSO回归和岭回归,然后对比L1和L2正则化的区别。

L2正则化:岭回归

岭回归的提出

我们在之前通过最小二乘法推导出多元线性回归的求解公式:

这个公式有一个问题:X不能为奇异矩阵,否则无法求解矩阵的逆。岭回归的提出恰好可以很好的解决这个问题,它的思路是:在原先的β的最小二乘估计中加一个小扰动λI,这样就可以保证矩阵的逆可以求解,使得问题稳定。公式如下:

这个公式我们可以通过对上一节的结构化风险函数求偏导推出来,具体推导不进行展示了。

岭回归的几何意义

既然我们想最小化结构风险函数,那么我们可以通过限制其中的正则项来达到目的,因此可以将原来的结构风险函数变成另一种问题形式。

上式是对 β的平方和做数值上界限定,即所有β的平方和不超过参数 t。这时候,我们相当于拆分了原来的结构化分险函数,目标就转换为:最小化原来的训练样本误差,但是要遵循 β平方和小于 t 的条件。

以两个变量为例,通过图形来解释岭回归的几何意义,最小二乘解就相当于一个漏斗型,通过求解找到最小值。

最小二乘求解:经验风险最小化

在原来的最小二乘求解基础上,加入下面的正则化的约束(几何图形中相当于一个圆柱体)。

岭回归:结构风险最小化

公式中的 和 λ 是成反比的,也就是说t越小,惩罚程度越大,与sklearn中的正则化参数定义是一样的。

因此,如果我们减小t,圆柱体就会向内缩,导致与漏斗的交点向上移动,而向上移动的同时 β1 β2的值也在减小,即达到了降低参数权重的效果。但是随着向上移动,结构化风险函数的值也越来越大了,趋于欠拟合的方向,这也就揭示了为什么说要选择一个合适的惩罚系数了。

L1正则化:LASSO回归

LASSO回归形式上与岭回归非常相似,只是将平方换成了绝对值。

LASSO回归正则项的几何形式不再是一个圆柱体,而变为一个长方体了,这也是导致两种回归关于是否稀疏的根本原因。

L1和L2正则化有什么相同和不同?

1. 有偏估计

我们将前面的三维立体图形映射成二维(从上往下看),可以清晰地看到:求解的交点不再是最小二乘的最小值(红点),而变成了与正则项的交点(黄点)。这说明了LASSO回归和岭回归都是一种有偏估计,而最小二乘是一种无偏估计。

2. 能否使参数矩阵稀疏

前面我们说正则化是通过调整模型参数(数量和大小)来降低模型复杂度的,其实,这里说的数量大小是和L1和L2正则化分别有着对应关系的。

  • L1正则化:通过稀疏化(减少参数数量)来降低模型复杂度的,即可以将参数值减小到0。
  • L2正则化:通过减少参数值大小来降低模型复杂的,即只能将参数值不断减小但永远不会减小到0。

这个区别可以从二维图中更好地观察出来:岭回归中两个图形(没有棱角)的交点永远不会落在两个轴上,而LASSO回归中,正则化的几何图形是有棱角的,可以很好的让交点落在某一个轴上。

这种稀疏化的不同也导致了LASSO回归可以用于特征选择(让特征权重变为0从而筛选掉特征),而岭回归却不行。但是两种回归的效果还需要根据实际情况来选择,以及如何选择惩罚系数。关于稀疏化很有多内容,这里不进行展开。

3. 下降速度不同

两种回归的不同也可以反映在下降速度上,蓝色为岭回归的最小化下降曲线,红色为LASSO回归的下降曲线。

可以发现:最开始的时候岭回归下降的非常快,但是随着值越来越小,岭回归下降速度也越来越慢,当快接近0的时候,速度会非常慢,即很难减小到0。相反,LASSO回归是以恒定的速度下降的,相比于岭回归更稳定,下降值越接近近0时,下降速度越快,最后可以减小到0。

下面是一组岭回归和LASSO回归的特征系数随着模型不断迭代而变化的动态展示。

其它正则化类型?

L1和L2只是比较常用的范数,如果推广到一般的话,可以有非常多种的正则化。

q可是是很多值

但是由于一些凸优化问题,L1和L2表现出来的效果是最好的,因此也被最常用到。

此外,还有一种介于L1和L2之间的一种正则化叫Elasticnet,像一种弹性网一样,现在被认为是处理多重共线性和变量筛选较好的收缩方法,而且损失的精度不会太多。

总结

本篇由浅入深地介绍了过拟合,正则化,以及LASSO回归和岭回归,希望通过本篇可以让你对正则化有一个清晰的认识,后续会介绍正则化相关编程方面的实战内容,以及如何选择参数,调节参数。

参考:

[1].http://f.dataguru.cn/thread-598486-1-1.html

[2].https://developers.google.com/machine-learning/

[3].https://towardsdatascience.com/

[4].https://blog.csdn.net/lyf52010/article/details/79822144

解读正则化 LASSO回归 岭回归相关推荐

  1. 【机器学习】正则化的线性回归 —— 岭回归与Lasso回归

    python风控评分卡建模和风控常识(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005214003&am ...

  2. 案例 | 基于JMP Pro的Lasso及岭回归在水稻全基因组预测中的应用

    全基因组选择是21世纪动植物育种的一种重要的选择策略,其核心就是全基因组预测,即基于分布在整个基因组上的多样性分子标记来对育种值进行预测,为个体的选择提供依据.但目前提出的大多数全基因组预测方法都涉及 ...

  3. Lasso回归系列二:Lasso回归/岭回归的原理

    Lasso回归/岭回归的原理 在学习L1,L2正则化的作用和区别时,我们总是会看到这样的一副图片: 这幅图片形象化地解释了L1,L2对线性模型产生的不同的约束效果. 我最开始其实是不太理解为什么要这么 ...

  4. 机器学习之LASSO,岭回归

    回归算法 文章参考 1.线性回归 假设有数据有 其中: 其中m为训练集样本数,n为样本维度,y是样本的真实值.线性回归采用一个多维的线性函数来尽可能的拟合所有的数据点,最简单的想法就是最小化函数值与真 ...

  5. 套索回归 岭回归_使用kydavra套索选择器进行回归特征选择

    套索回归 岭回归 机器学习(Machine Learning) We all know the Occam's Razor: 我们都知道Occam的剃刀: From a set of solution ...

  6. 套索回归 岭回归_岭和套索回归简介

    套索回归 岭回归 Recently my class has been covering topics of regression and classification. We are now abl ...

  7. 特征缩减技术(shrinkage): lasso和岭回归

    1.概述 通过对损失函数(即优化目标)加入惩罚项,使得训练求解参数过程中会考虑到系数的大小,通过设置缩减系数(惩罚系数),会使得影响较小的特征的系数衰减到0,只保留重要的特征.常用的缩减系数方法有la ...

  8. Python回归 岭回归(Ridge Regression)

    岭回归是一种专门用于共线性数据分析的有偏估计回归方法,实质上时改良的最小二乘估计法,通过放弃最小二乘法的无偏性(在反复抽样的情况下,样本均值的集合的期望等于总体均值),以损失部分信息.降低精度为代价获 ...

  9. 机器学习——线性回归衍生(过拟合、正则化、岭回归和LASSO回归)

    过拟合.正则化.岭回归.LASSO回归 为什么会出现线性回归的衍生方法--正规方程法的局限 过拟合 模型复杂度 过拟合的概念 防止过拟合的办法 正则化 岭回归(Ridge Regression) 1. ...

最新文章

  1. RxJava操作符在android中的使用场景详解(一)
  2. vsftpd的主配置文件是什么linux,vsftpd.conf配置文件详解
  3. openlayers事件类型
  4. Git安装教程(windows)
  5. Android性能优化方法(五)
  6. fiddler运行原理_fiddler工作原理
  7. EXCEL 趋势图生成的公式应用说明
  8. linux wgei目录,近 100 个 Linux 常用命令大全
  9. office2007安装失败2902_Office2007安装出错怎么办?安装出错原因及解决方法分享
  10. 网页版python编辑器-史上超强 Python 编辑器,竟然是张网页?!
  11. 计算机二级考试vb试题,2016计算机二级考试《VB》真题练习
  12. 计算机毕业设计java+ssm生鲜超市进销存管理系统(源码+系统+mysql数据库+Lw文档)
  13. 地图制图技术类毕业论文文献都有哪些?
  14. 超实用!Python机器学习书籍推荐——《Python神经网络编程》(一定要看到最后)
  15. 【Simulink】Three-Phase V-I Measurement 使用方法
  16. 从智能音箱发展,看智能家居的未来
  17. 深度剖析WinPcap之(七)——获得与释放网络适配器设备列表(6)
  18. C++_CTime/COleDateTime时间
  19. System.Diagnostics.Process 用处
  20. 计算机网络ap图片,苹果AirPort Express无线AP开箱图赏

热门文章

  1. 2023年Java面试题大全(最新版版)面试题附答案详解,看完BTA可进
  2. 欧式空间与酉空间——概念区分
  3. 800个有趣句子帮你记忆7000个单词
  4. PHP——四舍五入取整、向上取整、向下取整、小数截取
  5. 【python小作业】编写函数,接收一个任意字符串,返回其中最长的数字字串。要求使用正则表达式。
  6. 机械键盘的 黑轴/茶轴/青轴/红轴 有什么区别
  7. JVM (JAVA虚拟机)
  8. TreeView的使用方法
  9. 中科柏诚与知名上市公司南天信息(000948)签署战略合作协议
  10. go: cannot find main module, but found .git/config in