Deep Learning阅读笔记:Chapter 5—Machine Learning Basics(2)

估计、偏差和方差(Estimators, Bias and Variance)

点估计(Point Estimation)

点估计(point estimation)是指通过估计仅得到“最优”的一个估计值或者是一个估计向量,若待估计的参数为\theta,估计量记作\hat{ \theta }。令\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}表示m个独立同分布的数据点,点估计为这些点的函数:\hat{ \theta }_{m}=g(x^{(1)}, x^{(2)},...,x^{(m)})。定义上不要求函数g的输出是接近\theta的值,甚至可以是可允许的任意\theta值(点估计的定义十分宽松,使得估计器的设计是很容易的),但输出接近\theta的函数g才是一个好的估计器。真正的\theta是一个固定值,但其估计量\hat{ \theta }是一个函数(数据集\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}的函数)。由于数据集\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}是随机的(每次采样得到的数据集并不一定相同),因此其函数(估计量\hat{ \theta })是一个随机变量。点估计也可以视作是输入数据集和目标变量之间关系的函数,也可以称作函数估计(function estimators)。

function estimation

在给定输入向量x时估计变量y:假设f(x)能近似表示y和x之间的关系,比如y=f(x)+\epsilon\epsilon表示不能从x中预测到的y的那部分(y由两部分组成:能从x中预测出的一部分f(x),不能从x中预测出的一部分\epsilon)。function estimation中我们想估计出一个近似f(x)的函数\hat{f(x)}\hat{f(x)}其实就可以视为函数空间(function space)中的一个点。因此线性回归和多项式回归中参数w的估计既可以视为点估计,也可以视为是输入数据集和目标变量y之间关系的函数估计。

偏差(Bias)

估计的偏差(bias)定义如下:bias(\hat{\theta _{m}})=E(\hat{\theta _{m}})-\theta,其中E(\hat{\theta _{m}})是所估计参数\hat{ \theta }_{m}的期望(\hat{ \theta }_{m}是由数据集进行估计的,数据集视作采样点,因此具有随机性,那么\hat{ \theta }_{m}也是随机变量,因此要求期望才能代表该估计方法的准确性),\theta是真正的参与到数据生成的参数值。如果bias(\hat{\theta _{m}})=0,称为无偏估计,因为E(\hat{\theta _{m}})=\theta;若\lim_{m\rightarrow \infty }bias(\hat{\theta _{m}})=0,称为渐进无偏(asymptotically unbiased)估计,因为\lim_{m\rightarrow \infty }E(\hat{\theta _{m}})=\theta

1. 以Bernoulli分布为例:\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}是服从均值为\theta的Bernoulli分布的独立同分布的样本,则概率密度函数为:

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

一个常见的\theta的估计量为这些样本点的期望:\hat{\theta}=\frac{1}{m}\sum_{i=1}^{m} x^{(i)}

经检验:bias(\hat{\theta _{m}})=E(\hat{\theta _{m}})-\theta=E(\frac{1}{m}\sum_{i=1}^{m}x^{(i)})-\theta

                               =\frac{1}{m} E(\sum_{i=1}^{m}x(i))-\theta=\frac{1}{m} \sum_{i=1}^{m} E(x(i))-\theta

                               =\frac{1}{m} \sum_{i=1}^{m}\sum_{x^{(i)}=0}^{1}(x^{(i)}\theta ^{x^{(i)}}(1-\theta )^{(1-x^{(i)})})-\theta

                               =\frac{1}{m}\sum_{i=1}^{m}(\theta ) -\theta=0

是无偏估计。

2. 以估计高斯分布的均值为例:\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}是服从高斯分布的独立同分布样本,概率密度函数为:

p(x^{(i)})=N(x^{(i)};\mu ,\sigma ^{2})=\frac{1}{2\pi \sigma ^{2}}exp(- \frac{1}{2}\frac{(x^{(i)}-\mu )^{2}}{\sigma ^{2}}),其中i\in \left \{ 1,...,m \right \}

