估计器、方差、偏差;三种参数估计方法

DeepLearningBook----reading notes

5.4 Estimators, Bias, and Variance

对于机器学习而言,parameter estimation,bias和variance是三个非常基础的概念,对于形式化地定义generalization、underfitting、overfitting而言非常重要。

5.4.1 Point Estimation

点估计尝试提供对于参数的最好预测。所谓的参数可以是参数化模型(parametric model)中的单个参数或者参数向量,比如线性回归中的权重 w w w,同时也可以是整个函数 f f f

为了将参数的估计值和真值区分开,我们约定用 θ ^ \hat{\theta} θ^来表示 θ \theta θ的点估计(point estimation)。

{ x 1 , . . . , x m } \{x_1, ...,x_m\} {x1,...,xm} m m m个独立同分布(iid)的样本点集合,

点估计(point estimation or statistic)是指任意的关于数据的函数:
θ ^ m = g ( x ( 1 ) , . . . , x ( m ) ) \hat{\theta}_m=g(x^{(1)},...,x^{(m)}) θ^m=g(x(1),...,x(m))
一个好的点估计器应该是这样的一个函数:这个函数的输出 θ ^ m \hat{\theta}_m θ^m和真正的 θ \theta θ足够接近。

到现在为止,我们采用的是统计学中频率学家的观点。即我们假设真实参数的值 θ \theta θ是固定的但是未知的(fixed but unknown),同时点估计 θ ^ \hat{\theta} θ^是关于数据(data)的函数。因为数据是从随机过程中(random process)抽样得到的,所以任何关于该数据的函数也是随机的(random),因此点估计 θ ^ \hat{\theta} θ^也是一个随机变量(random variable)。

点估计也可以是关于输入和目标变量之间的关系的估计,我们称这种类型的点估计为函数估计器(function estimators)。

Function Estimation

当给定输入向量 x \bold{x} x预测目标变量 y \bold{y} y时,我们假定存在一个函数 f ( x ) f(\bold{x}) f(x)能够近似地描述 x \bold{x} x y \bold{y} y之间的关系。例如,我们可以假设 y = f ( x ) + ϵ \bold{y}=f(\bold{x})+\epsilon y=f(x)+ϵ,其中 ϵ \epsilon ϵ表示 y \bold{y} y中不能从 x \bold{x} x中预测的部分。在函数估计中,我们感兴趣的是用一个模型或者函数 f ^ \hat{f} f^去近似真实的 f f f。函数估计和参数 θ \theta θ的点估计其实是一回事;函数估计器 f ^ \hat{f} f^就是函数空间中的一个点估计器。线性回归和多项式回归既可以看做是参数 w w w的点估计,也可以理解为 x \bold{x} x y \bold{y} y之间的一个函数估计器 f ^ \hat{f} f^

现在我们回顾一下点估计器的重要性质。

5.4.2 Bias

估计器的偏差定义为:
b i a s ( θ ^ m ) = E ( θ ^ m ) − θ bias(\hat{\theta}_m)=\bold{E}(\hat{\theta}_m)-\theta bias(θ^m)=E(θ^m)θ
其中,我们是对整个数据集取期望, θ \theta θ是真实参数的值。如果 b i a s ( θ ^ m ) = 0 bias(\hat{\theta}_m)=0 bias(θ^m)=0,我们说估计器 θ ^ m \hat{\theta}_m θ^m是无偏估计器(unbiased),意味着 E ( θ ^ m ) = θ \bold{E}(\hat{\theta}_m)=\theta E(θ^m)=θ。我们说估计器 θ ^ m \hat{\theta}_m θ^m是渐进无偏的(asymptotically unbiased)如果 lim ⁡ m → ∞ b i a s ( θ ^ m ) = 0 \begin{matrix} \lim_{m \to \infty}bias(\hat{\theta}_m)=0\end{matrix} limmbias(θ^m)=0,即 lim ⁡ m → ∞ E ( θ ^ m ) = θ \begin{matrix} \lim_{m \to \infty}\bold{E}(\hat{\theta}_m)=\theta\end{matrix} limmE(θ^m)=θ

书中主要举了两个例子来说明这里的概念,一个是Bernoulli Distribution,一个是Gaussian Distribution,后续有空在补上这两个例子的具体内容。

这些例子主要是说明:我们能够得到关于一个变量的两个估计器,一个是unbiased,一个是biased;尽管无偏估计器是我们想要的,但是在某些情况下无偏估计器可能并不是最好的估计器;在很多情况下我们都会使用有偏估计器,因为有偏估计器具有一些良好的性质(具备什么样的性质?)

5.4.3 Variance and Standard Error

后续有时间在补充完善。这里先记录一下几个重要的点。

