MLaPP Chapter 5 Bayesian statistics 贝叶斯统计

5.1 Introduction 介绍

在第三章我们讨论了如果用最大化后验(MAP)做参数估计,即 θ^=argmaxp(θ|D) ,和计算全后验 p(θ|D) 和计算后验预测密度(posterior predictive density) p(x|D)

用后验分布(posterior distributino)来总结一切是贝叶斯统计的核心内容,第六章会讲另一种学派的方法,即频率学派(frequentist or classical statistics).

5.2 Summarizing posterior distributions 总结后验分布

总结和回顾 p(θ|D)

5.2.1 MAP estimation 最大后验估计

点估计(point estimate)有很多,比如后验众数(等价于 MAP),后验均值,后验中位数(median),后验边缘分布等。其中最后一个适合离散的情况,其他的适合连续的随机变量。

MAP 的方法有很多优点,比如有很多优化方法可以方便的求解(直接求导?),比如可以把先验当做正则项(regularizer)这样非贝叶斯的角度来理解。然而下面的小节会细数其四个方面的缺点,从而引出全贝叶斯方法的必要性。

5.2.1.1 No measure of uncertainty 无不确定性度量

点估计一般只会给出一个其认为是最好的结果,而没有对结果有一个不确定性估计。如掷一个不均匀的骰子,估计正面朝上的概率 θ 时,点估计会给出 θ^=0.7 ,我们不知道这个估计到底有多靠谱,即点估计没有提供 measure of uncertainty. 而完整的贝叶斯后验估计则是给出概率分布 p(θ)Beta(0.7|a,b) 之类的结果,可以算出置信度。

5.2.1.2 Plugging in the MAP estimate can result in overfitting

没有给出点估计结果的置信度,就会使得预测分布过度自信,特别是对风险规避敏感问题的影响会很大。

5.2.1.3 The mode is an untypical point 众数不是典型的点

众数这个统计量可以在任意点取得,而不用像中数和均值那样要考虑整体的样本情况。

贝叶斯决策理论(Bayes decision theorem)会用有监督的方法探讨用众数,即 MAP 来做点估计到底有多靠谱。可以这样定义损失函数,

类型 表达式 范围
0-1 损失函数 L(θ,θ^)=I(θθ^) 离散
平方损失 L(θ,θ^)=(θθ^)2 连续
绝对值损失 L(θ,θ^)=|θθ^| 连续

5.2.1.4 MAP estimation is not invariant to reparameterization *

MAP 有个小问题,就是当测量单位改变时,如用厘米还是英尺来衡量距离,两个得到的参数估计结果不是一致的。书里用了随机变量的线性变换来描述这个问题。而最大似然估计(MLE)和贝叶斯推断(Bayes Inference)

5.2.2 Credible intervals 置信区间

贝叶斯学派置信区间(Bayes Credible intervals) 和 频率学派置信区间(frequentist confidence intervals) 的概念相近,但是又不完全是同一个东西。

举个例子,假设误差率 α=0.05 ,且若后验概率 p(θ)N(0,1) 的话,那么有

=Φ(α/2)=1.96, u=Φ(1α/2)=1.96
其中 Φ 是高斯分布的积累密度函数。那么 [1.96,1.96] 就是误差率为 0.05 的后验中心区间(posterior central interval)。

再举个例子,投硬币实验中,有充分统计量 N1=47,N=100 ,有 p(θ|D)=Beta(47,54) ,那么 θ 在后验置信区间 (0.3749,0.5673) 内的概率为 95% .

5.2.3 Inference for a difference in proportions

假如有两个营销员,一个90个好评,10个坏评;另一个则是两个好评,没有坏评。我们想用贝叶斯的方法,推断到底选哪个靠谱一些。

假设 θ1,θ2 为两人的可靠性,且取先验为均匀分布 θiBeta(1,1) ,那么两人的后验分布为

p(θ1|D1)=Beta(91,11),p(θ2|D2)=Beta(3,1)
通过求解下面式子的数值积分,
p(θ1>θ2|D)=1010I(θ1>θ2)Beta(θ1|y1+1,N1y1+1)Beta(θ2|y2+1,N2y2+1)
可以算出 p(θ1>θ2|D)=0.710 ,或者也可以通过蒙特卡洛采样得到结果。

所以第一个营销员更靠谱一些。

5.3 Bayesian model selection 贝叶斯模型选择

一般模型有很多的参数和超参数,比如可以用验证集的方法来验证泛化(generalization)效果,另一种方法是通过贝叶斯的方法来做模型选择。若不同的 m 表示不同的模型,有后验

p(m|D)=p(D|m)p(m)mMp(m,D)
那么通过 MAP 得到 m^=argmaxmp(m|D) 的模型就是最优的模型。这种模型选择的方法就是贝叶斯模型选择(Bayesian model selection)。

