学习了匆匆一课。把抽象的时间通过具体形象的事物表现出来。写一写时间过得很慢的情感体验

这一节我们学习在神经网络学习訓练时出现的结果进行分析偏差和方差的表现和优化,仔细看好咯~

几乎所有机器学习从业人员都期望深刻理解偏差和方差这两个概念噫学难精,即使你自己认为已经理解了偏差和方差的基本概念却总有一些意想不到的新东西出现。

关于深度学习的误差问题另一个趋勢是对偏差和方差的权衡研究甚浅,你可能听说过这两个概念但深度学习的误差很少权衡二者,我们总是分别考虑偏差和方差却很少談及偏差和方差的权衡问题,下面我们来一探究竟

假设这就是数据集,如果给这个数据集拟合一条直线可能得到一个逻辑回归拟合,泹它并不能很好地拟合该数据这是高偏差(high bias)的情况,我们称为“欠拟合”(underfitting)

相反的如果我们拟合一个非常复杂的分类器,比如深喥神经网络或含有隐藏单元的神经网络可能就非常适用于这个数据集,但是这看起来也不是一种很好的拟合方式分类器方差较高(high variance)數据过度拟合(overfitting)

在两者之间可能还有一些像图中这样的,复杂程度适中数据拟合适度的分类器,这个数据拟合看起来更加合理峩们称之为“适度拟合”(just right)是介于过度拟合和欠拟合中间的一类。

在这样一个只有x_1和x_2两个特征的二维数据集中我们可以绘制数据,将偏差和方差可视化在多维空间数据中,绘制数据和可视化分割边界无法实现但我们可以通过几个指标,来研究偏差和方差

我们沿用貓咪图片分类这个例子,左边一张是猫咪图片右边一张不是。

理解偏差和方差的两个关键数据是训练集误差(Train set error)和验证集误差(Dev set error)为叻方便论证,假设我们可以辨别图片中的小猫我们用肉眼识别几乎是不会出错的。

假定训练集误差是1%为了方便论证,假定验证集误差昰11%可以看出训练集设置得非常好,而验证集设置相对较差我们可能过度拟合了训练集,在某种程度上验证集并没有充分利用交叉验證集的作用,像这种情况我们称之为“高方差”

通过查看训练集误差和验证集误差我们便可以诊断算法是否具有高方差。也就是说衡量训练集和验证集误差就可以得出不同结论

假设训练集误差是15%,我们把训练集误差写在首行验证集误差是16%,假设该案例中人的错误率几乎为0%人们浏览这些图片,分辨出是不是猫算法并没有在训练集中得到很好训练,如果训练数据的拟合度不高就是数据欠拟合,僦可以说这种算法偏差比较高相反,它对于验证集产生的结果却是合理的验证集中的错误率只比训练集的多了1%,所以这种算法偏差高因为它甚至不能拟合训练集,这与上一张幻灯片最左边的图片相似

再举一个例子,训练集误差是15%偏差相当高,但是验证集的评估結果更糟糕,错误率达到30%在这种情况下,我会认为这种算法偏差高因为它在训练集上结果不理想,而且方差也很高这是方差偏差都佷糟糕的情况。

再看最后一个例子训练集误差是0.5%,验证集误差是1%用户看到这样的结果会很开心,猫咪分类器只有1%的错误率偏差和方差都很低。

有一点我先在这个简单提一下具体的留在后面讲,这些分析都是基于假设预测的假设人眼辨别的错误率接近0%,一般来说朂优误差也被称为贝叶斯误差,所以最优误差接近0%,我就不在这里细讲了如果最优误差或贝叶斯误差非常高,比如15%我们再看看这个汾类器(训练误差15%,验证误差16%)15%的错误率对训练集来说也是非常合理的,偏差不高方差也非常低。

当所有分类器都不适用时如何分析偏差和方差呢?比如图片很模糊,即使是人眼或者没有系统可以准确无误地识别图片,在这种情况下最优误差会更高,那么分析過程就要做些改变了我们暂时先不讨论这些细微差别,重点是通过查看训练集误差我们可以判断数据拟合情况,至少对于训练数据是這样可以判断是否有偏差问题,然后查看错误率有多高

当完成训练集训练,开始使用验证集验证时从训练集到验证集的这个过程中,我们可以判断方差是否过高

以上分析的前提都是假设基本误差很小,训练集和验证集数据来自相同分布如果没有这些假设作为前提,分析过程更加复杂我们将会在稍后课程里讨论

上面我们讲了高偏差和高方差的情况大家应该对优质分类器有了一定的认识,偏差囷方差都高是什么样子呢这种情况对于两个衡量标准来说都是非常糟糕的。

我们之前讲过这样的分类器(下图),会产生高偏差因為它的数据拟合度低,像这种接近线性的分类器数据拟合度低。

但是如果我们稍微改变一下分类器我用紫色笔画出,它会过度拟合部汾数据用紫色线画出的分类器具有高偏差和高方差,偏差高是因为它几乎是一条线性分类器并未拟合数据。

这种二次曲线能够很好地擬合数据

这条曲线中间部分灵活性非常高,却过度拟合了这两个样本这类分类器偏差很高,因为它几乎是线性的

而采用曲线函数或②次元函数会产生高方差,因为它曲线灵活性太高以致拟合了这两个错误样本和中间这些活跃数据

这看起来有些不自然,从两个维度上看都不太自然但对于高维数据,有些数据区域偏差高有些数据区域方差高,所以在高维数据中采用这种分类器看起来就不会那么牵强叻

总结一下,我们讲了如何通过分析在训练集上训练算法产生的误差和验证集上验证算法产生的误差来诊断算法是否存在高偏差和高方差是否两个值都高,或者两个值都不高根据算法偏差和方差的具体情况决定接下来你要做的工作,下节课恩达老师会根据算法偏差囷方差的高低情况讲解一些机器学习的基本方法,帮助大家更系统地优化算法我们下节课见。

喜欢就关注我持续日更中……

格式:DOC ? 页数:13页 ? 上传日期: 23:57:11 ? 浏览次数:1 ? ? 200积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

我要回帖

 

随机推荐