向自己提问题是一个很好的学习方式。


问题: 如何解决过拟合(overfiting)?

在解决这个问题之前先明确问题是什么.这涉及到另外一些问题,什么是过拟合?过拟合与什么因素有关?等等

答:

1)直观理解过拟合

先说说经验误差,学习器在训练集上的预测值和真实值之间的差异称为经验误差。我们希望经验误差越小越好,但是当经验误差太小,以至于精确度约为100%时,我们就怀疑这个模型出现了过拟合。
所谓的过拟合就是学习器从数据中学得太多,已经把训练样本的某一些特点当作是所有潜在样本都会具有的一般性质。

2)从数学上理解过拟合

在监督学习中,我们所说的模型实际上是一个决策函数,对于给定的输入X,函数给出预测值f(X),f(X)f(X)与真实值可能一致也可能不一致,通常使用损失函数(loss function)或者代价函数(cost function)来 衡量预测错误的程度,记为L(Y,f(X))L(Y,f(X))。常用的的损失函数有一下几种:

如果我们把输入和输出都看做随机变量,那么这两个随机变量会有联合分布P(X,Y), 考虑其损失函数的期望, 即平均意义下的损失,也称为风险函数或者期望损失:

Rexp=Ep[L(Y,f(X))]=∫L(Y,f(X))P(x,y)dxdyRexp=Ep[L(Y,f(X))]=∫L(Y,f(X))P(x,y)dxdy

实际中我们并不能得到期望损失,因为我们不知道联合分布。
我们总是训练模型,用模型的经验损失去近似期望损失。经验损失是模型上训练集的平均损失,表示为

