1. 过拟合是什么?

 https://www.zhihu.com/question/264909622    那个英文回答就是说h1、h2属于同一个集合,实际情况是h2比h1错误率低,你用h1来训练,用h2来测试,但h1的准确率比h2却高

个人理解:网络过分学习了训练集的特征,把不是这个训练集本质的特征也学习进去了,导致模型不能在测试集正确识别(记得统计学习方法里面有一个配图,一条曲线过分学习特征)。或者说,训练集的准确率很高,但测试集的准确率很低。在training data上的error渐渐减小,可是在验证集上的error却反而渐渐增大。

自己在工程中遇到过,27w次的loss比21w次低,但测试集27w的准确率比21w次低。

2. 解决办法?1.数据增强

      2.更简单的模型,参数更少

      3.early stopping。提前终止网络学习,自己之前做的27w迭代期比21w迭代期的在测试集上ap值更低,可以把21w的作为最终的训练结果。

      4.l1、l2正则(往往说的weight decay其实也就是这个,在loss上加l1、l2.我自己写的weight decay的总结http://www.cnblogs.com/ymjyqsx/p/9160852.html)

      5.增加噪声

      6.dropout

      7.

3. L1、L2怎么解决过拟合?

https://blog.csdn.net/jinping_shi/article/details/52433975

    1. l1正则是所有权重绝对值之和,l2正则化是所有权重的平方和再开平方根。

  2. l1可以产生稀疏模型,用于特征选择(为什么会产生稀疏模型,用2维平面loss函数的等值线和正则的线进行图解,l1正则有更多凸点,这些凸点与等值线相交的概率比其他点更大,这些凸点的坐标是一个为0,另一个不为0,也就进行了特征选取。为什么l2不容易产生稀疏模型,因为l2是在二维上是一个圆形,l2的凸点与等值线的相交的概率要比其他点小)。l2可以获得值很小的参数(推参数更新的公式)。

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

   4. l1中λ越大,x越小,也就是参数越小(你可以拿y = ax这个函数做类比,a越大,x就算取更小的值都能取到原来大小的值)。λ越大,越容易在0点取到最小值。l2中λ越大,w衰减的越快(参数更新公式)

过拟合是什么?如何解决过拟合?l1、l2怎么解决过拟合的更多相关文章

  1. 防止过拟合:L1/L2正则化

    正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...

  2. linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题

    linux上搭建ftp 重要 解决如何搭建ftp         解决用户指定访问其根目录         解决访问ftp超时连接         解决ftp主动连接.被动连接的问题 1.安装ftp ...

  3. L1正则化可以解决过拟合问题(稀疏解)

    损失函数最小,也就是求极值点,也就是损失函数导数为0.上面也说了,如果d0+λ和d0-λ为异号的时候刚好为极值点,损失函数导数为0(w为0是条件).而对于L2正则化,在w=0时并不一定是极值点而是d0 ...

  4. java中文乱码解决之道(八)-----解决URL中文乱码问题

    我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不 ...

  5. SVN svnserve.conf: Option expected 的解决方法 以及 Authorization failed 的解决方法

    ① 在 CentOS 6.5 上安装配置了 SVN,在本地 Checkout 的时候报错: 显示:/www/svnroot/webfile/conf/svnserve.conf:12: Option ...

  6. blocked because of many connection errors; unblock with 'mysqladmin flush-hosts;MySQL在远程访问时非常慢的解决方法;MySql链接慢的解决方法

     一:服务器异常:Host 'xx.xxx.xx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin ...

  7. 题目1437:To Fill or Not to Fill:贪心算法解决加油站选择问题(未解决)

    //贪心算法解决加油站选择问题 //# include<iostream> # include<stdio.h> using namespace std; # include& ...

  8. android动画特效之解决解决移动后闪烁现象,解决输入法弹出后位置回复原状,解决两个动画叠加

    以下代码实现的效果是: BoundOpenView从居中移动到顶部,移动完后,BoundSendView从隐藏变为显示,并从顶部移动BoundOpenView下方20dp处,同时透明度慢慢增加. pr ...

  9. MAC 系统升级10.10以后PHP验证码错误的解决办法。[ 一行代码轻松解决! ]

    MAC 升级到10.10 以后PHP版本为5.5,初步判定是由于FreeType 字体库的原因,导致GD库有些问题,总之就是验证码出不来.很多大牛给出的办法是重新编译PHP,这对于手头有项目的人来说可 ...

随机推荐

  1. cloudermanager安装过程中出现W:GPG error错误 http://ppa.launchpad.net.trusty Release **** 4DF9B28CA252A784(图文详解)

    不多说,直接上干货! 问题详情  解决办法 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4DF9B28CA252A784 ...

  2. Fastjson解析多级泛型的几种方式—使用class文件来解析多级泛型

    Fastjson解析多级泛型 前言 现在网上大多数是使用TypeReference 方式来解析JSON数据,这里我提供另外一种方式来解析,使用类文件进行解析,两种方式我都会给出实际代码 实例 Type ...

  3. ie兼容性问题汇总

    1.eval函数 <script type="text/javascript"> //eval的兼容性 var s="function(){alert('te ...

  4. C++ Memory System Part1: new和delete

    在深入探索自定义内存系统之前,我们需要了解一些基础的背景知识,这些知识点是我们接下来自定义内存系统的基础.所以第一部分,让我们来一起深入了解一下C++的new和delete家族,这其中有很多令人吃惊的 ...

  5. ZOJ 1610——Count the Colors——————【线段树区间替换、求不同颜色区间段数】

    Count the Colors Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Subm ...

  6. Bootstrap table使用知识-转

    http://www.cnblogs.com/landeanfen/p/5005367.html 官方文档:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ ...

  7. git使用方法记录

    git是一个分布式的代码版本管理系统,使用起来的确很方便,已签只会star别人的项目,今天刚好有空抽点时间学了一下,简单的几个命令的用法. 首先在giuhub上可以托管代码,然后可以将远程仓库拖到本地 ...

  8. 深入理解JavaScript系列(5):强大的原型和原型链

    前言 JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型. 虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大.实 ...

  9. sass继承

    @extend sass中,选择器继承可以让选择器继承另一个选择器的所有样式,并联合声明.使用选择器的继承,要使用关键词@extend,后面紧跟需要继承的选择器. scss.style css.sty ...

  10. 解决Tensorflow源码安装的之后TensorBoard 无法使用的问题

    作者  cnblog 修雨轩陈 我是按照 Tensorflow 下 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3 ...