硬啃:《Deep Learning》机器学习基础篇(三)

183 阅读4分钟

继续紧接上文内容,接下来我们要学习统计领域的相关知识,统计领域给了我们很多工具来实现机器学习的目标,不仅可以解决训练集上的任务,还可以泛化。例如一些基本概念,估计、偏差和方差,对于正式刻画泛化、欠拟合和过拟合都非常有帮助。


估计、偏差和方差

点估计

点估计试图为一些感兴趣的量提供一个单例“最优”预测。一般地,感兴趣的量可以是单个参数,或是某些参数模型中的一个向量参数,也有可能是整个函数。

为了区分参数估计和真实值,我们习惯将参数θ\theta的点估计表示为θ^\hat{\theta}

{x(1),,x(m)}\{x^{(1)},\ldots,x^{(m)}\}mm个独立同分布的数据点。点估计统计量是这些数据的任意函数:

θ^m=g(x(1),,x(m))\hat{\theta}_{m}=g(x^{(1)},\ldots,x^{(m)})

这个定义不要求gg返回一个接近θ\theta的值,或者gg的值域恰好是θ\theta的允许取值范围。点估计也可以指输入和目标变量之间关系的估计,我们将这种类型的点估计称为函数估计。

函数估计:有时我们会关注函数估计。这时我们试图从输入向量xx预测变量yy。假设有一个函数f(x)f(x)表示yyxx之间的近似关系。例如,我们可能假设y=f(x)+ϵy=f(x)+\epsilon,其中ϵ\epsilonyy中未能从xx预测的一部分。在函数估计中,我们感兴趣的是用模型估计去近似ff,或者估计f^\hat{f}。函数估计和参数估计是一样的,函数估计是函数空间中的一个点估计。

偏差

估计的偏差量被定义为

bias(θ^m)=E(θ^m)θbias(\hat{\theta}_{m})=\mathbb E(\hat{\theta}_m)-\theta

其中期望作用在所有的数据上,θ\theta是用于定义数据生成分布的真实值。如果bias(θ^m)=0bias(\hat{\theta}_{m})=0,那么估计量θ^m\hat{\theta}_m被称为无偏,这意味着E(θ^m)=θ\mathbb E(\hat{\theta}_m)=\theta。如果limmbias(θ^m)=0\displaystyle\lim_{m\rightarrow\infty}bias(\hat{\theta}_{m})=0,那么估计量θ^m\hat{\theta}_{m}被称为是渐近无偏,这意味着limmE(θ^m)=θ\displaystyle\lim_{m\rightarrow\infty}\mathbb E(\hat{\theta}_{m})=\theta


示例1:伯努利分布

考虑一组服从均值为θ\theta的伯努利分布的独立同分布样本{x(1),,x(m)}\{x^{(1)},\ldots,x^{(m)}\}

P(x(i);θ)=θx(i)(1θ)(1x(i))P(x^{(i)};\theta)=\theta^{x^{(i)}}(1-\theta)^{(1-x^{(i)})}

这个分布中的参数θ\theta的常用估计量是训练样本的均值:

θ^m=1mi=1mx(i)\hat{\theta}_m=\dfrac{1}{m}\displaystyle\sum^m_{i=1}x^{(i)}

判断这个估计量是否有偏,我们将上式代入到偏差定义式中:

bias(θ^m)=E(θ^m)θ=E[1mi=1mx(i)]θ=1mi=1mE[x(i)]θ=1mi=1mx(i)=01(x(i)θx(i)(1θ)(1x(i)))θ=1mi=1m(θ)θ=θθ=0bias(\hat{\theta}_{m})=\mathbb E(\hat{\theta}_m)-\theta \\ =\mathbb E\bigg[\dfrac{1}{m}\displaystyle\sum^m_{i=1}x^{(i)}\bigg]-\theta \\ =\dfrac{1}{m}\displaystyle\sum^m_{i=1}\mathbb E[x^{(i)}]-\theta \\ =\dfrac{1}{m}\sum^m_{i=1}\sum^1_{x^{(i)}=0}\bigg(x^{(i)}\theta^{x^{(i)}}(1-\theta)^{(1-x^{(i)})}\bigg)-\theta \\ =\dfrac{1}{m}\sum^m_{i=1}(\theta)-\theta \\ =\theta-\theta=0

因为bias(θ^)=0bias(\hat{\theta})=0,我们称估计θ^\hat\theta是无偏的。


示例2:均值的高斯分布估计

现在考虑一组独立同分布的样本{x(1),,x(m)}\{x^{(1)},\ldots,x^{(m)}\}服从高斯分布p(x(i))=N(x(i);μ,σ2)p(x^{(i)})=N(x^{(i)};\mu,\sigma^2),其中i{1,,m}i\in\{1,\ldots,m\}。高斯分布密度函数如下:

p(x(i);μ,σ2)=12πσ2exp(12(x(i)μ)2σ2)p(x^{(i)};\mu,\sigma^2)=\dfrac{1}{\sqrt{2\pi\sigma^2}}exp\bigg(-\dfrac{1}{2}\dfrac{(x^{(i)}-\mu)^2}{\sigma^2}\bigg)

高斯均值参数的常用估计量被称为样本均值

