对L1正则化和L2正则化的理解[通俗易懂]

一、奥卡姆剃刀(Occam’srazor)原理:     在所有可能选择的模型中,我们应选择能够很好的解释数据,并且十分简单的模型。从贝叶斯的角度来看,正则项对应于模型的先验概率。可以假设复杂模型有较小的先验概率,简单模型有较大的先验概率。  二、正则化项     2.1、什么是正则化?   正则化是结构风险最小化策略的实现,在经验风险上加一个正则项或罚项,正则项一共有两种L1…

大家好,又见面了,我是你们的朋友全栈君。

一、 奥卡姆剃刀(Occam’s razor)原理:

         在所有可能选择的模型中,我们应选择能够很好的解释数据,并且十分简单的模型。从贝叶斯的角度来看,正则项对应于模型的先验概率。可以假设复杂模型有较小的先验概率,简单模型有较大的先验概率。   

二、正则化项

     2.1、什么是正则化?

      正则化是结构风险最小化策略的实现,在经验风险上加一个正则项或罚项,正则项一共有两种L1正则化和L2正则化,或者L1范数和L2范数。对于线性回归模型,使用L1正则化的模型叫做Lasso回归;使用L2正则化的模型叫做Ridge回归(岭回归)

     2.2、正则化项和模型复杂度之间的关系

        正则化项一般是模型复杂度的单调递增的函数,模型越复杂,正则化值越大。

    一般来说,监督学习可以看做最小化下面的目标函数:

      对L1正则化和L2正则化的理解[通俗易懂]

       上式中的第1项为经验风险,即模型f(x)关于训练数据集的平均损失;第2项为正则化项,去约束我们的模型更加简单

三、L1范数

     3.1概念: L1范数是指向量中各个元素绝对值之和。

对L1正则化和L2正则化的理解[通俗易懂]

     3.2 为什么L1范数会使权值稀疏?

        任何的正则化算子,如果他在Wi=0的地方不可微,并且可以分解为“求和” 的形式,那么这个正则化算子就可以实现稀疏。

   3.3 参数稀疏有什么好处?

    (1)特征选择(Feature Selection)

      参数稀疏规则化能够实现特征的自动选择,在特征工程的过程中,一般来说,xi的大部分元素(特征)都和其标签yi没有关系的。我们在最小化目标函数的时候,考虑了这些无关特征,虽然可以获得最小的训练误差,但是对于新的样本时,这些没用的信息反而被考虑,干扰了对样本的预测。稀疏规则化将这些没用的特征的权重置为0,去掉这些没用的特征。

     (2)可解释性

     将无关特征置为0,模型更容易解释。例如:患某种病的概率为y,我们收集到的数据x是1000维的,我们的任务是寻找这1000种因素是如何影响患上这种病的概率。假设,我们有一个回归模型:y=w1*x1+w2*x2+…+w1000*x1000+b,通过学习,我们最后学习到w*只有很少的非零元素。例如只有5个非零的w*,那么这5个w*含有患上这种病的关键信息。也就是说,是否患上这种病和这5个特征相关,那事情变得容易处理多了。

四、L2范数

     4.1 概念:L2范数是指向量各元素的平方和然后再求平方根。

对L1正则化和L2正则化的理解[通俗易懂]

        正则化项可以取不同的形式。对于回归问题中,损失函数是平方损失,正则化项为参数向量L2的范数。

     4.2 为什么L2范数可以防止过拟合?

        左一:欠拟合;中间:正常拟合;右侧:过拟合

对L1正则化和L2正则化的理解[通俗易懂]

线性回归拟合图

       让L2范数的正则项||W||2最小,可以使得W的每个元素都很小,都接近于0。(L1范数让W等于0),而越小的参数说明模型越简单,越简单的模型越不容易产生过拟合的现象。(结合上图线性回归拟合图可知,限制了某些参数很小,其实也就限制了多项式的某些分量的影响很小,这也就相当于减少了变量的个数)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128182.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • spring整合Mybatis-plus[通俗易懂]

    spring整合Mybatis-plus[通俗易懂]spring整合Mybatis-plus今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。既然是spring,那就少不了各种xxx.xml配置文件。那就先说说配置文件<1>.application-dao.xmldao层的配置,他的核心就是要产生Mapper代理对象 1、数据源的配置<context:prope…

    2022年6月6日
  • android 浏览器全屏显示[通俗易懂]

    android 浏览器全屏显示[通俗易懂]业务需求:浏览器设置中支持全屏显示的功能。 分析:只需要在设置界面上增加是否全屏的checkBox, 然后BrowserActivity中读取这个值, 来设置窗口的Style. 修改: 1. 修改项目下的res/xml文件夹下的browser_preferences.xml文件, 添加&lt;CheckBoxPreference     …

    2022年5月14日
  • Redis在windows下安装过程

    Redis在windows下安装过程

    2021年10月10日
  • oracle修改用户的密码_修改linux用户密码

    oracle修改用户的密码_修改linux用户密码oracle中修改用户密码首先是win键+R输入cmd输入sqlplus/assysdba,回车,此时进入到SQL>输入alterusersystemidentifiedbysystem;这行代码的意思就是修改system用户的密码为system(注意:代码末尾要加上;分号)…

    2022年7月28日
  • 谷歌清楚缓存快捷键_清除浏览器缓存的快捷键是什么

    谷歌清楚缓存快捷键_清除浏览器缓存的快捷键是什么我们经常会遇到这些情况,浏览器打开网页打不开,打开网页老是在加载。尤其是在我们在做网页设计的时候,经常预览结果往往没有出现我们想要的结果,很大可能性就是浏览器的缓存没有清除引起的。那么清除浏览器缓存的快捷键是什么呢?佰佰安全网就带大家来了解一下这些打开浏览器,按Ctrl+Shift+Delete,就会出现清除浏览器缓存的框,你可以选择你要清理的东西,点击ok,一切搞定。各种浏览器清除缓存数据的方法…

    2022年7月18日
  • oracle中number的用法,Oracle Number数字

    oracle中number的用法,Oracle Number数字oracle函数的OracleNumber数字在本教程中,您将学习OracleNUMBER数据类型以及如何使用它来为表定义数字列。OracleNUMBER数据类型简介OracleNUMBER数据类型用于存储可能为负值或正值的数值。以下说明了NUMBER数据类型的语法:NUMBER[(precision[,scale])]OracleNUMBER数据类型具有以下精度和尺度。精度是一…

    2022年7月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号