常见的期望估计是样本点的均值:\hat{\mu_{m}}=\frac{1}{m}\sum_{i=1}^{m} x^{(i)}

bias(\hat{\mu _{m}})=E[\hat{\mu _{m}}]-\mu =E[\frac{1}{m}\sum_{i=1}^{m}x^{(i)}]-\mu

                 =\frac{1}{m}\sum_{i=1}^{m}E[x^{(i)}]-\mu=\frac{1}{m}\sum_{i=1}^{m}\mu -\mu =0

是无偏估计。

3. 以估计高斯分布的方差为例:\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}是服从高斯分布的独立同分布样本,概率密度函数为:

p(x^{(i)})=N(x^{(i)};\mu ,\sigma ^{2})=\frac{1}{2\pi \sigma ^{2}}exp(- \frac{1}{2}\frac{(x^{(i)}-\mu )^{2}}{\sigma ^{2}}),其中i\in \left \{ 1,...,m \right \}。用两种方法估计方差{\sigma}^{2},观察是否为无偏估计。

第一种为样本方差(sample variance)估计:{\hat{\sigma}_{m}}^2=\frac{1}{m}\sum_{i=1}^{m} (x^{(i)}-\hat{\mu}_{m})^2,其中\hat{\mu_{m}}=\frac{1}{m}\sum_{i=1}^{m} x^{(i)}也是估计量,计算:

bias(\hat{\sigma} _{m}^2)=E[\hat{\sigma} _{m}^2]-\sigma^2=E[\frac{1}{m}\sum_{i=1}^{m} (x^{(i)}-\hat{\mu}_{m})^2]-\sigma^2

                =\frac{m-1}{m}\sigma^2-\sigma^2=-\frac{1}{m}\sigma^2\neq 0

不是无偏估计,至于E[\frac{1}{m}\sum_{i=1}^{m} (x^{(i)}-\hat{\mu}_{m})^2]的计算可以参考该回答:为什么样本方差(sample variance)的分母是 n-1? - 知乎用户的回答 - 知乎 https://www.zhihu.com/question/20099757/answer/26586088

第二种是无偏差的样本方差估计(unbiased sample variance):\tilde{\sigma}_{m}^2=\frac{1}{m}\sum_{i=1}^{m} (x^{(i)}-\hat{\mu}_{m})^2,其中\hat{\mu_{m}}=\frac{1}{m}\sum_{i=1}^{m} x^{(i)}为均值的估计量,则:

bias(\tilde{\sigma}_{m}^2)=E[\tilde{\sigma}_{m}^2]-\sigma^2=E[\frac{1}{m-1}\sum_{i=1}^{m} (x^{(i)}-\hat{\mu}_{m})^2]-\sigma^2=\sigma^2-\sigma^2=0,是无偏估计。

方差和标准差(Variance and Standard Error)

除了偏差bias(用来衡量我们的估计量的期望与真实值之间的差距),也需要衡量估计量的波动大小,也就是估计量的方差(variance):Var(\hat{\theta}),变量就是数据集/训练集/采样点(方差就表示多次采样时,估计量是如何变化的,是否稳定),方差的平方根就是标准差(standard error):SE(\hat{\theta})。均值估计量的标准差为:SE(\hat{\mu}_m)=\sqrt{Var[\frac{1}{m}\sum_{i=1}^{m}x^{(i)}]}=\frac{\sigma}{\sqrt{m}},其中\sigma^2是真实方差(\sigma就是真实标准差),估计量的标准差通常由数据的标准差\sigma的估计量得到,然而无论是上面提到的biased sample variance estimate还是unbiased sample variance estimate都只能得到有偏的标准差\sigma的估计量,两者都倾向于低估了标准差\sigma。但实际应用中依然选用unbiased sample variance estimate来估计标准差\sigma(低估程度小,更接近真实标准差),当样本数很大时,估计是理想的。