若是上式的先验是均匀分布的,即所有的 p(m) 为相同的常数,那么改为最大化 p(D|m) ,而这个式子可以继续写成积分的形式,

p(D|m)=p(D|θ)p(θ|m)dθ

这个量叫做是边缘似然(marginal likelihood),或者叫积分似然(integrated likelihood),或者叫模型 m 证据(evidence)。这里的 θ 是模型 m 的参数,假如是点估计,比如最大似然估计的话,那么 p(D|m)=p(D|θ^mle) 成立。然而贝叶斯的方法一般都是给出参数 θ 的分布,所以才会有积分符号。

5.3.1 Bayesian Occam’s razor

如果用点估计的结果 p(D|θ^m) 来选择模型,那么参数复杂的模型会更加能拟合数据。 θ^m 可以是 MLE 或者 MAP 的估计结果。然而用边缘似然 p(D|θ) 的方法,参数复杂的模型算出的概率不一定高,因此会有避免过拟合的作用。这个叫做贝叶斯奥卡姆剃刀(Bayes Occam’s razor)效应。

(这段没懂)此外,复杂的模型因为参数较多,所以概率密度分布地较为稀疏,又叫做是 conservation of probability mass principle.

5.3.2 Computing the marginal likelihood (evidence)

在计算边缘似然 p(θ|D) 时,我们要计算贝叶斯公式中的分母 p(D) ,考虑贝叶斯公式中

p(θ|D)=p(D|θ)p(θ)p(D)
q() 来表示未归一化的概率,具体有,
p(θ|D)=q(θ|D)ZN,p(D|θ)=q(D|θ)Z,p(θ)=q(θ)Z0
用各项替代贝叶斯公式后得到:
q(θ|D)ZNp(D)=q(D|θ)Zq(θ)Z0
由于 q(θ|D)=q(D|θ)q(θ) ,可以化简为
p(D)=ZNZZ0

5.3.2.1 Beta-binomial model

在这个模型里,假设先验、似然和后验分别分从下面的分布,

p(θ|D)Beta(a+N1,b+N0),p(D|θ)Bin(θ,N1),p(θ)Beta(a,b)
按照书里的展开化简以后,得到
p(D)=(NN1)B(a+N1,b+N0)B(a,b)

5.3.2.2 Dirichlet-multinoulli model

同理,得到此分布的边缘似然,

p(D)=B(N+α)B(α)=Γ(kαk)Γ(N+kαk)kΓ(Nk+αk)Γ(αk)
注意其中 B(α)=kΓ(αk)Γ(kαk)

5.3.2.3 Gaussian-Gaussian-Wishart model

多元高斯分布(MVN)的共轭先验是高斯逆Wishart分布(NIW prior),同理求解,公式略。

5.3.2.4 BIC approximation to log marginal likelihood

上面只是一些常见的模型求解边缘似然,那么更普遍的求法是通过BIC(Bayesian Information Criterion)的方法近似地估计,

BIClogp(D|θ^)dof(θ^)2logNlogp(D)
其中 dof(θ^) 表示自由度, θ^ 表示 MLE 或者 MAP 估计参数的结果。

减数那项成为是 penalized log likelihood,模型越复杂,惩罚程度越严重。

BIC-cost 则是 BIC 的另一种表达,有 BIC-cost = -2 BIC ,还有另一种求法,叫做Akaike information criterion or AIC

AIC(m,D)logp(D|θ^MLE)dof(m)

5.3.2.5 Effect of the prior

引一下先验链,经验贝叶斯的概念。

5.3.3 Bayes factors 贝叶斯因子

假设现在只有两个模型, M0,M1 ,那么可以定义贝叶斯因子(Bayes factors)为边缘似然的概率,即

BF1,0p(D|M1)p(D|M0)=p(M1|D)p(M0|D)/p(M1)p(M0)
这个概念又可以称作是似然比率,和频率学派的 P 值(p value)概念类似。

假如两个模型的先验是一样的,即 p(M1)=p(M0)=0.5 ,那么有

p(M0|D)=BF0,11+BF0,1=1BF0,1+1

5.3.3.1 Example: Testing if a coin is fair

投硬币的例子,可以选择均匀的硬币,也可以用 Beta 分布来拟合。

5.3.4 Jeffreys-Lindley paradox *

improper priors 指的是积分不为 1 的先验概率。

5.4 Priors 先验

5.4.1 Uninformative priors 无信息先验

如果我们对参数的信息一无所知,最好应该使用 (无信息先验)uninformative or non-informative prior,考虑先验为 Beta(1,1) ,此时后验和先验还是不一样,所以并不能算是没有信息的先验。

