[李宏毅 机器学习] 2.误差来源

您可以在我的个人博客 blog.pengwill.info 获得更好的阅读体验。

思维导图

在这里插入图片描述

系统的误差来自两个方面,Bias和Variance

数理统计中的方差和偏差

当我们需要随机变量 x x x所服从的总体分布的均值和方差的时候,有不同的估计方法。然而在选择估计量进行估计的时候,可能会有偏差,据此可以分为有偏估计无偏估计。下面为均值和方差的估计方法。

估计均值 μ \mu μ

  1. 首先从总体抽样,获得一个样本集,如抽 N N N个样本 X 1 , X 2 , … , X N X^1,X^2,\dots,X^N X1,X2,,XN构成一个样本集
  2. 计算此样本集的均值 m = ∑ i = 1 N X i N m=\frac{\sum^N_{i=1}X_i}{N} m=Ni=1NXi
  3. 多次采样,即得出多个样本集,如共得到 K K K个样本集,计算样本集均值的均值 E [ m ] = E [ 1 N ∑ i = 1 N X i ] = 1 N E [ ∑ i = 1 N X i ] E[m] = E[\frac{1}{N}\sum_{i=1}^{N}X_i]=\frac{1}{N}E[\sum_{i=1}^{N}X_i] E[m]=E[N1i=1NXi]=N1E[i=1NXi]

上述表述即为中心极限定理, m m m为总体均值 μ \mu μ的一个无偏估计。

估计方差 σ 2 \sigma^2 σ2

  1. 首先从总体抽样,获得一个样本集,如抽 N N N个样本 X 1 , X 2 , … , X N X^1,X^2,\dots,X^N X1,X2,,XN构成一个样本集
  2. 计算此样本集的均值 m = ∑ i = 1 N X i N m=\frac{\sum^N_{i=1}X_i}{N} m=Ni=1NXi,计算样本集的二阶中心矩 S 2 = 1 N ∑ i = 1 N ( X i − m ) 2 S^2=\frac{1}{N}\sum_{i=1}^{N}(X_i-m)^2 S2=N1i=1N(Xim)2
  3. 多次采样,即得出多个样本集,如共得到 K K K个样本集,计算样本集二阶中心距的均值 E [ S 2 ] = 1 N E [ ∑ i = 1 N ( X i − m ) 2 ] E[S^2]=\frac{1}{N}E[\sum_{i=1}^{N}(X_i-m)^2] E[S2]=N1E[i=1N(Xim)2]
  4. 此时的估计为有偏估计,与真实的方差之间的差别为 E [ S 2 ] = N − 1 N σ 2 E[S^2]=\frac{N-1}{N}\sigma^2 E[S2]=NN1σ2

由此可知 S 2 S^2 S2为总体方差的 σ 2 \sigma^2 σ2的一个有偏估计。

为什么会有这样的结果

假定我们对于参数为 θ \theta θ的某个分别连续采样,想要通过观测值来估计参数 θ \theta θ,估计的到的参数记为 θ ^ \hat{\theta} θ^,那么估计的偏差为 B i a s [ θ ^ ] = E [ θ ^ ] − θ Bias[\hat{\theta}]=E[\hat{\theta}]-\theta Bias[θ^]=E[θ^]θ。那么无偏估计为 B i a s [ θ ^ ] = 0 Bias[\hat{\theta}] = 0 Bias[θ^]=0的估计。

对于均值的估计偏差

\[
\begin{align*}
E[m] &=\frac{1}{N}E[\sum_{i=1}^{N}X_i] \\ &= \frac{1}{N}\sum_{i=1}^NE(X_i) \\ &=\frac{1}{N}\sum_{i=1}^{N}\mu\&=\mu
\end{align*}
\]

可以看到样本均值即为总体均值,故为无偏估计。

对于方差估计偏差

