快速理解机器学习中的偏差与方差

快速理解机器学习中的偏差与方差

偏差与方差

  • 偏差(bias):偏差度量了学习算法的期望预测与样本真实结果的偏离程度,即刻画了学习算法本身的拟合能力。
  • 方差(variance):方差度量了同样大小的训练集的变动导致的学习性能的变化,即刻画了数据扰动所造成的影响。
  • 噪声(noise):噪声表达了在当前任务上学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

偏差和方差的形象展示如下图所示:(图片引自Understanding the Bias-Variance Tradeoff )

图中的红色位置就是样本真实值所在的位置,蓝色的点是学习算法每次预测的值。

可以看出,偏差越高,学习算法的预测离真实值越远。而方差越大,学习算法每次预测的值之间波动会比较大。

在模型不断地训练迭代过程中,我们能碰到四种情况:

  • 低偏差,低方差:这是训练的理想模型,此时蓝色点集基本落在靶心范围内,且数据离散程度小,基本在靶心范围内;
  • 低偏差,高方差:这是机器学习面临的严峻问题:过拟合,也就是模型太贴合训练数据了,导致其泛化(或通用)能力差,若遇到测试集,则准确度下降的厉害;
  • 高偏差,低方差:这往往是训练的初始阶段;
  • 高偏差,高方差:这是训练最糟糕的情况,准确度差,数据的离散程度也差。

快速理解机器学习中的偏差与方差_第1张图片

数学定义

符号说明

符号 含义
x 测试样本
D 训练集
yD x 在数据集中的标记
y x 的真实标记
f 在训练集D上学得的模型
f(x; D) 训练集D上学得模型f在x上的预测输出

偏差、方差、误差

以回归任务为例,学习算法的期望预测

img
使用样本数相同的不同训练集产生的方差
img
噪声
img
期望输出与真实标记的差别成为偏差,即
img
可对算法的期望泛化误差进行分解(公式引自理解机器学习中的偏差与方差):
快速理解机器学习中的偏差与方差_第2张图片
快速理解机器学习中的偏差与方差_第3张图片
在这里插入图片描述

也就是说,泛化误差可分解为偏差、方差与噪声之和。

偏差-方差分解说明泛化能力是由学习算法的能力数据的充分性以及学习任务本身的难度所共同决定的。

偏差-方差窘境

给定一个学习任务,为了取得好的泛化能力,则需要使偏差尽可能小,这样能够充分的拟合数据,并且使方差尽可能小,这样能够使得数据扰动产生的影响尽可能小。

在下图中,给出了偏差,方差和总体泛化误差的示意图(引自Understanding the Bias-Variance Tradeoff ):

快速理解机器学习中的偏差与方差_第4张图片

一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境。如下图所示,给定学习任务,假定我们能够控制学习算法的训练程度,在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充分后,学习器的拟合能力已经非常强,训练数据发生的轻微扰动都能导致学习器发生显著变化,若训练数据自身的,非全局的特性被学习器学到了,则将发生过拟合。

偏差与方差的诊断

高偏差问题与高方差问题的诊断

对于 多项式回归

  • 当多项式次数d选取较低值时,我们的训练集误差和交叉验证集误差都会很大,此时对应的就是高偏差问题
  • 当多项式次数d选择合适值时,训练集误差和交叉验证集误差都很小;
  • 当多项式次数d选择过大值时,会产生过拟合,虽然训练集误差很小,但交叉验证集误差会很大,此时对应的就是高方差问题( 关系图如下,引自吴恩达机器学习 )。

快速理解机器学习中的偏差与方差_第5张图片

对于正则化参数

  • 当正则化参数λ比较小时,容易产生过拟合现象,此时就是高方差问题
  • 当正则化参数λ比较大时,容易产生欠拟合现象,此时就是高偏差问题

快速理解机器学习中的偏差与方差_第6张图片

改进策略

  • 对于高偏差问题

    • 引入更多的相关特征
    • 采用多项式特征
    • 减小正则化参数λ
  • 对于高方差问题

    • 采集更多的样本数据
    • 减少特征数量,去除非主要特征
    • 增加正则化参数λ

参考资料

  • 《机器学习》,周志华,2.5 偏差与方差
  • Understanding the Bias-Variance Tradeoff
  • 理解机器学习中的偏差与方差

你可能感兴趣的:(机器学习)