版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangxb35/article/details/54927835
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