μ^m=1mi=1mx(i)\hat\mu_m=\dfrac{1}{m}\sum^m_{i=1}x^{(i)}

判断样本均值是否有偏,我们再次计算它的期望:

bias(μ^m)=E[μ^m]μ=E[1mi=1mx(i)]μ=(1mi=1mE[x(i)])μ=(1mi=1mμ)μ=μμ=0bias(\hat\mu_m)=\mathbb E[\hat\mu_m]-\mu \\ =\mathbb E\bigg[\dfrac{1}{m}\sum^m_{i=1}x^{(i)}\bigg]-\mu \\ =\bigg(\dfrac{1}{m}\sum^m_{i=1}\mathbb E[x^{(i)}]\bigg)-\mu \\ =\bigg(\dfrac{1}{m}\sum^m_{i=1}\mu\bigg)-\mu \\ =\mu -\mu =0

因此我们发现样本均值是高斯均值参数的无偏估计量。


示例3:高斯分布方差估计

本例中,我们比较高斯分布方差参数σ2\sigma^2的两个不同估计。我们探讨是否存在一个是有偏的。

我们考虑的第一个方差估计被称为样本方差

σ^m=1mi=1m(x(i)μ^m)2\hat\sigma_m=\dfrac{1}{m}\sum^m_{i=1}\bigg(x^{(i)}-\hat\mu_m\bigg)^2

其中μ^m\hat\mu_m是样本均值,更形式化的表示我们对计算感兴趣

bias(σ^m2)=E[σ^m2]σ2bias(\hat\sigma_m^2)=\mathbb E[\hat\sigma_m^2]-\sigma^2

首先我们估计项E[σ^m2]\mathbb E[\hat\sigma_m^2]

E[σ^m2]=E[1mi=1m(x(i)μ^m)2]=m1mσ2\mathbb E[\hat\sigma_m^2]=\mathbb E\bigg[\dfrac{1}{m}\sum^m_{i=1}\big(x^{(i)-\hat\mu_m}\big)^2\bigg] \\ =\dfrac{m-1}{m}\sigma^2

回到上面的式子,我们可以得到σ^m2\hat\sigma_m^2的偏差时σ2m-\dfrac{\sigma^2}{m}。因此样本方式是有偏估计。

无偏样本方差估计:

σ~m2=1m1i=1m(x(i)μ^m)2\tilde\sigma^2_m=\dfrac{1}{m-1}\sum^m_{i=1}\big(x^{(i)}-\hat\mu_m\big)^2

提供了另一种可选方案。正如名字所示,这个估计是无偏的。也就是说这里E[σ~m2]=σ2\mathbb E[\tilde\sigma^2_m]=\sigma^2

E[σ~m2]=E[1m1i=1m(x(i)μ^m)2]=mm1E[σ^m2]=mm1(m1mσ2)=σ2\mathbb E[\tilde\sigma^2_m]=\mathbb E\bigg[\dfrac{1}{m-1}\sum_{i=1}^m\big(x^{(i)}-\hat\mu_m\big)^2\bigg] \\ =\dfrac{m}{m-1}\mathbb E[\hat\sigma^2_m] \\ =\dfrac{m}{m-1}\bigg(\dfrac{m-1}{m}\sigma^2\bigg) \\ =\sigma^2

我们有两个估计量:一格式有偏的,另一个是无偏的。尽管无偏是我们所满意的情况,但是它并不总是“最好”的估计。经常会使用一些重要性质的有偏估计。


方差和标准差

有时我们希望能够对估计量的另一个性值进行判断,期望变化的程度是多少。正如前文提到的估计量的期望可以决定它的偏差,我们可以计算它的方差来判断它变化的程度:

Var(θ^)Var(\hat{\theta})

其中的变量为训练集。另外如果对方差开根号,得到的就是标准差,记作SE(θ^)SE(\hat{\theta})

正如我们希望我们训练的模型的偏差更小,同样的方差我们也希望它能尽可能的小。

均值的标准差:

SE(μm^)=Var[1mi=1mx(i)]=σmSE(\hat{\mu_m})=\sqrt{Var\bigg[\dfrac{1}{m}\sum_{i=1}^mx^{(i)}\bigg]}=\dfrac{\sigma}{\sqrt{m}}

其中σ2\sigma^2是样本x(i)x^{(i)}的真实方差。标准差记作σ\sigma。均值的标准差在机器学习实验中非常有用。我们通常用测试集样本的误差均值来估计泛化误差。测试集中样本的数量决定了这个估计的精确度。中心极限定理告诉我们均值会接近一个高斯分布,我们可以用标准差计算出真实期望落在所选定区域的概率。例如,以均值μ^m\hat{\mu}_m为中心的95%置信区间是

(μ^m1.96SE(μ^m),μ^m+1.96SE(μ^m))(\hat{\mu}_m-1.96SE(\hat{\mu}_m),\hat{\mu}_m+1.96SE(\hat{\mu}_m))

以上区间是基于均值μ^m\hat{\mu}_m和方差SE(μ^m)2SE(\hat{\mu}_m)^2的高斯分布。在机器学习中算法A比算法B好的指标就是指算法A的误差的95%置信区间的上界小于算法B的误差的95%置信区间的下界。