对于一个估计器而言,我们想要这个估计器同时具有low bias和low variance(但是这个很难做到,涉及到trade off between bias and variance)。

在测试集上的样本的数量决定了这个估计器的准确程度。

估计器的方差会随着样本数量 m m m的增加而减少,对于大部分的估计器而言,这个性质都是成立的。

5.5 Maximum Likelihood Estimation

前面的章节我们给出了估计器的定义以分析了估计器的相关性质如偏差和方差。但是这些估计器是怎么得到的呢?我们希望能够有一些准则,通过利用这些准则针对不同的模型能够推导出一些好的估计器。最常用的准则之一是maximum likelihood principle,即极大似然估计

给定一个样本集合 X = { x ( 1 ) , . . . , x ( m ) } \mathbb{X}=\{x^{(1)},...,x^{(m)}\} X={x(1),...,x(m)},每个样本都是独立地从真实存在的但是未知的数据生成概率分布 p d a t a ( x ) p_{data}(\bold{x}) pdata(x)中生成的。令 p m o d e l ( x ; θ ) p_{model}(\bold{x};\theta) pmodel(x;θ)表示一类以 θ \theta θ为参数的概率分布族,我们的目的是让 p m o d e l ( x ; θ ) p_{model}(\bold{x};\theta) pmodel(x;θ)尽可能地接近 p d a t a ( x ) p_{data}(\bold{x}) pdata(x)

θ \theta θ的极大似然估计器可以表示为:
θ M L = a r g   max ⁡ θ p m o d e l ( X ; θ ) = a r g   max ⁡ θ ∏ i = 1 m p m o d e l ( x ( i ) ; θ ) \theta_{ML}=arg\,\max_{\theta}p_{model}(\mathbb{X};\theta)\\ =arg\,\max_{\theta}\prod_{i=1}^mp_{model}(x^{(i)};\theta)\\ θML=argθmaxpmodel(X;θ)=argθmaxi=1mpmodel(x(i);θ)
通常来说我们不希望优化目标表达式中存在连乘项,因为这样的表达式可能会出现数值溢出的问题。一般做法是对连乘项取对数,变成累加项,具体形式为:
θ M L = a r g   max ⁡ θ ∑ i = 1 m log ⁡ p m o d e l ( x ( i ) ; θ ) \theta_{ML}=arg\,\max_{\theta}\sum_{i=1}^m\log p_{model}(x^{(i)};\theta) θML=argθmaxi=1mlogpmodel(x(i);θ)
对上述表达式做一个 1 m \frac{1}{m} m1的缩放,变成:
θ M L = a r g   max ⁡ θ E x ∼ p ^ d a t a log ⁡ p m o d e l ( x ; θ ) (1) \theta_{ML}=arg\,\max_{\theta}\bold{E}_{\bold{x}\sim\hat{p}_{data}}\log p_{model}(x;\theta)\tag{1} θML=argθmaxExp^datalogpmodel(x;θ)(1)
我们可以这样理解极大似然估计:极大似然估计等价于最小化由训练数据集定义的经验概率分布 p ^ d a t a \hat{p}_{data} p^data和由模型所定义的概率分布 p m o d e l p_{model} pmodel之间的差异,而这种差异是由KL散度来衡量的。KL散度的定义为:
D K L ( p ^ d a t a ∣ ∣ p m o d e l ) = E x ∼ p ^ d a t a [ log ⁡ p ^ d a t a ( x ) − log ⁡ p m o d e l ( x ) ] (2) D_{KL}(\hat{p}_{data}||p_{model})=\bold{E}_{\bold{x}\sim\hat{p}_{data}}[\log \hat{p}_{data}(x)-\log p_{model}(x)]\tag{2} DKL(p^datapmodel)=Exp^data[logp^data(x)logpmodel(x)](2)
观察一下表达式2,我们发现:
E x ∼ p ^ d a t a log ⁡ p ^ d a t a ( x ) \bold{E}_{\bold{x}\sim\hat{p}_{data}}\log \hat{p}_{data}(\bold{x}) Exp^datalogp^data(x)
是给定的训练数据集的信息熵,是一个常数,于是表达式2等价于:
m i n − E x ∼ p ^ d a t a log ⁡ p m o d e l ( x ) (3) min-\bold{E}_{\bold{x}\sim\hat{p}_{data}}\log p_{model}(\bold{x})\tag{3} minExp^datalogpmodel(x)(3)
可以看出,表达式1和表达式3的优化目标是相同的。

最小化KL散度等价于最小化不同分布间的交叉熵。许多研究人员用**“cross-entropy”**来特指Bernoulli或者softmax分布的负对数似然(negative log-likelihood,NLL),这其实是不对的;任何一种包含了NLL的损失函数都是由训练数据集所定义的经验分布和由模型所定义的概率分布之间的交叉熵损失函数。比如,MSE是经验分布和高斯模型之间的交叉熵(这里不懂)。

