方差与偏差作为学机器学习的一个基本功,经常被某些重视基础的面试官所问到,这里整理了一下相关的知识。
问题背景
我们评价一个机器学习模型的好坏,通常是评价模型的泛化性能,而对泛化性能为什么高低缺乏一些了解。偏差-方差分解(bias-variance decomposition)就是解释学习算法泛化性能的一种重要工具。
原理
偏差、方差与噪声的含义
偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;
噪声:则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。
偏差与方差的冲突
一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境(bias-variance dilemma),如下图所示。
给定学习任务,假设我们能控制学习算法的训练程度,那么训练不足时,训练数据的扰动不足以使学习器产生显著变化,此时偏差占主导;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐占主导;在训练程度充足后,学习器拟合能力已非常强,训练数据的轻微扰动都会导致学习器发生显著变化,若继续学习,则将发生过拟合。
参考文献
[1] 《机器学习》(周志华著)