一、正则化(Regularization)

~~~~~~~~机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。

~~~~~~~~L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。下图是Python中Lasso回归的损失函数,式中加号后面一项α||w||1α||w||1即为L1正则化项。

下图是Python中Ridge回归的损失函数,式中加号后面一项α||w||22α||w||22即为L2正则化项。

一般回归分析中回归ww表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下

L1正则化是指权值向量ww中各个元素的绝对值之和,通常表示为||w||1||w||1
L2正则化是指权值向量ww中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为||w||2||w||2
一般都会在正则化项之前添加一个系数,Python中用αα表示,一些文章也用λλ表示。这个系数需要用户指定。

那添加L1和L2正则化有什么用?下面是L1正则化和L2正则化的作用,这些表述可以在很多文章中找到。

● L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择
● L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

稀疏模型与特征选择

上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

L1和L2正则化的直观理解

这部分内容将解释为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合

L1正则化和特征选择

假设有如下带L1正则化的损失函数:
                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


图2 L2正则化

二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此J0J0与LL相交时使得w1w1或w2w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。

L2正则化和过拟合

拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

正则化参数的选择

L1正则化参数

通常越大的λλ可以让代价函数在参数为0时取到最小值。下面是一个简单的例子,这个例子来自Quora上的问答。为了方便叙述,一些符号跟这篇帖子的符号保持一致。

假设有如下带L1正则化项的代价函数:


图3 L1正则化参数的选择

分别取λ=0.5λ=0.5和λ=2λ=2,可以看到越大的λλ越容易使F(x)F(x)在x=0x=0时取到最小值。

L1和L2简单易懂的理解相关推荐

  1. 损失函数中正则化项L1和L2的理解

    正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L ...

  2. python计算两张图像的L1和L2损失

    理解 损失函数中正则化项L1和L2的理解: https://blog.csdn.net/fjssharpsword/article/details/78842374 过拟合的解释:  https:// ...

  3. 深入理解L1、L2正则化

    过节福利,我们来深入理解下L1与L2正则化. 1 正则化的概念 正则化(Regularization) 是机器学习中对原始损失函数引入额外信息,以便防止过拟合和提高模型泛化性能的一类方法的统称.也就是 ...

  4. [机器学习]正则化项L1和L2的学习与理解

    正则化项L1和L2的学习与理解 一,正则化(Regularization) 稀疏模型与特征选择的关系 二, 为什么L1产生稀疏模型而L2可以防止过拟合 1, L1和L2正则化的直观理解 正则化和特征选 ...

  5. 简单理解L0、L1与L2范数

    机器学习中的范数规则化之(一)L0.L1与L2范数 监督机器学习问题无非就是"minimizeyour error while regularizing your parameters&qu ...

  6. 深入理解L0,L1和L2正则化

    正则化技术是机器学习中常用的技术,一般是用来解决过拟合问题的.为什么范数可以作为机器学习的正则化项?为什么L1正则化可以用来进行特征选择的工作?为什么正则化可以解决过拟合问题?本篇博客从机器学习中为什 ...

  7. L1,L2正则化理解-奥卡姆剃刀(Occam's razor)原理

    L0.L1与L2范数转自:zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的 ...

  8. 深度学习正则化(L1 norm/L2 norm)以及dropout理解

    正则化知识其实是深度学习领域较为基础的知识点,初入此门的时候受限于正则化三个字的逼格,一直不求甚解:后期虽然了解但也仅限于L1和L2范数而已.恰巧上周在谢毅博士的课上旁听,讲到过拟合相关知识,后续和捷 ...

  9. l2范数求导_理解L1,L2 范数在机器学习中应用

    理解L1,L2 范数 L1,L2 范数即 L1-norm 和 L2-norm,自然,有L1.L2便也有L0.L3等等.因为在机器学习领域,L1 和 L2 范数应用比较多,比如作为正则项在回归中的使用 ...

最新文章

  1. 超详细find命令解析,一遍就会!!!
  2. 【c语言】求n个整数的和
  3. 互斥信号量的等待与通知
  4. 按键精灵安卓怎么可以获取屏幕上的数字_安卓11来了,感受一下
  5. [C++STL]C++实现queue容器适配器
  6. 铺设道路(洛谷P5019题题解,Java语言描述)
  7. 信息学奥赛一本通(1070:人口增长)
  8. java多个数据库_java – 我们可以有多个dataSources到单个数据库
  9. spring事务管理中,用try-catch处理了异常,事务也会回滚?
  10. 在线YAML转XML工具
  11. 在LaTeX中使用BibTeX时的一个问题及其解决:编译PDF不随bib文件更新
  12. 前端怎样让图片缩小像素值不失真_纹理优化:不仅仅是一张图片那么简单
  13. 转移 AD Time Server
  14. Linux操作系统应用领域详解
  15. 机器学习11种优化器推导过程详解(SGD,BGD,MBGD,Momentum,NAG,Adagrad,Adadelta,RMSprop,Adam,Nadma,Adamx)
  16. python 中文字符串 编码转换_Python合集之Python字符串编码转换
  17. 3. 一元函数积分学
  18. Words Reciting 2016.5.4
  19. 元图地图开放平台正式发布 --- 首款基于CAD图形的地图平台
  20. 红米note3双网通丨标注:2015617_官方线刷包_救砖包_解账户锁

热门文章

  1. java路上偶遇占小狼
  2. 李开复:未来最重要的不是操作系统 而是浏览器
  3. 推荐的四款产品原型设计工具
  4. 区块链是什么通俗解释_区块链技术是什么?区块链的通俗解释原来是这样!
  5. 个人使用计算机习惯、注意事项及日常维护
  6. 如何制作动态图片gif
  7. 优麒麟 22.04 LTS 版本正式发布 | UKUI 3.1开启全新体验
  8. HTML5滑动(swipe)事件,移动端触摸(touch)事件
  9. 伊美尔在港招股书失效:首次冲刺上市折戟,曾多次遭到处罚
  10. 背包问题贪心算法求解