Remp(f)=1N∑i=1NL(yi,f(xi)Remp(f)=1N∑i=1NL(yi,f(xi)

只有在数据量大的时候,使用模型的经验损失去近似期望损失才会比较理想,当数据量小的时候,这个近似并不理想。

解决办法是经验风险最小化和结构风险最小化策略。
经验风险最小化可以使用下式表示:

minRemp(f)=1N∑i=1NL(yi,f(xi)minRemp(f)=1N∑i=1NL(yi,f(xi)

极大似然估计是经验风险最小的一个例子。
使用经验风险最小策略的问题: 当样本不足或者很小时,经验风险最小化学习的效果不一定好,会产生过拟合。
这里从另外一个角度理解什么是过拟合。

3) 解决方法:

防止过拟合的方法就是使结构风险最小化,等价于正则化。
结构风险是在经验风险上加上表示模型复杂度的正则化或者罚项,如下式:

Rsrm(f)=1N∑i=1NL(yi,f(xi)+λJ(f)Rsrm(f)=1N∑i=1NL(yi,f(xi)+λJ(f)

模型越复杂,复杂度J(f)J(f)越大,反之越小。复杂度表示对模型的惩罚。
λ≥0λ≥0用于衡量经验风险和模型复杂度。
这个策略认为结构风险最小的模型是最优模型,从而把监督学习问题变成了经验风险函数或者结构风险函数的最优化问题。

4)一个多项式拟合问题


使用M次多项式对10个数据点进行拟合:

fM(x,w)=w0+w1x+w2x2+...+wMxMfM(x,w)=w0+w1x+w2x2+...+wMxM

我们会发现当M=9时,没有任何误差,已经过拟合。

5) one more thing

李航的书中还提到模型复杂度和预测误差的关系,这也涉及到泛化能力的问题。

更进一步,什么是欠拟合?如何解决欠拟合?


参考:
周志华《机器学习》
李航《统计学习方法》

转载于:https://www.cnblogs.com/siucaan/p/9623174.html

问题1 机器学习篇 如何解决过拟合(overfiting)?相关推荐

  1. 神经网络怎么解决过拟合,解决神经网络过拟合

    如何防止神经网络过拟合,用什么方法可以防止? 你这个问题本来就问的很模糊,你是想问神经网络的过拟合变现什么样还是为什么出现过拟合呢. 为此针对于第一个问题,神经网络的过拟合与支持向量机.高斯混合模型等 ...

  2. 【机器学习】L1正则化与L2正则化详解及解决过拟合的方法

    在详细介绍L1与L2之前,先讲讲正则化的应用场景. 正则化方法:防止过拟合,提高泛化能力 所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越, ...

  3. 机器学习中常见的过拟合解决方法

    机器学习中常见的过拟合解决方法 参考文章: (1)机器学习中常见的过拟合解决方法 (2)https://www.cnblogs.com/jiangxinyang/p/9281107.html 备忘一下 ...

  4. 【机器学习】什么是过度拟合?如何解决过度拟合?

    系列文章目录 第九章 Python 机器学习入门之过度拟合问题及解决办法 系列文章目录 文章目录 前言 一. 什么是过拟合 ? 我们可以通过几个例子来了解一下什么是过拟合,​编辑1 线性回归中的过拟合 ...

  5. 2.3 利用正规化解决过拟合问题-机器学习笔记-斯坦福吴恩达教授

    利用正规化解决过拟合问题 在之前的文章中,我们认识了过拟合问题,通常,我们有如下策略来解决过拟合问题: 减少特征数,显然这只是权宜之计,因为特征意味着信息,放弃特征也就等同于丢弃信息,要知道,特征的获 ...

  6. 使用学习曲线(Learning curve),判断机器学习模型过拟合、欠拟合,与解决过拟合、欠拟合的问题

    文章目录 1.基本概念 过拟合与欠拟合 根据学习曲线判断过拟合.欠拟合 2.示例代码:绘制学习曲线 3.解决过拟合.欠拟合 解决过拟合 解决欠拟合 4. 过拟合.欠拟合的深层理解 1.基本概念 过拟合 ...

  7. Python 机器学习——解决过拟合的方法

    四种常用的解决过拟合(tackle overfitting)的方法,以思维导图的方式展示如下: 对神经网络而言,"choose a simpler model with fewer para ...

  8. 【机器学习】多项式回归案例五:正则惩罚解决过拟合(Ridge回归和Lasso回归)

    正则惩罚解决过拟合(Ridge回归和Lasso回归) 案例五: 正则惩罚解决过拟合(Ridge回归和Lasso回归) 3.2.1 模块加载与数据读入 3.2.2 特征工程 3.2.3 模型搭建与应用 ...

  9. 机器学习中用来防止过拟合的方法有哪些?

     机器学习中用来防止过拟合的方法有哪些? 雷锋网(公众号:雷锋网)按:本文作者 qqfly,上海交通大学机器人所博士生,本科毕业于清华大学机械工程系,主要研究方向机器视觉与运动规划,会写一些好玩的 ...

最新文章

  1. 一年暴增1600万程序员!GitHub 2021年度报告发布:中国755万开发者排全球第二
  2. 伸展树算法c语言,数据结构伸展树介绍及C语言的实现方法
  3. Toast弹不出来之谜
  4. DOM 基础 HTML标签 元素 属性
  5. Android Studio 创建第一个Android工程项目
  6. seclists各种字典工具
  7. 怎样用shell计算linux内存,计算Linux内存,CUP,硬盘使用率的shell脚本
  8. python调整图像大小_使用Python调整图像大小
  9. 我们究竟需要什么!!?
  10. dialog能提交数据吗_硬盘坏了能恢复数据吗?实用硬盘修复软件
  11. LGP2046[NOI2010]海拔正确性证明
  12. 华为S9303三层交换机一次配置经历和心得
  13. 联考事业单位计算机类面试,2018年5.26事业单位联考E类常见面试题(上)
  14. Python递归绘制谢尔宾斯基三角形
  15. Ubuntu20.04 libcef笔记
  16. RIP光栅图像处理器
  17. 罗德里格旋转公式推导
  18. 是时候让AI辅助你追剧了,以《猎场》为例
  19. Linux搭建FTP服务使用案例
  20. s24.基于 Kubernetes v1.25 (二进制) 和 Docker部署高可用集群

热门文章

  1. 《中国人工智能学会通讯》——4.27 电子数据取证理论与技术
  2. Python 实现一个全面的单链表
  3. MongoDB主从+php实现
  4. Guava包学习---Maps
  5. K8S集群tls证书管理
  6. Linu20180415三周第三次课(4月4日)
  7. [RHEL] RHEL7.0 下 Postfix + Dovecot 实现邮件发送
  8. debian6之eclipse和jdk安装
  9. oracle启动服务和监听命令
  10. sqlplus 汉字乱码问题的解决