台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2)

这节课主要讲解了训练模型的误差来源及相应的解决方案。

模型的误差主要来源于数据的Bias和Variance

Bias(偏差):描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据。

Variance(方差):描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。

对于均值和方差的无偏估计的表达式如下面2张图中所示。具体推导此处不再赘述。

Bias和Variance反映到数据集上如下图所示,根据定义不难理解。

相对简单的模型受数据的影响更小。

相对简单的model预测的结果:large bias和small variance;

相对复杂的model预测的结果:small bias和large variance。

在model从简单到复杂的过程中,由bias导致的error会不断减小;由variance导致的error会不断增大。

当error主要源自large variance时,称为overfitting;当error主要源自large bias时,称为underfitting。

一图胜千言:

判断underfitting和overfitting。

1)如果model无法很好的拟合训练集中的数据,model的预测值有large bias。这是underfitting。

2)如果model可以很好的拟合训练集中的数据,但model在测试集中会产生很大的error,model的预测值有large variance。这是overfitting。

Large bias时怎么办?

1)重新设计model,在输入中加入更多的特征;2)设计一个更复杂的model。

Large variance时怎么办?

1)收集更多的数据,非常有效的手段,但在实际执行过程中并不总是可行。

2)Regularization(正则化)

如何选择模型?

如下图中所讲。

依据上图,我们不应该根据用Training Set训练出来的model在Testing Set上的准确率来选择model。因为用自己的Testing Data选择的model不一定在真实的Testing Data上效果也很好,通常而言效果是比较差的。

那应该怎么办呢?见下图。

方法就是把原先的Training Set分为Training Set和Validation Set两部分,根据model在validation上的误差来选择最优model。注意:不建议在得出Testing Set的误差后,再回去调整model(这样做相当于把Testing Set也当作Training Set的一部分了)。

也可以用N折交叉验证的方式选择模型,如下图所示。

原则上,少用public Testing Set来调整model,这样往往在private Testing Set上得到的结果与在public Testing Set上得到的结果差距是比较小的。

台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2)相关推荐

  1. 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

    台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

  2. 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction

    台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...

  3. 台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning

    台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning 本博客参考整理自: http://blog.csdn.net/xzy_t ...

  4. 台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep?

    台大李宏毅Machine Learning 2017Fall学习笔记 (12)Why Deep? 本博客整理自: http://blog.csdn.net/xzy_thu/article/detail ...

  5. 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network

    台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network 本博客主要整理自: http://blog.csdn.net/x ...

  6. 台大李宏毅Machine Learning 2017Fall学习笔记 (10)Tips for Deep Learning

    台大李宏毅Machine Learning 2017Fall学习笔记 (10)Tips for Deep Learning 注:本博客主要参照 http://blog.csdn.net/xzy_thu ...

  7. 台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras

    台大李宏毅Machine Learning 2017Fall学习笔记 (9)Keras 本节课主要讲述了如何利用Keras搭建深度学习模型.Keras是基于TensorFlow封装的上层API,看上去 ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (8)Backpropagation

    台大李宏毅Machine Learning 2017Fall学习笔记 (8)Backpropagation 当网络结构很复杂时,会有大量的参数.∇L(θ)\nabla L(\theta)是百万维的向量 ...

  9. 台大李宏毅Machine Learning 2017Fall学习笔记 (7)Introduction of Deep Learning

    台大李宏毅Machine Learning 2017Fall学习笔记 (7)Introduction of Deep Learning 最近几年,deep learning发展的越来越快,其应用也越来 ...

最新文章

  1. centos7.4.3 部署python-pcl亲测可用(采坑记)
  2. laytpl语法_layui语法基础
  3. 微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  4. AngularJS:应用
  5. 笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器
  6. IOS_OC_id ,NSObject, idlt;NSObjectgt;差别
  7. 值得收藏的信息安全知名博客
  8. 在信号处理函数中调用longjmp
  9. 运行.AppImage文件。
  10. Python入门基础(8)--私有化属性和方法/Property属性/_new_方法/单例模式/错误和异常处理/Python动态添加属性和方法/_slots_属性
  11. mdf导入mysql navicat_Navicat如何导入sql server的MDF文件和LDF文件
  12. 弹窗代码大全 弹窗广告代码
  13. 阿里云 oss 存储临时Token访问
  14. 速看——揭秘“微商”的盈利模式
  15. solidworks2014方程式添加全局变量存在句法错误的解决方案
  16. web前端需要学习什么?
  17. Bandit算法与推荐系统
  18. Surface Book2 购买、使用、体验
  19. P4233 射命丸文的笔记
  20. angular8.5集成TinyMce5的使用和详细配置

热门文章

  1. (转自dflying chen)使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
  2. 必背单词_考研英语语法如何高效自学? 真题必背单词Day12
  3. php管理员登陆问题,discuz论坛管理员无法登录后台的原因和解决方法
  4. go mockweb接口_GitHub - duxiaoman/AnyMock: 通用接口Mock平台
  5. html全局事件,HTML5全局属性和事件
  6. mysql 中文字符 函数_MySQL基础之字符函数-Go语言中文社区
  7. 述职答辩提问环节一般可以问些什么_陕西省高级职称评审,90%的人都“死”在答辩上?...
  8. 数组重组java,重组数组数组并组合相同的术语
  9. 使用遗传算法解决图着色问题
  10. Python Excel到JSON的转换