过拟合和欠拟合

什么是过拟合和欠拟合

过拟合:模型在训练集上效果好,在测试集上效果差

欠拟合:在训练集上效果就不好

产生过拟合的原因

  • 参数太多,模型复杂度太高
  • 数据量少,训练轮次过多
  • 样本中噪声较大,模型拟合了噪声特征

过拟合解决方法

  • 降低模型复杂度,使用小模型
  • 增加样本数量,数据增强,减少训练轮次
  • 使用正则项

正则项

正则化目的

平衡训练误差与模型复杂度,避免过拟合

L2正则项

L2正则就是在代价函数

后面加上一个正则化项:
表示原始代价函数,
就是L2正则项,是所有参数的平方和除以训练集样本数。

迭代时,代价函数对参数求导:

可以看出L2正则化对偏置

是没有影响的,只对参数
有影响

每一次迭代过程中,参数

都要先乘以
,因为
都是大于零的,所以
,效果是减小参数
, 我们把这一项成为权重衰减项weight_decay,每次进行参数更新时都要先乘这一项,也就会导致L2正则项得到的权重更加的

平滑。平滑也就意味着在一些困难样本处,模型不会因为这些样本导致自己过分的扭曲,从而避免过拟合。

L1正则项

L1正则就是在代价函数

后面加上一个正则化项:

求导得

其中

为符号函数,则参数的更新规则为:

比不使用正则项的更新规则多减了

。当
时,更新后的参数比不使用正则项的更小,当
时,更新后的参数比不使用正则项的更大,效果就是比不使用正则项的更加靠近0。当参数中的0变多,也就意味着模型更加的

稀疏,同时表明值为0的参数所对应的特征被过滤掉,具有特征选择的作用。

为什么L1正则具有稀疏性

  • 解空间角度

​等值线表示损失函数,等值线越小的表示损失越小,交点处是优化后的参数情况。可以看出,正则项是对参数取值设置了约束条件,使得损失值不能超过约束范围。

​L1正则有棱有角,更容易在顶点处相交(原因可以参考上一节的L1更新规则),此时

为0,只保留了
,因此L1具有稀疏性和特征选择性。
  • 贝叶斯先验角度
    参数模型表示为

    ,数据样本
    .则极大似然估计MLE可表示为
    后验概率为
    取对数后,
    ,我们在优化过程中,一般是求最小值,因此对
    求最小值即可。将MLE表达式代入到后验概率中

​假设

满足拉普拉斯分布,

​优化函数相当于

​假设

满足高斯分布,

​优化函数相当于

​由图中可以看出,如果满足拉普拉斯分布,相比于高斯分布来说,参数

会有更大的概率取到0,即具有稀疏性。

正则过滤符号_多角度理解正则项相关推荐

  1. 没有为 ucrtbase.dll 加载符号_深入理解Java虚拟机(类加载机制)

    上一篇文章我们介绍了「类文件结构」,这一篇我们来看看虚拟机是如何加载类的. 我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行.虚拟机把描述类的数据从 Class 文件加载到内 ...

  2. 协同过滤算法的简单理解《推荐系统实践》

    协同过滤算法的简单理解 本文主要是讲解一下<推荐系统实践>中UserCF和ItemCF这两种基于领域的推荐算法,写出自己的理解. UserCF(基于用户的协同过滤算法) 这种推荐算法的出发 ...

  3. 移动端input、textarea、div(contenteditable )输入框正则过滤(兼容ios)

    目录 一.已知问题及解决方案概述: 1.高度自适应 2.ios无法拼音输入 3.ios过滤符号输入 二.完整代码示例 一.已知问题及解决方案概述: 1.高度自适应 问题:input无法换行:texta ...

  4. 【元宇宙】元宇宙(metaverse)的简介(多角度理解与探讨)、发展历史、现状与未来

    High&NewTech:元宇宙(metaverse)的简介(多角度理解与探讨).发展历史.现状与未来 导读:博主曾在去年,2020年9月份撰写了一篇文章<AGI:走向通用人工智能的[哲 ...

  5. 深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf

    深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf

  6. php过滤句尾空格,php正则过滤各种标签,空格,换行符的实现方法

    这篇文章主要为大家详细介绍了php正则过滤各种标签,空格,换行符的实现方法,具有一定的参考价值,可以用来参考一下. 经测试代码如下: $str=preg_replace("/\s+/&quo ...

  7. C#_深入理解Unity容器

    C#_深入理解Unity容器 一.背景 **DIP是依赖倒置原则:**一种软件架构设计的原则(抽象概念).依赖于抽象不依赖于细节 **IOC即为控制反转(Inversion of Control):* ...

  8. JS字符串过滤数字_过滤大写数字

    JS字符串过滤数字_过滤大写数字 代码案例: //数字替换 if(data.summary){data.summary=data.summary.replace(/[\d|壹|贰|叁|肆|伍|陆|柒| ...

  9. 负数转换为无符号数据类型的理解及应用

    负数转换为无符号类型数据的理解及应用 负数转换为无符号数据类型的理解及应用 有符号整型和无符号整型的转换 有符号类型和无符号类型的转换应用实例 参考文献 负数转换为无符号数据类型的理解及应用 网上有大 ...

最新文章

  1. 如何发布自己的NPM包(模块)?
  2. XCode 学习技巧之 User Scripts
  3. hive处理json数据_(转)hive中解析json数组
  4. 12 HTML5中的影音播放
  5. jquery的attr和prop区别之实例
  6. element显示true或者false_vue+element-ui实现行数可控的表格输入
  7. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
  8. 异步复位的串联T触发器
  9. 使用IntelliJ IDEA导入 Flink 消费kafka报错 Error: A JNI error has occurred, please check your installation an
  10. 英语四级真题作文 计算机,2019年12月英语四级写作范文:电脑
  11. Nginx: error while loading shared libraries: libpcre.so.1解决
  12. 《Mahout算法解析与案例实战》一一2.3 测试安装
  13. OSPF NSSA区域路由的计算过程与FA值实验
  14. FastCGI 使用介绍
  15. 最新app源码下载:200款优秀Android项目源码
  16. fastboot下载大镜像报错 remote: data too large
  17. python sorted排序原理_python的sorted排序详解
  18. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day22】—— 并发编程2
  19. 鸿蒙HarmonyOS开发环境初识及搭建
  20. 无代码资讯 | 数睿数据受邀参加“聚势生态·携手共赢”2021Tridium生态发展大会

热门文章

  1. python init方法做了什么_Python类方法、__new__方法和__init__方法分别是什么
  2. Python二级笔记(5)
  3. 向上传文件服务器,向服务器上传文件
  4. 悼念512汶川大地震遇难同胞——选拔志愿者【博奕】
  5. 教程 | 如何利用C++搭建个人专属的TensorFlow
  6. ZooKeeper学习笔记—配置管理
  7. 图说 mysql 事务隔离级别
  8. CSS 实现按钮及线呼吸灯效果
  9. tomcat 启用NIO
  10. java查询SQLServer遇到问题:对象名无效。