过拟合

机器学习中,如果参数过多、模型过于复杂,容易造成过拟合。

结构风险最小化原理

在经验风险最小化(训练误差最小化)的基础上,尽可能采用简单的模型,以提高模型泛化预测精度。

正则化

为了避免过拟合,最常用的一种方法是使用正则化,例如L1和L2正则化。

所谓的正则化,就是在原来损失函数的基础上,加了一些正则化项,或者叫做模型复杂度惩罚项。

L2正则化

L2正则化即:\(L=E_{in}+\lambda\sum_j\omega^2_j\),其中,\(E_{in}\)是原来的损失函数;\(\lambda\)是正则化参数,可调整;\(\omega_j\)是参数。

由上可知,正则化是为了限制参数过多,避免模型过于复杂。因此,我们可以令高阶部分的权重\(\omega\)为0,这样就相当于从高阶转换为低阶。然而,这是个NP难问题,将其适度简化为:\(\sum_j\omega_j^2≤C\),令\(\omega_j\)的平方和小于\(C\)。这时,我们的目标就转换为:令\(E_{in}\)最小,但是要遵循\(w\)平方和小于\(C\)的条件,如下图所示:

L1正则化

L1正则化和L2正则化相似:\(L=E_{in}+\lambda\sum_j|\omega_j|\),同样地,图形如下:

L1与L2正则化

满足正则化条件,实际上是求解上面图中红色形状与蓝色椭圆的交点,即同时满足限定条件和\(E_{in}\)最小化。

对于L2来说,限定区域是圆,这样得到的解\(\omega_1\)或\(\omega_2\)(以二元为例)为0的概率很小,且很大概率是非零的。

对于L1来说,限定区域是正方形,方形与蓝色区域相交的交点是顶点的概率很大,这从视觉和常识上来看是很容易理解的。也就是说,正方形的凸点会更接近 \(E_{in}\)最优解对应的\(\omega\)位置,而凸点处必有\(\omega_1\)或\(\omega_2\)为0。这样,得到的解\(\omega_1\)或\(\omega_2\)为零的概率就很大了。所以,L1正则化的解具有稀疏性。

扩展到高维,同样的道理,L2的限定区域是平滑的,与中心点等距;而 L1 的限定区域是包含凸点的,尖锐的。这些凸点更接近\(E_{in}\)的最优解位置,而在这些凸点上,很多\(\omega_j\)为0。

参考链接

https://www.jianshu.com/p/76368eba9c90

https://segmentfault.com/a/1190000014680167?utm_source=tag-newest

https://blog.csdn.net/red_stone1/article/details/80755144


作者:@臭咸鱼

转载请注明出处:https://www.cnblogs.com/chouxianyu/

欢迎讨论和交流!


L1与L2正则化的更多相关文章

  1. 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化

    1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...

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

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

  3. L1 与 L2 正则化

    参考这篇文章: https://baijiahao.baidu.com/s?id=1621054167310242353&wfr=spider&for=pc https://blog. ...

  4. Spark2.0机器学习系列之12: 线性回归及L1、L2正则化区别与稀疏解

    概述 线性回归拟合一个因变量与一个自变量之间的线性关系y=f(x).       Spark中实现了:       (1)普通最小二乘法       (2)岭回归(L2正规化)       (3)La ...

  5. day-17 L1和L2正则化的tensorflow示例

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

  6. 机器学习中的L1、L2正则化

    目录 1. 什么是正则化?正则化有什么作用? 1.1 什么是正则化? 1.2 正则化有什么作用? 2. L1,L2正则化? 2.1 L1.L2范数 2.2 监督学习中的L1.L2正则化 3. L1.L ...

  7. L1与L2正则化的对比及多角度阐述为什么正则化可以解决过拟合问题

    正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束.调整或缩小.也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险. 一. ...

  8. L1、L2正则化详解

    正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束.调整或缩小.也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险. 一. ...

  9. tensorflow 中的L1和L2正则化

    import tensorflow as tf weights = tf.constant([[1.0, -2.0],[-3.0 , 4.0]]) >>> sess.run(tf.c ...

随机推荐

  1. codevs1227:方格取数2

    题目描述 Description 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= )现在从(,)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该 ...

  2. BBC这10部国宝级纪录片,让孩子看遍世间最美的地方

    https://weibo.com/ttarticle/p/show?id=2309404382383649486138#related

  3. centos7 通过yum安装mysql

    但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.co ...

  4. MongoDB writeConcern原理解析--转载

    MongoDB支持客户端灵活配置写入策略(writeConcern),以满足不同场景的需求. db.collection.insert({x: 1}, {writeConcern: {w: 1}}) ...

  5. 创客课堂——Scratch的操作界面

    大家好,这里是蓝精灵创客公益课堂,我是蓝老师 上期我们了解了scratch软件进行了简单的了解,很多朋友都已经按照上期方法下载安装好了软件. 那么今天蓝老师就和大家一起认识下Scratch的操作界面及 ...

  6. java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast

    解决方案 在配置文件中配置proxy-target-class="true" <aop:aspectj-autoproxy proxy-target-class=" ...

  7. CAS 5.x搭建常见问题系列(3).Failure to find org.apereo.cas:cas-server-support-pm-jdbc:jar:5.1.9

    错误内容 cas overlay的pom.xml增加了cas-server-support-pm-jdbc.jary依赖后, 打包(mvn package)出现如下的报错 D:\casoverlay\ ...

  8. 如何将 HTML 转换为 XHTML

    1.添加一个 XHTML <!DOCTYPE> 到你的网页中 2.添加 xmlns 属性添加到每个页面的html元素中 3.改变所有的元素为小写 4.关闭所有的空元素 5.修改所有的属性名 ...

  9. 漏洞预警 | ThinkPHP 5.x远程命令执行漏洞

    ThinkPHP采用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库).RoR的ORM映射和ActiveRecord模式,是一款兼容性高.部署简单的轻量级国产PHP开发框 ...

  10. docker系列之六容器数据卷

    docker之容器数据卷 一.容器数据卷 docker容器运行的时候,会产生一系列的文件,那么我们希望容器产生的数据能提供给其他的容器使用,也就是说怎么实现容器间的数据的共享呢?这就需要用到我们所提到 ...