过拟合的原因+处理方法
来源:互联网 发布:c语言读取xml配置文件 编辑:程序博客网 时间:2024/05/16 07:58
过拟合的原因
1. 我们得到的模型g 太复杂。f很小,g 太大,会过拟合
2. 原本的模型(目标函数) f 太复杂 。g达不到f的形式,也会产生过拟合。模型f太复杂,其实也是一种噪声。
3. 数据的 noise 太大。(所以,有问题的数据一定要删除掉,不然模型就会严重错误。就像那次 仓库优化的项目一样) 这种情况下2做的比10好
4. 数据量受限。
我们现在举两个例子。
这里,我们的target function 目标函数f是10次方的。我们的数据样本x的标签 y 有一定的噪声noise。
我们分别用二次函数
我们再看一个例子
这里,我们的target function 目标函数f是50次方的。我们的数据样本x的标签 y 没有噪声noise。
我们分别用二次函数
所以,二次的
原因在于,我们的目标函数 f太复杂(50次),再加上数据量N小,其实这就是一种noise。因为数据量小,并不能表示出这是50次函数得到的数据,如此小的数据看上去就是噪声。
因此,在数据量小的情况下,及时你知道目标函数f是10次或者更高,你用10次的模型去拟合,得到的结果也没有用2次的模型去拟合得到的效果好。
f很复杂,那么就更容易过拟合所以数据量小的情况,简单的模型更容易会赢。
所以,以后建模的时候,一定要从简单的模型开始,即使你知道目标函数的形式。
现在我们来看看,noise,模型复杂度,数据量三者对过拟合的影响!!!
我们假设样本的y由真实值f(x),和噪声
假设y为高斯分布,那么他的噪声
那么,在保持模型的复杂度
在保持噪声水平
那么根据上面两图,我们可以知道过拟合形成的原因有:
1. 数据量N太小,会产生过拟合。(因为两个图,左边,红色很深)
2. 不确定噪声(就是
3. 确定噪声(就是模型的复杂度
4. 拟合模型g太复杂,会产生过拟合。(根据第二个图,发现,当
那么解决过拟合的方法有:
这四种方法:
1. 从简单的模型开始
2. 数据清洗(修改 或者 删除)
3. 增大数据N
3. 数据提示data hinting,(人工合成数据,来增大N)
4. 规范化 (下节课讲解)(其实就是加上 惩罚函数比如 L2 )
5. 验证 (下下节课讲)
数据清洗,就是有的数据修改标签,或者直接把这个数据删除掉,不要了。
我们希望增大数据量,但是有的时候,数据量并不好获得,那么我们可以考虑一下 数据提示data hinting.
data hinting:有时数据资料无法收集太多,那么我们可以从现有的资料,或者你对这个问题的了解去产生新的或者更多的资料,也就是给机器学习算法多一点的提示。
比如,我们做手写数字识别,但是样本很少。我们就可以把有的数据改一下成为新的数据。比如把数字‘3’向左稍微的挪一下,把某数据稍微的旋转一下,以此获得新数据。但是这有缺点,因为我们所有的模型都是假设数据服从iid条件的,即所有数据都是独立的,服从同一分布的。我们这样修改,一定要小心,要不然构造的虚拟样本不服从原来分布就不好了。
- 过拟合的原因+处理方法
- 防止过拟合的处理方法
- 防止过拟合的处理方法
- 防止过拟合的处理方法
- 防止过拟合的处理方法
- 防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 机器学习中防止过拟合的处理方法
- 二次指数平滑法求预测值的Java代码
- 第一篇博客
- CSS 实现 系统登录界面 (二)
- CodeChef COT5 线段树
- Leetcode-combinations
- 过拟合的原因+处理方法
- 统计
- 最少拦截系统 hd 1257
- 【NOIP2016提高A组8.11】自然数
- 虚拟机中 共享网络, 桥接网络,NAT,host-only 几种网络连接方式
- 理解DOM事件流的三个阶段
- 第八天 平衡二叉树
- C# 装箱和拆箱
- SpringMVC实现REST风格URL的两种方法