博客
关于我
强烈建议你试试无所不能的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上得到的结果差距是比较小的。

你可能感兴趣的文章
Android JUnit测试说明和实例演示
查看>>
Android 控件学习--自定义SeekBar
查看>>
Android 实现歌曲播放时歌词同步显示
查看>>
android 获取音乐文件的内置专辑图片
查看>>
Socket Programming on Android
查看>>
在Windows中删除服务Service
查看>>
建立与Oracle数据库服务器连接的两种连接模式(专用服务器与共享服务器)
查看>>
Visual Studio .NET 2005中关于ASP.NET的GridLayout设定方法
查看>>
Delphi中关于显示确认框的方法
查看>>
关于iReport+JasperReport的PDF印刷字符集问题
查看>>
Visual Studio 2003中代码编辑部分设置行号
查看>>
电商大促准备流程v2
查看>>
web开发基础--字节序
查看>>
Spring框架中获得DataSource对象的方法(转)
查看>>
项目经理、技术经理、team leader
查看>>
通过堡垒机远程连接Windows Server
查看>>
项目经理的职责
查看>>
使用ibatis时 sql中 in 的参数赋值
查看>>
利用SecureCRT录制linux脚本
查看>>
项目经理和架构师的岗位职责
查看>>