李宏毅机器学习学习笔记汇总
课程链接


Review

越复杂的model,在testing data上的error未必越低。

error来自两个地方:

  1. bias
  2. variance

f_star是f_hat的一个估测值,f_star可能不等于f_hat,距离可能来自于bias,也可能来自于variance方差

估测变量x的mean均值(假设变量x的均值为μ,方差为σ^2):

​ 先sample N个点,将其算平均值m,一般都不等于x的均值μ

​ 但是计算m的期望值,会正好等于μ


N越大,分布越集中;N越小,分布越分散

估测x的σ^2

重点图如下,便于理解

错误来自于bias(瞄准的位置)和variance(枪的性能),理想情况是二者都小/没有。

点越集中,方差越小;离中心越远,偏差越大。

平行时空,抓到不同的宝可梦

不同宇宙中,找到的f*是不同的

在100个平行的宇宙中,各抓取10个宝可梦,都去找一个f*

100个不同的w和b


简单模型:很集中,variance很小

复杂模型:散布分散,variance很大

原因:简单模型受不同data影响较小


靶心代表理想的函数,目标结果。

实验结果如下:

黑线代表:靶心位置;

红线代表:做5000次实验每一次找出的f*都不一样,model也不一样;

蓝线代表:将这5000次f*平均后fˉ\bar ffˉ​

下图的解释:

model是一个function set,使用一个范围表示function set。最好的function也只能从function set里选出来。

  • 而一个简单的model的space很小,又可能没有包含target,所以无论如何sample,平均起来都不可能得到target。

  • 复杂的model,space很大,他的function set包含了target,只不过可能无法找出那个target,因为每次给的training data不一样,如果散布在target附近的,则只要平均起来就可能得到fˉ\bar ffˉ​


如下图,其中

简单model:大bias,小variance

复杂model:小bias,大variance

error来自bias(红线)和variance(绿线),蓝色线是二者共同造成的影响

  • error来自于variance很大:overfitting 过拟合(太复杂了)
  • error来自于bias很大:underfitting 欠拟合(太简单了)

如何知道目前是bias大还是variance大?

  • 如果你的模型没有办法fit你和你的training example(少数的几个training data点),代表bias大,underfitting了。
  • 如果在training data上得到一个小的error,而在testing data上却得到一个error,说明这个model的variance大,说明overfitting了

解决方法:

bias大:

  • 要redesign一个新model,有可能model根本没有包含target f^\hat{f}f^​,所以可以考虑加入更多的feature、更高的次数。(增加data没有效果)

variance大:

  • 增加data数量,数据集增强,很有效控制variance过大的方法
  • Regularization正则化,在loss function后加一项


在bias和variance中权衡,选择一个模型可以平衡两种error,使得总error最小。

但是不可以做的事情是:利用自己手上已有的testing set来选择最好的模型的时候,选出来的模型在真正的testing data上,未必是最好的模型

testing set有自己的bias:数据采集的偏差。除非你的testing set比较好地代表了总体分布,否则实际使用时Err一定会变差


正确做法: 交叉验证cross validation

若不相信某次分trin和test的数据集,可以分好多次,即,N折交叉验证N-fold Cross Validation

把最好的效果的model用在最后的testing test

【李宏毅机器学习】Basic Concept 基础概念(p4) 学习笔记相关推荐

  1. 【李宏毅机器学习】Transformer(p23) 学习笔记

    老二次元了... 文章目录 Transformer Sequence 用CNN取代RNN Self-Attention Self-attention is all you need. 流程 Self- ...

  2. AI Studio 飞桨 零基础入门深度学习笔记1-深度学习的定义

    AI Studio 飞桨 零基础入门深度学习-笔记 人工智能.机器学习.深度学习的关系 机器学习 机器学习的实现 机器学习的方法论 案例:牛顿第二定律 确定模型参数 模型结构介绍 深度学习 神经网络的 ...

  3. AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型

    AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型 波士顿房价预测任务 线性回归模型 线性回归模型的神经网络结构 构建波士顿房价预测任务的神经网络模 ...

  4. 【PM学习笔记】酸梅干超人 - 零基础学Figma学习笔记

    原视频链接: B站视频 零基础学Figma学习笔记 心得体会 第1课 - 苹果商店页设计 第2课 - 线性图标设计 第3课 - 面性图标设计 第4课 玻璃拟态页设计 第5课 样式组件功能入门 第6课 ...

  5. AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理

    AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理) 概述 前提条件 读入数据并划分数据集 扩展阅读:为什么学术界的模型总在不断精进呢? 训练样本乱序.生成批次数据 校验数 ...

  6. P4学习笔记(二)一个简单P4交换机实现

    P4学习笔记(一)初始P4 P4学习笔记(二)一个简单P4交换机实现 文章目录 1. 架构模型 2.预定义模块详细描述 2.1 Arbiter 模块 2.2 Parser runtime 模块 2.3 ...

  7. AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍

    AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍 深度学习框架 深度学习框架优势 深度学习框架设计思路 飞桨开源深度学习平台 飞桨开源深度学习平台全景 框架和全流程工具 模 ...

  8. JAVA基础与高级学习笔记

    JAVA基础与高级学习笔记 /记录java基础与高级,除了较简单的内容,没有必要记录的没有记录外,其余的都记录了/ java初学者看这一篇就够了,全文 6万+ 字. JAVA基础 java会出现内存溢 ...

  9. Docker基础下(学习笔记)

    5. Docker 容器数据卷 5.1 容器数据卷是什么 先来看看Docker的理念: 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的. 容器之间希望有可 ...

最新文章

  1. redis10---Setbit 的实际应用
  2. 未能加载文件或程序集“SqlServerDal”或它的某一个依赖项。系统找不到指定的文件。...
  3. Winform中怎样根据Name获取同窗体的控件
  4. 【Angular】MVVM
  5. spring的各种注解的作用-持续更新中
  6. Git 的安装和创建版本库 。
  7. 来到博客园 就要好好记录 分享技术
  8. C#的变迁史 - C# 4.0 之线程安全集合篇
  9. 积木机器人拼装图恐龙图纸_‎机器人积木模型--恐龙积木拼装对战游戏 v App Storu...
  10. 变电站无线测温系统的特点与应用
  11. 解决Intellij IDEA 一直在indexing....,导致idea很卡,无法操作
  12. vue3里面的watch
  13. input限制只能输入数字,限制输入数字长度或者大小
  14. easyexcel 在 设置标题_EasyExcel,让excel导入导出更加简单
  15. jquery获取父元素下的第n个子元素
  16. torchaudio音频基础知识学习
  17. QQ机器人官方插件加载配置方法【beta2版本】
  18. halcon闭合轮廓线
  19. 教你使用内嵌chatGPT的新必应(bing)
  20. 情感溢出:读《浣溪沙》

热门文章

  1. TCP协议中三次握手
  2. 经典10046剖析案例-2
  3. Java的简单了解。
  4. 一天就能打印一栋房子超大型3D打印机
  5. oracle查询哪些数据未压缩,求助大佬:向压缩表插入数据,压缩未生效
  6. RTT的线程同步篇——互斥量
  7. RTT的IPC机制篇——消息队列
  8. 求最大公约数和最小公倍数简洁写法的注意事项
  9. 线性表—顺序存储结构-顺序表
  10. 苏州大学文正学院计算机专业,苏州大学文正学院有哪些专业及什么专业好