6.1 Introduction
频率学派统计学(frequentist statistics),经典统计学(classical statistics),或者叫正统的统计学(orthodox statistics),设计了一些不把参数当做随机变量的统计推断方法,从而避免了使用贝叶斯法则和先验。
频率学派依赖于抽样分布(sampling distribution),而贝叶斯学派则依赖后验分布(posterior distribution)。
6.2 Sampling distribution of an estimator 估计量的抽样分布
和贝叶斯学派相反,频率学派估计参数时,认为参数是固定的(而不是不确定量,不当做是随机变量,因此也没有先验之说),反而数据是不固定的,可以不断地抽样。比如从总体中抽 S 次,得到样本集 {D(s)}Ss=1,每个样本都有 N 个数据,即 D(s)={x(s)i}Ni=1,注意所有的样例都服从一个固定的分布,即 x(s)i∼p(⋅|θ∗) 对所有的 i,s 都成立。
针对每个样本 D(s) ,可以用 estimator θ^(⋅) 算出一个统计量,如均值,方差等。当 S→∞ 时, {θ^(D(s))} 构成新的分布,就叫做是 estimator θ^(⋅) 的抽样分布(sampling distribution).
6.2.1 Bootstrap
一般用蒙特卡洛方法来估计抽样分布(sampling distribution),这种方法就叫做 Bootstrap 方法,而这种方法又分有参数和无参数两种。
继续用上一小节的符号,直接计算 estimator 的结果,每个样本都会得到一个随机变量的取值, θ^s=f(xs1:N) ,那么可以把经验分布当做是抽样分布。这种方法叫做 无参数 bootstrap,假如 estimator 中的参数 θ 是未知的,那么可以用最大似然估计出来的结果 θ^ 来计算,这种叫做 参数 bootstrap 方法。
6.2.2 Large sample theory for the MLE *
当样本数量趋向无穷大时,那么似然函数的分布趋向于高斯分布,那么高斯分布的中心就是 MLE 的估计结果 θ^ ,方差则是 MLE 整个曲面的弯曲情况。可以形式化地定义 score function 为似然函数对参数 θ 的偏导,
s(θ^)≜▽logp(D|θ)|θ^
再定义
observed information matrix 为上面负的 score function 的导数,
J(θ^(D))≜−▽s(θ^)=−▽2θlogp(D|θ)|θ^
Fisher information matrix 定义为 observed information matrix 的期望,
IN(θ^|θ∗)=Eθ∗[J(θ^|D)]
6.3 Frequentist decision theory 频率学派决策理论
上一章已经有了 estimator or decision procedure
δ:X→A
的概念,在此基础上定义
风险(risk) 的概念,
R(θ∗,δ)≜Ep(D~|θ∗)[L(θ∗,δ(D~))]=∫L(θ∗,δ(D~))p(D~|θ∗)dD~
然而这个式子是没法直接计算的,所以衍生出下面几种方法。
6.3.1 Bayes risk 贝叶斯风险
第一种方法是加上一个合适的先验,发现会把未知量 θ∗ 约去。定义贝叶斯风险(Baues risk)为
RB(δ)≜Ep(θ∗)[R(θ∗,δ)]=∫R(θ∗,δ)p(θ∗)dθ∗
那么 Bayes estimator 就是
δB≜argminδRB(δ)
6.3.2 Minimax risk 最小最大风险
然而频率学派的数学家并不喜欢加先验,所以有了第二种方法。定义 maximum risk 为
Rmax(δ)≜maxθ∗R(θ∗,δ)
最小化最大风险为
δMM≜argminδRmax(δ)
然而这种风险也很难算。
6.3.3 Admissible estimators
完全不造在讲啥。。。
6.3.3.1 Example
6.3.3.2 Stein’s paradox
6.3.3.3 Admissibility is not enough
6.4 Desirable properties of estimators 想要的估计量性质
将会讲述estimators的一些性质。
6.4.1 Consistent estimators 一致估计量
如果随着样本集的增大,估计量(estimator)会逐渐逼近真实的参数,那么就说这个估计量是一致的(consistent)。即
θ^(D)→θ∗as|D|→∞
可以正面最大似然估计是一致估计量。因为最大化似然函数等价于最小化
KL 混乱度
KL(p(⋅|θ∗)||p(⋅|θ^)) 其中
p(⋅|θ∗) 是真实的分布,
p(⋅|θ^) 是我们的估计量。
6.4.2 Unbiased estimators 无偏估计量
估计量的偏置(bias)可以定义为:
bias(θ^(⋅))=Ep(D|θ∗)[θ^(D)−θ∗]
其中
θ∗ 是真实的参数。假如偏置为零,那么就称该估计量是无偏的。通俗点讲,虽然每个样本有的偏大,有的偏小,但是平均来看偏差为零。比如最大似然估计的均值就是无偏的,而方差却是有偏的。
6.4.3 Minimum variance estimators 最小化方差估计量
Crame-Rao lower bound 证明了方差的下限,而极大似然估计是达到了该下限的,所以 MLE 是渐进最优的(asymptotically optimal)。
6.4.4 The bias-variance tradeoff 偏置-方差之间的权衡
如果考虑均方误差,那么可以推导出
MSE=variance+bias2
可以发现方差和偏置都能减少误差,所以即使用无偏估计,只要能减少误差,那么这个估计量可以认为是有效的。
6.4.4.1 Example: estimating a Gaussian mean
MAP 虽然是有偏估计,但是降低了方差。
6.4.4.2 Example: ridge regression 岭回归
岭回归使用高斯先验,
p(w)=N(w|0,λ−1I)
其中 precision term
λ 控制了先验的强度,若
λ=0 ,此处的 MAP 等价于 MLE,若
λ>0 ,那么是有偏估计(biased estimate)。
6.4.4.3 Bias-variance tradeoff for classification
对于分类问题而言,bias-variance tradeoff 不是很有用,可以选用交叉验证来估计损失。
6.5 Empirical risk minimization 经验风险最小化
频率决策理论有个很大的问题,就是没办法直接计算风险函数。可以考虑把损失函数 L(θ,δ(D)) 的形式换成 L(y,δ(x)) ,其中 y 指的是真实的标签,而 δ(x) 则是给定输入 x 后得到的预测,那么风险为
R(p∗,δ)≜E(x,y)∼p∗[L(y,δ(x))]=∑x∑yL(y,δ(x))p∗(x,y)
其中
p∗ 表示 nature’s distribution,就是真实的样本分布,显然是未知的。然而可以用经验分布来估计(approximate),即
p∗(x,y)≈pemp(x,y)=1N∑i=1Nδxi(x)δyi(y)
这个式子是经验风险的定义,
δ 是 Dirac measure,经验风险基本就是排个序再累加就可以得到积累分布函数了。可以参考书里
P37 经验风险的概念。
那么经验风险(empirical risk)可以定义如下,
Remp(D,δ)≜R(pemp,δ)=1N∑i=1NL(yi,δ(xi))
假如损失是 0-1 损失,那么变成了经验风险就是误分类率;若是平方损失,经验风险就是均值方差。经验风险最小化(empirical risk minimization or ERM)就是寻找这样的 decision procedure 来最小化经验风险函数,
δERM(D)=argminδRemp(D,δ)
如果是非监督问题,可以把所有的 y 换成 x,比如 L(y,δ(x))→L(x,δ(x)) ,具体地,若是均方误差, L(x,δ(x))=∥x−δ(x)∥22 ;若是在 vector quantization or PCA 问题中,又可以定义 δ(x)=decode(encode(x)) .
定义无监督问题的经验风险,
Remp(D,δ)=1N∑i=1NL(xi,δ(xi))
6.5.1 Regularized risk minimization 正则化风险最小化
假如把经验分布当做先验分布,那么经验风险就等价于贝叶斯风险,
E[R(p∗,δ)|p∗=pemp]=Remp(D,δ)
所以最小化经验风险容易过拟合,经常会给目标函数(objective function)增加一个复杂度惩罚(complexity penalty),
R′(D,δ)=Remp(D,δ)+λC(δ)
其中
C(δ) 是衡量了预测函数(predictive function)
δ(x) 的复杂性,而
λ 控制了复杂度惩罚的权重。这种方法就是
正则化风险最小化(RRM, Regularized risk minimization)。注意如果考虑
log 似然,那么 RRM 和 MAP 是等价的,对数正则化项就等于先验。
对于函数 C(δ) ,在线性模型中可以定义为自由度(degrees of freedom),更一般的模型中可以用 VC 维(VC dimension)来定义。
6.5.2 Structural risk minimization 结构风险最小化
通过结构风险最小化来找到最优的预测函数,
δ^λ=argminδ[Remp(D,δ)+λC(δ)]
可以通过结构风险最小化(structural risk minimization)来估计
λ 的值,
λ^=argminλR^(δ^λ)
其中
R^(δ^λ) 表示对风险的估计
6.5.3 Estimating the risk using cross validation 用交叉验证估计风险
我们平常把数据分成训练集,验证集的做法,不叫交叉验证,下面讲述交叉验证的做法。定义用来查找最优化参数 θ 的函数 F 为 learning algorithm or fitting function,
θ^m=F(D,m)
其中
m 表示第
m 个模型,因此不同的模型会得出不同的参数。(其实这里不同的参数就表示不同的模型,比如
θ=0.5 和
θ=0.7 的两个伯努利概率算作是不同的模型。)我们的目标就是找出泛化误差最小的模型和对应模型的参数。可以把
F 看做是训练的过程。
定义 P 为预测函数(prediction function),
y^=P(x,θ^)=f(x,θ^)
可以看做是预测的过程,模型已经训练好。
可以把训练和预测两个步骤(书里叫做 fit-predict cycle)合起来表示,
fm(x,D)=P(x,F(D,m))
考虑把原始数据集 D 均匀地分成 K 份,把第 k 份数据集当做验证集,并称为 Dk , 剩下的数据集当做是训练集,称为 D−k 。那么对预测函数 fm(x,D) 总的 K 重交叉验证(K-fold CV)的风险就是
R(m,D,K)≜1N∑k=1K∑i∈DkL(yi,P(xi,F(D−k,m)))
可以从公式中看到
F 用了
K 次,即要训练
K 次才能算出最后的风险。即第
k 次在训练集
D−k 中训练完了以后,在验证集
Dk 中算一个误差。把这
k=1,...,K 次的结果累加后就是
R(m,D,K) 的结果。
假设第 k 次训练完得到的模型为 fkm(x)=P(x,F(D−k,m)),就可以重写上面的公式为
R(m,D,K)=1N∑k=1K∑i∈DkL(yi,fkm(xi))=1N∑i=1NL(yi,fk(i)m(xi))
后面一个不太好理解,其实仔细想一下,
K K 次交叉验证下来,每一个样本都会做一次验证集,所以外循环是遍历一遍数据集。其中
fk(i)m 表示把该样本做验证集,剩下的数据做训练集时对应训练出来的模型。
考虑一种极端的情况,取 K=N ,即每次挑一个样本做验证集,剩下的所有样本做训练集。这种方法叫做留一交叉验证(LOOCV, leave one out cross validation),这种情况又可以把这个式子简写为
R(m,D,K)=1N∑i=1NL(yi,f−im(xi))
其中
f−im(x)=P(x,F(D−i,m)) ,可见模型要训练
N 次。
6.5.3.1 Example: using CV to pick λ for ridge regression
上面的公式是通用的,现在举岭回归的例子来讲解。我们选 ℓ2 正则项来做线性回归的惩罚,
λ^=argminλ∈[λmin,λmax]R(λ,Dtrain,K)
其中
λ^ 是正则化项系数的取值范围,
R(λ,Dtrain,K) 是用上面讲的
K 重交叉验证估计的对应
λ 的经验风险,具体是,
R(λ,Dtrain,K)=1|Dtrain|∑k=1K∑i∈DkL(yi,fkλ(xi))
其中
fkλ(xi)=xTw^λ(D−k) 表示对应训练出来的预测函数,而
w^λ(D)=argminwNLL(w,D)+λ∥w∥22
是最大后验估计的参数。
对于分类问题,可以用蛮力搜索参数空间;但是参数过多时,一般会选用经验贝叶斯,可以用一些基于梯度的优化器(optimizer)来搜索解空间。
6.5.3.2 The one standard error rule 标准误差
前面一直在讲怎样估计风险,一直没有给出不确定性度量。可以定义平均标准误差(standard error of the mean)为,
se=σ^N−−√=σ^2N−−−√
其中
σ^2=1N∑i=1N(Li−L¯¯¯)2,Li=L(yi,fk(i)m(xi)),L¯¯¯=1N∑i=1NLi
其实就是在交叉验证的过程,每个样本算一下损失,最后算一下所有样本对应损失的方差,再得到标准误差的值。
6.5.3.3 CV for model selection in non-probabilistic unsupervised learning
路过~
6.5.4 Upper bounding the risk using statistical learning theory * 用统计学习理论来估计风险上界
这一小节可以参考李航的《统计机器学习》第一章和 cs229 公开课的 Part VI Learning Theory
利用交叉验证的方法来估计经验风险,有个很大的问题就是非常慢,因为要训练好多次。而 统计学习理论(SLT, statistical learning theory)的方法则试图找到 泛化误差上界(Upper Bound)。
假如分布 p∗ 和 假设(hypothesis) h∈H 的风险表示为 R(p∗,h) ,而 Rtemp(D,h) 表示在数据集 D 上的经验风险,假设空间的大小表示为 dim(H)=|H| ,那么有下面的定理成立,
Theorem 6.5.1 经验风险误差上界为
P(maxh∈H|Remp(D,h)−R(p∗,h)|>ϵ)≤2dim(H)e−2Nϵ2
这个上界可以通过 Hoeffding’s inequality 和 union bound 直接得到,具体函数和定理的证明略过。
从误差上界的表达式来看,假设空间 H 越小,或者训练集越大,那么上界误差就会越小。对于实数型参数,假设空间是无限的,可以用 VC 维的概念来解决。
从另一个角度来看,更复杂的模型虽然不会增加训练集上的误差,但是一般会有更多的参数,那么参数空间(也就对应假设空间)也会更大,即 dim(H) 这项会更大,从而造成泛化误差上界很大。这个也是符合常理的。
误差上界的方法确实比交叉验证要快,然而对很多模型, VC 维一般很难计算,且误差上界都会太松(loose)。
6.5.5 Surrogate loss function
这一小节提到的 binary logistic regression 没看懂,先挖个坑;还有怎么 log-loss 就能退出来极大似然估计了?
Log-loss 是一种代理损失函数(surrogate loss functions),另一种注明的代理损失函数就是合页损失(hinge loss),
Lhinge(y,η)=max(0,1−yη)
这个损失函数在 SVM 里会用到,是用来代替 0-1 损失的。
6.6 Pathologies of frequentist statistics * 频率统计的病态
6.6.1 Counter-intuitive behavior of confidence intervals
6.6.2 p-values considered harmful
6.6.3 The likelihood principle
6.6.4 Why isn’t everyone a Bayesian