IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习-过拟合与欠拟合(overfitting and underfitting) -> 正文阅读

[人工智能]机器学习-过拟合与欠拟合(overfitting and underfitting)

通过一个例子来引入过拟合与欠拟合的概念(Stanford)

Who will Repay their Loans?

- A leader hires you to investigate who will repay their loans

  • You are given complete files on 100 applicants

  • 5 defaulted within 3 years
    - A Surprising Finding?

  • All 5 people who defaulted wore blue shirts during interviews

  • Your model leverages this strong signal as well

解释一下
斯坦福大学给出了一个例子:谁能够偿还贷款?
一共有100个申请人,其中五个人三年内不能还清
但巧合的是,这五个人在申请贷款的时候全部穿着蓝色衬衫
因此,机器学习的模型捕捉到了这个明显的特征。

因此,以后只要穿着蓝色衬衫的来贷款,统统拒绝!!

这显然不合理,穿个蓝色衣服招谁惹谁了hhh~~
其实这就是过拟合,机器不应当捕捉这个特征。

概念1. Training and Generalization Errors

  1. Training Errors:model error on the training data----训练错误
  2. Generalization error:model error on new data—泛化错误(就是测试样本的出错)

有个很生动形象的例子解释这二者的关系:一个平时学习很好的同学考试不一定考的很好(训练错误很低,但泛化错误很高),反之则训练错误高,但泛化错误第,但这不太可能hhh。

在这里插入图片描述
如上图所示(按行分析):

  • 训练错误低,泛化错误也低-----说明模型很好
  • 训练错误高,泛化错误低----很奇怪,是不是有bug?
  • 训练错误低,泛化错误高----过拟合
  • 训练错误高,泛化错误高----欠拟合

概念2. Data Complexity

  • Multiple factors matters
  • time/space structure
  • diversity
  • E.g a char vs a pixel(Hard to compare among very different data)

Model Complexity

  • The ability to fit variety of functions
  • Low complexity models struggles to fit training set
  • High complexity models can memorize the training set

通俗来讲,对于数据的复杂性有很多定义,总的来说就是结构复杂,或者样式复杂,比如数据包括:文件数据,文本数据,图片数据,视频数据等。
而且数据之间比较是很困难的,尤其是在两个毫无关系的数据之间比较,比如图片和文本,一个是由像素(pixel)构成,另一个由字符(character)构成。
对于模型复杂度来说,
低复杂度的模型很难去拟合训练集,高复杂度的模型可以更完美的拟合训练集。

在这里插入图片描述
如上图所示(按行分析):

  1. 若数据复杂度较低,同时模型也不复杂,能够适应这样的数据,那么机器学习的效果就比较好。
  2. 若数据复杂度高,但模型简单,那么模型肯定无法适应这种数据,因此会发生欠拟合。
  3. 若数据复杂度低,但模型十分复杂,那么则有可能发生过拟合。
  4. 若数据复杂度高,同时模型的复杂度也能适应数据的高复杂度,那么机器学习的效果就比较好。

在这里插入图片描述
模型复杂度对于过拟合和欠拟合的影响,上图可以很形象的解释。
横轴表示模型复杂度,纵轴表示训练错误与泛化错误。
从图中不难看出:

  1. 在模型复杂度很低的情况下,训练错误和泛化错误都很高,同时处于欠拟合状态,这很好理解,原因就是模型太过于简单。
  2. 随着模型复杂度不断升高,模型逐渐趋于完善,那么训练错误会不断降低,但泛化错误不一定,就像本文开篇的例子,模型将贷款用户的衣服颜色作为特征尽心学习,那么结果会适得其反。
  3. 因此会有一个拐点,在这个拐点上的模型是最佳的,但注意:及时在最优条件下,过拟合现象也不能消除,因为模型还是会出现错误。

在这里插入图片描述
Model Complexity vs Data complexity

当选取一个较为简单的模型(Simple mode—blue line),那么随着数据复杂度提升,泛化错误会逐渐降低,但是收到模型的限制,及时数据越来越具体,复杂度越来越高,那么错误也不会再降低。

因此,就需要引入更为复杂的模型(complex model—green line)
从此图分析也可以得出一些比较有意思的结论:

  1. 在数据复杂度较低的情况下,复杂的模型,泛化错误不一定低。
  2. 但随着数据复杂度不断提高,越复杂的模型一定能够越适应复杂的数据。
  3. 在数据复杂度达到某个量级,复杂的模型就可以超过简单的模型。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:38:31  更:2022-05-18 17:41:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:40:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码