主要结论:

测试误差一般来源于偏差(Bias)和方差(Variance)
当偏差大的时候出现欠拟合,当方差大的时候出现过拟合。
解决方法:
当偏差大的时候,增加特征个数(使用更复杂的模型)来优化;
当方差大的时候,增加样本个数或者正则化来优化。


偏差和方差的定义

估计变量xx的均值:
假设xx的平均值是μ\mu,方差是σ2\sigma^2,现已知xx的一些样本点(但不全知道)的情况下如何求μ\mu呢?例如已知NN个样本点x1,x2,...,xN{x^1,x^2,...,x^N}
μ\mu的方法:
m=1Ni=1Nxiμm = \frac{1}{N}\sum_{i=1}^Nx^i\neq\mu

E[m]=E[1Ni=1Nxi]=1Ni=1NE[xi]=μE[m] = E[\frac{1}{N}\sum_{i=1}^Nx^i] = \frac{1}{N}\sum_{i=1}^NE[x^i] = \mu

mm的方差为(mm的方差取决于样本的个数):

Var[m]=σ2NVar[m] = \frac{\sigma^2}{N}

s2=1Ni=1N(xnm)2s^2 = \frac{1}{N}\sum_{i=1}^N(x^n - m)^2

E[s2]=N1Nσ2σ2E[s^2] = \frac{N-1}{N}\sigma^2 \neq \sigma^2

测试误差来源
右下角:实际目标为红色点,而算出的是蓝色的小点,取这些蓝色小点的期望为f^=E(f)\hat{f}=E(f^*)用如图所示的蓝色大点表示,那么蓝色大点与红色点之间的距离就是偏差,而蓝色大点与蓝色小点之间的距离就是方差。
左上角:偏差和方差都比较小;
右上角:偏差较小方差较大;
左下角:偏差较大方差较小。


偏差和方差由什么因素决定?

  • 方差
    方差由模型的复杂度决定,模型越复杂方差越大。
    下图中每条函数曲线都是从同一分布中随机抓取相同数量的样本分别学习得到的预测曲线。
    测试误差来源
    当采用比较简单的模型时得到的预测曲线比较一致;
    当使用比较复杂的模型时得到的预测曲线杂乱无章;
    就想比较聚集的蓝色小点和比较分散的蓝色小点。
  • 偏差
    如果把所有的ff^*做平均它是否会接近f^\hat{f}呢?
    先假设一个f^\hat{f},如下图:
    测试误差来源
    分别用一次式、三次式和五次式为模型对5000个不同的样本组进行学习并绘制出预测曲线,并用黑色曲线表示假设的f^\hat{f},用蓝色去彪表示对5000条预测曲线求平均后的曲线,如下图:
    测试误差来源
    模型越复杂预测曲线的平均值曲线与真实曲线越相近。
    这是因为:用简单的模型学习预测函数时它的值域会比较小,分布范围也小;用复杂模型学习预测函数时它的值域比较大,分布范围也大。
    如下图:
    测试误差来源

受偏差和方差影响的测量误差

测试误差来源
红线:由偏差引起的误差;
绿色:由方差引起的误差;
蓝色:测量误差


分两种情况来进行优化

  • 偏差比较大的情况:
    当偏差大的时候通过增加特征个数(使用更复杂的模型)来优化。
  • 方差比较大的情况:
    当方差大的时候通过增加样本个数或者正则化来优化。
    测试误差来源

相关文章: