博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
台大李宏毅Machine Learning 2017Fall学习笔记 (3)Bias and Variance (v2)
阅读量:2254 次
发布时间:2019-05-09

本文共 1293 字,大约阅读时间需要 4 分钟。

台大李宏毅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上得到的结果差距是比较小的。

你可能感兴趣的文章
springboot中starters 提供的常用的依赖
查看>>
第二章
查看>>
Java常用的非受检异常
查看>>
HDOJ-2054
查看>>
centos7安装eclipse
查看>>
Web:AJAX的详解
查看>>
两种比较器Comparable 和 Comparator
查看>>
S2JDBC テーブルを利用した独自仕様のid採番メソッド
查看>>
P3698 [CQOI2017]小Q的棋盘
查看>>
动态规划入门 洛谷P2409 Y的积木
查看>>
【第一季】CH04_FPGA设计Verilog基础(一)Enter a post title
查看>>
telnet不能用!!!提示:-bash: telnet: command not found
查看>>
隐式转换的一点想法
查看>>
web框架前言与学生数据库系统(附1.0源码)
查看>>
JavaScript基础
查看>>
Linux多线程服务端编程:使用muduo C++网络库
查看>>
log4j配置文件中的additivity属性
查看>>
马后炮之12306抢票工具(二) -- 联系人&获取车次
查看>>
Android系统之Broadcom GPS 移植
查看>>
[bzoj1901]: Zju2112 Dynamic Rankings
查看>>