极大似然估计的目的是让由模型所定义的概率分布 p m o d e l ( x ; θ ) p_{model}(\bold{x};\theta) pmodel(x;θ)尽可能接近经验概率分布 p ^ d a t a ( x ; θ ) \hat{p}_{data}(\bold{x};\theta) p^data(x;θ);理想情况下,我们希望让 p m o d e l ( x ; θ ) p_{model}(\bold{x};\theta) pmodel(x;θ)逼近 p d a t a ( x ) p_{data}(\bold{x}) pdata(x),但是我们没有办法获取到概率分布 p d a t a ( x ) p_{data}(\bold{x}) pdata(x)的任何信息。

我们可以通过优化极大似然函数或者最小化KL散度来得到参数 θ \theta θ的估计值,通常把目标函数称为损失函数(cost function)。极大似然估计等价于最小化NLL,等价于最小化KL散度,等价于最小化交叉熵损失函数。

5.5.2 Properties of Maximum Likelihood

当训练样本数量 m → ∞ m\rightarrow\infty m,极大似然估计器被证明是渐进最优估计器(the best estimator asymptotically)。在合适的条件下,极大似然估计器有consistency的性质(后续在补充),即随着训练样本的数量趋近于无穷时,极大似然估计器得到的参数收敛于参数真值。这些条件是:

  1. 真实概率分布 p d a t a p_{data} pdata必须和模型概率分布 p m o d e l ( x ; θ ) p_{model}(\bold{x};\theta) pmodel(x;θ)是同一类概率分布;(不确定是否翻译正确,原文为:The true distribution p d a t a p_{data} pdata must lie within the model family p m o d e l p_{model} pmodel)不然,没有一个估计器能够恢复 p d a t a p_{data} pdata;(感觉这个条件已经很强了,有点像共轭的性质?)
  2. 真实的概率分布 p d a t a p_{data} pdata必须和参数 θ \theta θ的某一个值相同。不然,即使极大似然估计器能够恢复 p d a t a p_{data} pdata,但是也不能确定用来产生数据的 θ \theta θ是哪一种具体取值。

除了极大似然估计准则外,还有很多其他很好的准则,这些准则大多数都是consistent estimators。但是不同的估计器之间他们的统计效率(statistic efficiency)是不同的,比如在固定的训练样本数量下,有些估计器能够取得更低的泛化误差,在取得固定的泛化误差前提下,有些估计器所需要的样本数量更少。

Cramer-Rao lower bound表明没有任何一个consistent估计器的MSE比极大似然估计器低。

考虑到consistency和统计效率的原因,在机器学习中我们通常采用极大似然估计。当少量的样本已经产生过拟合现象时,我们会对极大似然估计添加正则项比如权重衰减(weight decay,所谓的L2正则)以便于在训练样本比较少的情况下我们的估计器还能够获得较小的方差。

5.6 Bayesian Statistics

目前为止我们讨论的是频率学派统计学(frequentist statistics)和基于点估计器的方法。另外一种统计学流派是贝叶斯统计学(Bayesian statistics),主要思想是在做预测的时候考虑 θ \theta θ的所有取值可能。

频率学派认为真实参数值 θ \theta θ是固定的但是未知的,并且点估计 θ ^ \hat{\theta} θ^是一个随机变量,因为 θ ^ \hat{\theta} θ^是关于数据集的函数,并且数据集也被视为随机变量。贝叶斯使用概率来表示我们对信息的确信度。数据集是被直接观测的,所以不是随机的。也就是说真实参数 θ \theta θ是未知的、不确定的,因此 θ \theta θ应该被视为随机变量。从两者的表达式也可以看出不同;频率学派的表达式一般为: p ( x ; θ ) p(x;\theta) p(x;θ),贝叶斯学派的表达式一般为: p ( x , θ ) p(x,\theta) p(x,θ),前者的表达式 θ \theta θ不是一个随机变量,后者的表达式 θ \theta θ是随机变量。

在观测到数据前,我们会使用先验概率分布(prior probability distribution,有时记做"the prior"), p ( θ ) p(\theta) p(θ)来反映参数 θ \theta θ的不确定程度。通常来说,实践人员会选择具有大信息熵的概率分布作为先验分布以此反映参数的高不确定性。比如我们可能假设先验分布属于均匀分布(具有很高的信息熵),倾向于选择更简单的解决方案(比如small magnitude coefficients(这也是L2正则的目的),接近于常量的函数)。

