自学内容网 自学内容网

机器学习(二十):偏差和方差问题

一、判断偏差和方差

以多项式回归为例,红点为训练集数据,绿点为交叉验证数据。

下图的模型,训练集误差大,交叉验证集误差大,这代表偏差很大

下图的模型,训练集误差小,交叉验证集误差小,这代表模型合适

下图的模型,训练集误差小,交叉验证集误差大,这代表方差很大。

下图是随着多项式的次数增加,训练集误差和交叉验证集误差的走势。如果没有正则项,随着多项式的次数增加,训练集误差变小,交叉验证集误差先降低后升高。

二、正则项的偏差和方差

在已经选择了多项式次数的前提下,正则化参数\lambda的选择对训练集和交叉验证集误差的影响如下:

如果正则化参数很大,训练集误差很大,偏差很大

如果正则化参数合适,训练集和交叉验证集误差会很小

如果正则化参数很小,相当于没有使用正则化,容易过拟合,,训练集误差小,交叉验证集误差大,方差会很大

三、建立性能基准

以语音识别为例,如果使用模型进行语音转文字,错误率有10.7%。单看这个数字,似乎错误率很高。但是如果很多语音有嘈音,导致人类也无法听清这些语音的文字,人类进行语音转文字时的错误率有10.3%。以人类水平作为基准,10.7%的错误率并不高,这个模型很合适。

建立性能基准的方法:

  • 根据人类能做到的水平
  • 根据竞争算法能做到的水平
  • 根据以往经验推测

四、学习曲线

学习曲线:随着训练集规模的增大,训练集和交叉验证集的误差曲线

学习曲线的趋势:随着训练集规模越来越大,训练集误差增加,交叉验证集误差减小

例子:给定一个二次回归模型,当有一个、两个、三个数据点,训练集误差为0或者非常非常小,但是当数据点增加,模型很难匹配上所有的训练集数据点,因此训练集误差增加。

4.1 高偏差场景

在高偏差的情况下,随着训练集规模提高,训练集误差增加,交叉验证集误差减小,越到后面,训练集误差和交叉验证集误差曲线趋于平缓。即使继续增加训练集数据,训练集误差和交叉验证集误差变化不大,且高于性能基准线。

以线性回归模型为例,不管训练集数据点有多少,线性回归模型都无法匹配上训练集,因此继续增加训练集数据点,也无法减小交叉验证集误差。

4.2 高方差场景

在高方差的情况下,随着训练集规模提高,训练集误差增加,交叉验证集误差减小,如果继续增加训练集数据,交叉验证集误差继续减小,可以到达性能基准线。

以四次多项式回归模型为例,当训练集的数据点少时,容易发生过拟合,当增加训练集数据点,可以减少过拟合。

五、解决高偏差和高方差问题

以下手段,分别可以解决高偏差和高方差问题

  • 获取更多的训练数据——解决高方差问题
  • 尝试减少特征——解决高方差问题
  • 尝试其他的特征——解决高偏差问题
  • 尝试增加多项式——解决高偏差问题
  • 尝试减小正则化参数\lambda——解决高偏差问题
  • 尝试增大正则化参数\lambda——解决高方差问题

六、神经网络的偏差和方差

在神经网络中,如何处理高偏差和高方差问题:

1、当训练集误差大,说明偏差大,需要建立更庞大的神经网络(建立更多的隐藏层、神经元),来减小偏差

2、当训练到训练集误差小,但交叉验证集误差大,说明方差大,需要获取更多的数据,然后重新训练模型,直至满足偏差和方差很小。

建立庞大的神经网络消耗性能,需要更强的计算机能力。

与此同时,庞大的神经网络需要引入正则项,避免过拟合。

TensorFlow的代码实现:

蓝框中的0.01指的是\lambda

                                                   

学习来源:吴恩达机器学习,12.1-12.6节 


原文地址:https://blog.csdn.net/weixin_45733884/article/details/140444565

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!