均值估计量的标准差经常在机器学习中使用:计算测试集上的均值,估计泛化误差。从上面的式子中可知,测试集的大小会影响估计的准确性。根据中心极限定理(central limit theorem),均值近似服从正态分布,因此可利用均值估计量的期望\hat{\mu}_m和标准差SE(\hat{\mu}_m)^2得到概率密度函数,然后计算真实的期望落在某个区间内的概率(积分),其中均值以\hat{\mu}_m为中心的95%置信区间为:(\hat{\mu}_m-1.96SE(\hat{\mu}_m),\hat{\mu}_m+1.96SE(\hat{\mu}_m)),表示真正的期望在该区间内的可能性为95%。一般在机器学习中,如果算法A的95%区间的上边界低于算法B的置信区间的下边界,则称算法A优于算法B,这个区间表示期望估计量在95%置信度下的取值范围,说明算法A绝大多数情况下对均值的估计都要比B贴近真实值。

以Bernoulli Distribution为例:\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}是服从高斯分布的独立同分布样本,概率密度函数为:

p(x^{(i)};\theta )=\theta ^{x(i)}(1-\theta )^{(1-x^{(i)})},计算估计量\hat{\theta}=\frac{1}{m}\sum_{i=1}^{m} x^{(i)}的方差为:

Var(\hat{\theta}_m)=Var(\frac{1}{m}\sum_{i=1}^{m} x^{(i)})=\frac{1}{m^2}\sum_{i=1}^{m}Var(x^{(i)})

                =\frac{1}{m^2}\sum_{i=1}^{m}\theta(1-\theta)=\frac{1}{m}\theta(1-\theta)

这是一个m的减函数,因此随着样本数量的增加,均值估计量的偏差是会变小的。

最小化均方差时的偏差和方差(Trading off Bias and Variance to Minimize Mean Square Error)

偏差和方差可表示估计器的两种误差来源:偏差表示估计器偏离真实参数或函数的平均水平,方差表示估计器对每个点进行估计时的偏离程度。那么如何在偏差和方差间取舍?通常使用交叉验证(cross-validation),另一种方法是利用均方差(Mean square error):MSE=E[(\hat{\theta}_m-\theta)^2]=Bias(\hat{\theta}_m)^2+Var(\hat{\theta}_m),MSE可以衡量估计量的整体偏离程度(在误差平方的意义上)。拥有较小MSE的估计器基本有恰当的偏差和方差。

偏差和方差间的联系与机器学习中模型的容量,欠拟合和过拟合等概念有很密切的关系。当机器学习中的泛化误差由MSE衡量时,增加模型容量就会增大方差减小偏差,因此泛化误差是模型容量的U形函数:

一致性(Consistency)

训练样本越多,我们的估计会越准确,即:\lim_{m\rightarrow \infty }\hat{\theta_m}\overset{p}{\rightarrow}\theta,其中\overset{p}{\rightarrow}表示以一定的概率收敛,即\forall \epsilon >0,P(\left | \hat{\theta_m}-\theta>\epsilon \right |)\rightarrow 0,当m\rightarrow \infty时。该式称为一致性(Consistency),有时称为弱一致(weak consistency),强一致(strong consistency)指几乎确定\hat{\theta}\rightarrow \theta。一个随机变量序列x^{(1)},x^{(2)}...的几乎确定收敛到一个值x是指p(\lim_{m\rightarrow \infty }x^{(m)}=x)=1

一致性保证了估计器的偏差会随着训练集样本的增加而消失(达到无偏估计),但反过来,无偏估计不能证明一致性。比如:

\left \{ x^{(1)} , x^{(2)} , ...,x^{(m)} \right \}是服从正太分布(\mu ,\sigma)的独立同分布样本,可以通过第一个样本x^{(1)}对期望进行估计:\hat{\theta}=x^{(1)},因为E[\hat{\theta_m}]=\theta所以是无偏估计,但没有\hat{\theta_m}\rightarrow \thetam\rightarrow \infty时。

猜你喜欢

转载自blog.csdn.net/lynlindasy/article/details/86769889