通过以下表达式我们能够得到关于参数 θ \theta θ的后验分布:
p ( θ ∣ x ( 1 ) , . . . , x ( m ) ) = p ( x ( 1 ) , . . . , x ( m ) ∣ θ ) p ( θ ) p ( x ( 1 ) , . . . , x ( m ) ) p(\theta|x^{(1)},...,x^{(m)})=\frac{p(x^{(1)},...,x^{(m)}|\theta)p(\theta)}{p(x^{(1)},...,x^{(m)})} p(θx(1),...,x(m))=p(x(1),...,x(m))p(x(1),...,x(m)θ)p(θ)
通常来说我们会选择均匀分布或者高斯分布作为先验分布(具有高信息熵),观测到的数据会降低分布的信息熵并且让分布集中于具有高取值可能性的参数范围。

和极大似然估计相比,贝叶斯估计主要有两点不同:

  1. 极大似然估计是对 θ \theta θ的点估计,贝叶斯估计利用a full distribution over θ \theta θ来做预测;比如,在观测到 m m m个样本之后,对于下一个样本 x ( m + 1 ) x^{(m+1)} x(m+1)的预测概率分布为:
    p ( x ( m + 1 ) ∣ x ( 1 ) , . . . , x ( m ) ) = ∫ p ( x ( m + 1 ) ∣ θ ) p ( θ ∣ x ( 1 ) , . . . , x ( m ) ) d θ p(x^{(m+1)}|x^{(1)},...,x^{(m)})=\int p(x^{(m+1)}|\theta)p(\theta|x^{(1)},...,x^{(m)})\mathrm{d}\theta p(x(m+1)x(1),...,x(m))=p(x(m+1)θ)p(θx(1),...,x(m))dθ
    对于最终的预测而言,具有非零的概率密度的 θ \theta θ值都有贡献,其权重为相应的后验概率密度。

    频率学派通过评估估计器的方差来衡量一个点估计器的不确定性。贝叶斯估计是通过对估计器进行积分来处理估计器的不确定性,这样的方式能够比较好的防止过拟合(为什么?)。

  2. 第二个不同就是贝叶斯估计中多了贝叶斯先验概率分布;先验表达了我们更喜欢简单的、平滑的模型,同时也是人类对于事物的主观性认识和判断,从而去影响最终的预测。

当训练样本比较少的时候,贝叶斯估计的泛化能力更好,当训练样本很多的时候贝叶斯估计的计算代价很高(存在积分)。相比之下,训练样本少的时候,极大似然估计容易过拟合,当训练样本大的时候,极大似然估计具有很好的收敛性,同时计算代价并不高,这也是为什么神经网络的损失函数一般是用极大似然估计原理得到的,因为神经网络的数据量一般很大;这也是很多时候神经网络加weight decay的效果反而会变差(当然有时候加上会更好)。

5.6.1 Maximum A Posteriori(MAP) Estimation

贝叶斯估计是利用关于参数 θ \theta θ的所有贝叶斯后验概率分布来做预测,但是这样的操作对于很多模型而言都是intractable;点估计提供了一个tractable的近似。和极大似然估计不同,我们仍然希望能够利用先验概率分布信息来影响点估计的选择。这就是所谓的maximum a posteriori(MAP),属于点估计,
θ M A P = a r g   max ⁡ θ p ( θ ∣ x ) = a r g   max ⁡ θ log ⁡ p ( x ∣ θ ) + log ⁡ p ( θ ) \theta_{MAP}=arg\,\max_{\theta}p(\theta|x)=arg\,\max_{\theta}\log p(x|\theta)+\log p(\theta) θMAP=argθmaxp(θx)=argθmaxlogp(xθ)+logp(θ)
a r g   max ⁡ θ log ⁡ p ( x ∣ θ ) arg\,\max_{\theta}\log p(x|\theta) argmaxθlogp(xθ)是标准的极大似然估计, log ⁡ p ( θ ) \log p(\theta) logp(θ)是先验分布。

参数具有高斯先验分布的MAP贝叶斯推理等价于权重衰减(weight decay)的极大似然估计。

和全贝叶斯推理相比,MAP能够利用先验分布的信息,这样的信息能够减少MAP点估计器的方差(相比于ML),但是增加了偏差。

许多正则化的估计策略,比如极大似然估计,都能够被解释为贝叶斯推理的MAP近似。当正则化项包含 log ⁡ p ( θ ) \log p(\theta) logp(θ)时这样的解释都是成立的。当然,不是所有的正则化策略都可以理解为MAP,比如,不包含概率分布的对数的正则化项,比如依赖于具体数据的正则化项(先验分布是不依赖于具体数据的)。MAP能够让我们设计复杂但是可解释的正则化项,比如使用混合高斯分布推导得出的概率分布作为先验。

后续在补充其他知识点。

你可能感兴趣的:(深度学习笔记)