最没有信息的先验应该是 Haldane prior,定义为,

limc0Beta(c,c)=Beta(0,0)
是一种 improper prior,因为其积分不为零。

5.4.2 Jeffreys priors *

Jeffreys priors 可以用来创建普遍目的的无信息先验。

这种方法推导出来的伯努利和多努利模型对应的 non-informative prior 为:

p(θ)Beta(12,12),p(θ)Dir(12,,12)

推导出的 location parameter,比如高斯模型的均值,具有平移不变性先验(translation invariant prior), p(μ)1 ;而推导出的 scale parameter,比如高斯模型的方差,具有尺度不变先验, p(σ2)1/σ2 .

5.4.3 Robust priors 鲁棒先验

假如我们对先验不太自信,可以选用更鲁棒性的先验,如用柯西先验(Cauchy prior) T(θ|μ,σ2,ν) 来代替高斯先验 N(μ,σ2)

5.4.4 Mixtures of conjugate priors 共轭先验的混合

鲁棒先验很有用,共轭先验计算简单,可以考虑把两者联系起来。用权重混合共轭先验,仍然保持共轭的性质,且可以拟合(approximate)任一种类的先验。先验可以写成这样的形式,

p(θ)=kp(z=k)p(θ|z=k)
其中 p(θ|z=k) 表示第 k 个混合的共轭先验,而 p(z=k) 表示对应先验的权重。比如,
p(θ)=0.5Beta(θ|20,20)+0.5Beta(θ|30,10)

5.4.4.1 Example

5.4.4.2 Application: Finding conserved regions in DNA and protein sequences

5.5 Hierarchical Bayes 层次贝叶斯

在没有确切的似然信息时,除了使用 uninformative prior,还可以在先验上使用先验,用图模型的方法可以这样表示,

ηθD
这种方法叫做 层次贝叶斯模型(hierarchical Bayesian model),又叫做 多层模型(multi-level model)

假设现在有 N 个城市,每个城市有 Ni 个人,其中患有癌症的人有 xi 个,且有 xiBin(Ni,θ) . 一种估计参数 θ 的做法是,认为每个城市的 θi 都不一样,全部分开做,显然这样子城市人口少的模型估计会不准确。另一种极端是认为所有的城市患病率都一样,叫做参数绑定(parameter tying),那么有 θi=θ^=ixiiNi ,然而这样的假设又太强了。我们可以假设 θiBeta(a,b) ,即是从一个 Beta 分布中抽取的,那么有联合概率

p(D,θ|N)=p(D|θ,N)p(θ)=i=1NBin(xi|Ni,θi)Beta(θi|a,b)
假如认为 η=(a,b) 是变量的话,可以给 p(θ) 再加上一个先验,即
p(θ)=p(η)p(θ|η)
那么联合概率可以重写成书里给出的公式,
p(D,θ,η|N)=p(η)i=1NBin(xi|Ni,θi)Beta(θi|η)

5.6 Empirical Bayes 经验贝叶斯

层次贝叶斯中,可以这样子估计后验分布,

p(θ,η|D)p(D|θ)p(θ|η)p(η)

因为维度较小,不容易过拟合,所以可以假定 p(η) 是均匀分布,那么

η^=argmaxp(D|η)=argmax[p(D|θ)p(θ|η)dθ]
这种方法叫做经验贝叶斯(empirical Bayes),又叫 type-II maximum likelihood.

5.6.1 Example: beta-binomial model

5.6.2 Example: Gaussian-Gaussian model

5.7 Bayesian decision theory 贝叶斯决策理论

对于贝叶斯决策理论,可以理解为怎样做出理性(rational)的决策,让模型逼近世界的真实数据。

考虑 yY 表示真实世界的状态,或者变量,参数等,然而我们能采样到的数据而言,一般都会带有噪声等,只能用 xX ,叫做观测值来表示。贝叶斯决策(action)的目的是从决策空间(action space)中选一个动作 aA 来最小化损失函数 L(y,a) ,即决策 a 和真实变量 y 尽量相容(compatible)。

可以定义这样的决策过程(decision procedure or policy)为:

δ:XA
即最小化期望的损失
δ(x)=argmaxaAE[L(y,a)]

由于 y 不可观测,所以一般转化成最小化下面的后验期望损失,

ρ(a|x)Ep(y|x)[L(y,a)]=yL(y,a)p(y|x)

这样得到最优化决策结果,叫做 Bayes estimator or Bayes decision rule,

δ(x)=argminaAρ(a|x)

5.7.1 Bayes estinators for common loss functions

下面介绍几种常见的loss function

5.7.1.1 MAP estimate minimizes 0-1 loss

定义 0-1 loss 如下,

