过拟合是什么?如何解决过拟合?l1、l2怎么解决过拟合
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怎么解决过拟合的更多相关文章
- 防止过拟合:L1/L2正则化
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题
linux上搭建ftp 重要 解决如何搭建ftp 解决用户指定访问其根目录 解决访问ftp超时连接 解决ftp主动连接.被动连接的问题 1.安装ftp ...
- L1正则化可以解决过拟合问题(稀疏解)
损失函数最小,也就是求极值点,也就是损失函数导数为0.上面也说了,如果d0+λ和d0-λ为异号的时候刚好为极值点,损失函数导数为0(w为0是条件).而对于L2正则化,在w=0时并不一定是极值点而是d0 ...
- java中文乱码解决之道(八)-----解决URL中文乱码问题
我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不 ...
- SVN svnserve.conf: Option expected 的解决方法 以及 Authorization failed 的解决方法
① 在 CentOS 6.5 上安装配置了 SVN,在本地 Checkout 的时候报错: 显示:/www/svnroot/webfile/conf/svnserve.conf:12: Option ...
- 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 ...
- 题目1437:To Fill or Not to Fill:贪心算法解决加油站选择问题(未解决)
//贪心算法解决加油站选择问题 //# include<iostream> # include<stdio.h> using namespace std; # include& ...
- android动画特效之解决解决移动后闪烁现象,解决输入法弹出后位置回复原状,解决两个动画叠加
以下代码实现的效果是: BoundOpenView从居中移动到顶部,移动完后,BoundSendView从隐藏变为显示,并从顶部移动BoundOpenView下方20dp处,同时透明度慢慢增加. pr ...
- MAC 系统升级10.10以后PHP验证码错误的解决办法。[ 一行代码轻松解决! ]
MAC 升级到10.10 以后PHP版本为5.5,初步判定是由于FreeType 字体库的原因,导致GD库有些问题,总之就是验证码出不来.很多大牛给出的办法是重新编译PHP,这对于手头有项目的人来说可 ...
随机推荐
- 一个新时代的UI设计师需要具备这些技能
如今互联网行业发展如日中天,设计师本就是稀缺人才.再加上未来也将迎接人工智能时代,未来的设计师不只像现在只是做一些网页.APP界面,还会出现更多的UI设计衍生职业.如下列举的几大类: 一.初级阶段 1 ...
- k8s 集群搭建
一,环境介绍 master node1 node2 IP 192.168.0.164 192.168.0.165 192.168.0.167 环境 centos 7 centos 7 centos ...
- 在Spark shell中基于HDFS文件系统进行wordcount交互式分析
Spark是一个分布式内存计算框架,可部署在YARN或者MESOS管理的分布式系统中(Fully Distributed),也可以以Pseudo Distributed方式部署在单个机器上面,还可以以 ...
- Oracle命令整理
1 常用命令 常用命令 1 sqlplus scott/tiger@192.168.47.10:1521/orcl 后面不要加: sqlplus sys/oracle as sysdb ...
- pat09-散列1. Hashing (25)
09-散列1. Hashing (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue The task of ...
- Java学习第十八天
1:Map(掌握) (1)将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯一,值可以重 ...
- RocketMQ3.2.6安装部署及调用
RocketMQ3.2.6安装部署及调用 1.RocketMQ部署架构 所有IP都是127.0.0.1,其中NameServer一个,Broker一个,Producer一个,Consumer一个 2. ...
- C#事件(event)解析委托
namespace Vczx.ProCSharp.Event { /// <summary> /// 类EatEventArgs 必须继承自类EventArgs,用来引发事件时封装数据 / ...
- SQL 表定时同步
1.创建存储过程 create proc [dbo].[sync_calendar] as truncate table dbo.CalendarEvents insert into Calendar ...
- android device ID获取
Android Device ID是Android用户在Google认证过手机的设备唯一标识,当然国内很多Android手机没有经过Google认证,所以一般没有Google官方Android de ...