偏差与方差 #A0030

作者: Vincentlyl | 来源:发表于2017-11-15 16:03 被阅读0次

    学习资料

    点击查看PDF教材
    点击查看视频教材(需要科学上网)

    本课思路

    主要解释了训练过程中为什么会产生误差,如何找原因,以及该如何处理


    一、什么会引起误差

    误差(error)可能来自于偏差(bias)和方差(variance)

    二、什么是偏差和方差

    参考资料
    机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?

    Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。
    举一个例子,一次打靶实验,目标是为了打到10环,但是实际上只打到了7环,那么这里面的Error就是3。具体分析打到7环的原因,可能有两方面:一是瞄准出了问题,比如实际上射击瞄准的是9环而不是10环;二是枪本身的稳定性有问题,虽然瞄准的是9环,但是只打到了7环。那么在上面一次射击实验中,Bias就是1,反应的是模型期望与真实目标的差距,而在这次试验中,由于Variance所带来的误差就是2,即虽然瞄准的是9环,但由于本身模型缺乏稳定性,造成了实际结果与模型期望之间的差距。

    三、偏差和方差的关系

    在一个实际系统中,Bias与Variance往往是不能兼得的。如果要降低模型的Bias,就一定程度上会提高模型的Variance,反之亦然。
    造成这种现象的根本原因是,我们总是希望试图用有限训练样本去估计无限的真实数据。当我们更加相信这些数据的真实性,而忽视对模型的先验知识,就会尽量保证模型在训练样本上的准确度,这样可以减少模型的Bias。但是,这样学习到的模型,很可能会失去一定的泛化能力,从而造成过拟合,降低模型在真实数据上的表现,增加模型的不确定性。相反,如果更加相信我们对于模型的先验知识,在学习模型的过程中对模型增加更多的限制,就可以降低模型的variance,提高模型的稳定性,但也会使模型的Bias增大。

    • 欠拟合:模型越简单,偏差越大,方差越小
    • 过拟合:模型越复杂,偏差越小,方差越大

    四、偏差大怎么办

    • 增加模型输入特征
    • 增加模型复杂度

    五、方差大怎么办

    • 收集(或创造)更多数据
    • 正则化处理

    六、交叉验证(Cross Validation)

    之前提到我们有训练数据和测试数据,值得注意的是,真实情况为我们可以获得的训练数据总是有限的,同样我们能获得的测试数据也是有限的。所以训练出来的模型,无论在训练还是测试数据上产生的误差值,总是会大于应用真实数据而产生的误差值。

    例如世界上最大的图像识别数据库ImageNet的排行榜,模型在训练数据上的最好成绩,误差是3%,实际应用中远大于该值

    每次训练选取的数据样本会影响模型的训练结果,所以可采用交叉验证来减少因为数据样本选取的不同造成的影响。

    具体做法为

    1. 将训练数据分成N份,每次选择其中1份作为验证数据,剩下N-1份作为训练数据
    2. 准备不同复杂度的模型,比如Model1, Model2, Model3
    3. 用训练数据计算得到各模型的𝑓*,然后用验证数据来计算L(𝑓*)的误差
    4. 重复第3步N次,计算每个模型的平均误差,获取最小误差的模型

    Next Lecture

    下堂课学习更多关于Gradient Descent的知识

    相关文章

      网友评论

        本文标题:偏差与方差 #A0030

        本文链接:https://www.haomeiwen.com/subject/oxncvxtx.html