E [ S 2 ] = E [ 1 n ∑ i = 1 n ( X i − m ) 2 ] = E [ 1 n ∑ i = 1 n ( ( X i − μ ) − ( m − μ ) ) 2 ]   = E [ 1 n ∑ i = 1 n ( ( X i − μ ) 2 − 2 ( m − μ ) ( X i − μ ) + ( m − μ ) 2 ) ]   = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( m − μ ) ∑ i = 1 n ( X i − μ ) + 1 n ( m − μ ) 2 ⋅ n ]   = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( m − μ ) ∑ i = 1 n ( X i − μ ) + ( m − μ ) 2 ]   = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( m − μ ) ⋅ n ⋅ ( m − μ ) + ( m − μ ) 2 ]   = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 ( m − μ ) 2 + ( m − μ ) 2 ]   = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − ( m − μ ) 2 ]   = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 ] − E [ ( m − μ ) 2 ]   = σ 2 − E [ ( m − μ ) 2 ] = ( 1 − 1 n ) σ 2 &lt; σ 2 \begin{aligned} \mathrm{E}\left[S^{2}\right] &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-m\right)^{2}\right]=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(\left(X_{i}-\mu\right)-(m-\mu)\right)^{2}\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(\left(X_{i}-\mu\right)^{2}-2(m-\mu)(X_{i}-\mu)+(m-\mu)^{2}\right)\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-\frac{2}{n}(m-\mu) \sum_{i=1}^{n}\left(X_{i}-\mu\right)+\frac{1}{n}(m-\mu)^{2} \cdot n\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-\frac{2}{n}(m-\mu) \sum_{i=1}^{n}\left(X_{i}-\mu\right)+(m-\mu)^{2}\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-\frac{2}{n}(m-\mu) \cdot n \cdot(m-\mu)+(m-\mu)^{2}\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-2(m-\mu)^{2}+(m-\mu)^{2}\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}-(m-\mu)^{2}\right] \\\ &amp;=\mathrm{E}\left[\frac{1}{n} \sum_{i=1}^{n}\left(X_{i}-\mu\right)^{2}\right]-\mathrm{E}\left[(m-\mu)^{2}\right] \\\ &amp;=\sigma^{2}-\mathrm{E}\left[(m-\mu)^{2}\right]=\left(1-\frac{1}{n}\right) \sigma^{2}&lt;\sigma^{2} \end{aligned} E[S2]        =E[n1i=1n(Xim)2]=E[n1i=1n((Xiμ)(mμ))2]=E[n1i=1n((Xiμ)22(mμ)(Xiμ)+(mμ)2)]=E[n1i=1n(Xiμ)2n2(mμ)i=1n(Xiμ)+n1(mμ)2n]=E[n1i=1n(Xiμ)2n2(mμ)i=1n(Xiμ)+(mμ)2]=E[n1i=1n(Xiμ)2n2(mμ)n(mμ)+(mμ)2]=E[n1i=1n(Xiμ)22(mμ)2+(mμ)2]=E[n1i=1n(Xiμ)2(mμ)2]=E[n1i=1n(Xiμ)2]E[(mμ)2]=σ2E[(mμ)2]=(1n1)σ2<σ2

当样本均值 m m m和总体均值 μ \mu μ相等时,二阶中心矩的期望和总体方差 σ 2 \sigma^2 σ2相等,否则二阶中心距期望小于总体方差 σ 2 \sigma^2 σ2

话说回来

如果我们对一个量进行估计,若估计的本身就是有偏的,那么无论我们估计的再准,最终结果也会有偏差。这就好比使用二阶中心距来估计总体方差,无论二阶中心距计算的再准,也是会有偏差的(即bias)。使用修正后的公式后则不会出现这个问题。

如果我们在估计时选择无偏估计量,那么如何进一步评价这个估计量的好坏呢?我们一般认为越有效的估计量越好。有效性指的是估计量与总体参数的离散程度,即方差的大小,方差越小,则估计量越有效。

模型的方差和偏差

模型的方差

简单的模型受数据的影响较小,因为简单模型参数少,在数据不同的时候,变化较小。
复杂的模型受数据的影响较大,因为复杂模型参数多,在数据不同的时候,变化较大。

复杂系统的稳定性小,简单模型的稳定性大。

模型的偏差

简单模型的偏差可能会很大,因为简单模型所能表达的有限,故有可能会使得最后的偏差很大。当出现这种情况的时候,这是说明没有很好的拟合数据(underfitting)。

复杂模型的表达能力更强,但是受数据影响较大,即每次得出的模型方差会很大,出现这种情况的时候,说明已经过头拟合了数据(overfitting)。

模型诊断

判断
  1. 如果模型在训练集上的表现很差(高bias),即不能很好的拟合训练集,则说明模型比较简单,处于欠拟合(underfitting)的状态。
  2. 如果模型在训练集上的表现很好,但是在测试集上的表现不好(高variance),则说明模型复杂,且处于过拟合(overfitting)的状态。
调整
  1. 当欠拟合的状态,应该提高模型复杂度,在模型中加入更多的特征。
  2. 当过拟合的时候,应该增加数据量,或者增加正则项。

模型选择

我们希望找到一个模型,他的方差很小,他的偏差也很小。

划分验证集

将Training Set分为两组,一组为Training Set,另一组为Validation Set(验证集)。首先使用Training Set进行训练,训练出多个模型后,使用Validation Set选择一个误差最小的模型。然后提交这个模型。这个模型在Public Set上的误差可以代表在Private Set上的误差。

切记不要通过Public Set来调整模型。比如在猫狗分类中,查看在Public Set上误分类的猫,来进一步提高猫的分类效果。这样的操作相当于过拟合Public Set,会导致看起来在Public Set上的效果很好,但是最后在Private Set的效果很差,最后训练的模型没有很好的泛化能力。

N折交叉验证

将Training Set平均为N组,每一次训练,都将N组中其中一组作为Validation Set,其余作为Training Set。当训练好多个模型的时候,进行评估时,同样执行N次,每一次用其中的Validation Set评估,计算出误差,最后求出N个误差的均值,作为这个模型的平均误差。选取平均误差最小的作为最后的模型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值