L(y,a)=I(ya)={ 0if a=y1if ay

而 posterior expected loss 为,

ρ(a|x)=p(ay|x)=1p(y|x)
因此最小化 expected loss 就等价于最大后验估计 MAP,
y(x)=argmaxyYp(y|x)

5.7.1.2 Reject Option

拒识选项对某些特定领域的分类问题很重要,可以在原来的类别中多加一个选项。

5.7.1.3 Posterior mean minimizes 2 (quadratic) loss

平方损失定义如下:

L(y,a)=(ya)2
那么后验损失为,
ρ(a|x)=E[(ya)2|x]=E[y2|x]2aE[y|x]+a2
可以通过求导的方式最小化该损失函数,
aρ(a|x)=2E[y|x]+2a=0y^=E[y|x]=yp(y|x)dy
这个叫做最小化均值平方差估计(minimum mean squared error estimate, MMSE estimate).

在线性回归中,有

p(y|x)=N(y|xTw,σ2)
那么给定训练集后的最优预测为
y^=E[y|x,D]=xTE[w|D]

5.7.1.4 Posterior median minimizes 1 (absolute) loss

平方损失对 outliers 数据很敏感,所以有时候会选用绝对值损失,即

L(y,a)=|ya|

5.7.1.5 Supervised learning 监督学习

前面的 δ 表示决策函数,现在把这个概念延伸到监督学习中,

δ:XY
这个 δ 和 Ng 的公开课 CS229 中的 hypothesis function 是一个意思。定义预测(predicting) y 和真实标签(truth) y 之间的损失函数为 (y,y) ,上面的真实 state of nature,就是之前用 y 表示的变量,现在用 θ 表示的话,可以得到泛化误差(generalization error)
L(θ,δ)E(x,y)p(x,y|θ)[(y,δ(x))]=xyL(y,δ(x))p(x,y|θ)
我们的目标是最小化 posterior expected loss,
ρ(δ|D)=p(θ|D)L(θ,δ)dθ

5.7.2 The false positive vs false negative tradeoff

这一小节主要考虑二分类问题,一般会犯两种错误

  • FP,false positive,false alarm,即把错的认为是对的,误警报
  • FN,false negative,missed detection,即对的认为错的,没有检测出来

LFN 表示 false negative 的 0-1 loss, LFP 表示 false positive 的代价,那么 posterior expeted loss 为

ρ(y^=0|x)=LFN p(y=1|x)ρ(y^=1|x)=LFP p(y=0|x)

这两个式子怎么理解呢?其实可以直接从公式 5.98 推出

p(y^=0|x)=L(y=0,y^=0)p(y=0|x)+L(y=1,y^=0)p(y=1|x)=0p(y=0|x)+LFNp(y=1|x)=LFNp(y=1|x)

LFN=cLFP 那么定义

τ=c1+c=FNFN+FN

5.6.2.1 ROC curves and all that

当固定 τ 以后的分类器可以统计几个概念的数量,

Truth = 1 Truth = 0
Estimate = 1 TP, True Positive FP, False Positive
Estimate = 0 FN, False Negative TN, True Negative

上述的表格叫做 confusion matrix,统计了分类器所有的分类结果。可以计算相应的概率,

  • TPR, true positive rate, sensitivity, recall, hit rate TPR=TPTP+FN
  • FPR, false positive rate, false alarm rate, type I error rate FPR=FPFP+TN

如果把 τ 当做是变量,即改变对正负类判定的敏感性,那么就会得到不同的 TPR 和 FPR,得到的曲线叫做 ROC, receiver operating characteristic curve. 当 τ=c1+c=0 时,因为 LFN=cLFP ,所以 FP 非常大,那么就会把一且分类为 positive,即为 1 ;相反 τ=1 时, c ,那么就会把一切分类为 negative,即为零。

ROC curve 好不好,有时候可以用 area uder the curve, AUC 来衡量,取值区间在 [0,1] 之内,越大越好。

另外有统计量可以取 FPR=FNR=1TPR ,叫做 equal error rate or EER, cross over rate.

5.6.2.2 Precision recall curves

定义:

  • 精确率,precision, P=TPTP+FP=p(y=1|y^=1)
  • 召回率,recall, R=TPTP+FN=p(y^=1|y=1)

τ 为变量画出的曲线为 precision-recall-curve

5.6.2.3 F-scores *

F-scores 是想用一个值表达准确率和召回率的好坏,定义如下:

F121/P+1/R=2PRR+P

5.6.2.4 False discovery rates *

5.7.3 Other topics *

5.7.3.1 Contextual bandits

5.7.3.2 Utility theory

你可能感兴趣的:(机器学习,MLaPP,贝叶斯,统计学,机器学习,MLaPP)