在很多的机器学习问题种,输入x是一个向量,输出p(x)为某一个时间的概率(比如,x属于某个类别的概率)
一观测的数据集D,其中x1,x2,x3……独立同分布。我们将输入x所满足的概率分布建模为p(D,θ),则对新输入的预测为p(x|D,θ),其中θ是一个向量,表示待去顶的所有模型参数。那么如何求解或者估计出θ的值呢?
1. 频率学派VS贝叶斯学派
对于θ的本质不同认识,可以分为两个大派别。
(1)频率学派:认为θ是确定的,有一个真实值,目标是找出或者逼近这个真实值。
(2)贝叶斯学派:认为θ是不确定的,不存在唯一的真实值,而是服从某一个概率分布。
基于不同学派对参数的不同认识,产生了不同的参数估计方法。下面将讨论三种参数估计方法:
(1)极大似然估计:MLE(Maximum Likelihood Estimation)【频率学派】
(2)极大后验估计:MAP(Maximum A Posterior)【贝叶斯学派】
(3)贝叶斯估计:BE(Bayesian Estimation)【贝叶斯学派】
其中,涉及到先验、似然、后验、贝叶斯公式的知识。
先验:p(θ),指在见到数据集D之前,对参数θ的认识
似然:p(D|θ),在给定参数θ下,数据集D被观测到的概率
后验:p(θ|D),在见到数据集D之后,对参数θ的重新认识
贝叶斯公式:
p(θ∣D)=p(D)p(D∣θ)×p(θ)
2. 举例
以抛硬币为例,假设我们有一枚硬币, 现在要估计其正面朝上的概率 θ 。为了对 θ 进行估计, 我们进行了10次实验 (独立同分布, i.i.d.) , 这组实验记为 X=x1,x2,…,x10, 其 中正面朝上的次数为6次,反面朝上的次数为4次,结果为 (1,0,1,1,0,0,0,1,1,1) 。
3. 极大似然估计
MLE的逻辑是:真实的参数θ是唯一的,既然数据集D被观测到了,那么真实参数θ对应的概率分布一定是可以使D出现的概率最大。即
θ^MIE=θargmaxp(D,θ)=argθmaxp(x1,θ)p(x2,θ)⋯p(xN,θ)=argθmaxlogi=1∏Np(xi,θ)=θargmin−logi=1∏Np(xi,θ)
最后一行的目标函数,是常用的形式。对似然求log是防止数值下溢,因为似然是各个样本点处概率乘积的形式,而概率都在0到1之间,似然通常会超出计算机的精度范围。另一方面,log是一个凸函数,保证了极大化似然和极大化对数似然的等价。
针对抛硬币的问题,似然函数可写作:
L(X;θ)=i=0∏nP(xi∣θ)=θ6(1−θ)4
根据最大似然估计, 使 L(X;θ) 取得最大值的 θ 即为估计结果, 令 L(X;θ)′=0 可得 θ^=0.6 。
由于总体的似然就是每个样本似然的乘积,为了求解方便,我们通常会将似然函数转成对数似然函数,然后再求解。可以转成对数似然函数的主要原因是对数函数并不影响函数的凹凸性。因此上式可变为:
lnL(X;θ)=lni=0∏nP(xi∣θ)=i=0∑nln(P(xi∣θ))=6ln(θ)+4ln(1−θ)
令ln(L(X;θ)′)=0可得θ^=0.6
补充:正态分布的最大似然估计:
假设样本服从正态分布 N∼(μ,σ2), 则其似然函数为
L(μ,σ2)=i=0∏n2πσ1e−2σ2(xi−μ)2
对其取对数得:
lnL(μ,σ2)=−2nln(2π)−2nln(σ2)−2σ21i=0∑n(xi−μ)2
分别对 μ,σ2 求偏导,并令偏导数为0, 得:
⎩⎨⎧∂μ∂lnL(μ,σ2)=σ21∑i=0n(xi−μ)=0∂σ2∂lnL(μ,σ2)=−2σ2n+2σ41∑i=0n(xi−μ)2=0
解得:
{μ^=n1∑i=0nxi=x2σ2^=n1∑i=0n(xi−x2)2
μ,σ2 就是正态分布中 μ,σ2 的最大似然估计。
最大似然估计的求解步骤:
- 确定似然函数
- 将似然函数转换为对数似然函数
- 求对数似然函数的最大值(求导,解似然方程)
3. 极大后验估计
MAP的逻辑是:最优的参数应该是让后验概率最大。即
θ^MAP=argθmaxp(θ∣D)=argθmaxp(D)p(D∣θ)p(θ)=argθmaxp(D∣θ)p(θ)=argθmaxlog[p(D∣θ)p(θ)]=argθmin−logp(D∣θ)−logp(θ)
MAP和MLE的区别是,两者优化的目标函数只是相差了一个先验。更有趣的是,如果这个先验服从高斯分布的话,MAP将等同于MLE+L2正则。
推导:假设参数G服从高斯分布,即:
p(θ)=2πσ1e−2σ2θ2
则有:
θ^MLP=θargmin−logp(D∣θ)−logp(θ)=θargmin−logp(D∣θ)+λ∥θ2∥2=θ^ME+λ∥θ∥22
其中,λ是跟θ无关的常数。
我们发现在极大后验估计的推导中,忽略了分母P(D),而贝叶斯估计则考虑了这个项。
最大后验概率估计,英文为Maximum A Posteriori Estimation, 简写为MAP。回到抛硬币的问 题, 最大似然估计认为使似然函数 P(X∣θ) 最大的参数 θ 即为最好的 θ, 此时最大似然估计是 将 θ 看作固定的值,只是其值未知; 最大后验概率分布认为 θ 是一个随机变量,即 θ 具有某种 概率分布,称为先验分布, 求解时除了要考虑似然函数 P(X∣θ) 之外,还要考虑 θ 的先验分布 P(θ), 因此其认为使 P(X∣θ)P(θ) 取最大值的 θ 就是最好的 θ0 此时要最大化的函数变为 P(X∣θ)P(θ), 由于 X 的先验分布 P(X) 是固定的 (可通过分析数据获得,其实我们也不 关心 X 的分布, 我们关心的是 θ ), 因此最大化函数可变为 P(X)P(X∣θ)P(θ), 根据贝叶斯法则,要最大化的函数 P(X)P(X∣θ)P(θ)=P(θ∣X), 因此要最大化的函数是 P(θ∣X), 而 P(θ∣X) 是 θ 的后验概率。最大后验概率估计可以看作是正则化的最大似然估计,当然机器学习或深度学习中的正则项通常是加法,而在最大后验概率估计中采用的是乘法, P(θ) 是正则 项。在最大似然估计中,由于认为 θ 是固定的,因此 P(θ)=1 。
最大后验概率估计的公式表示:
θargmaxP(θ∣X)=θargmaxP(X)P(X∣θ)P(θ)∝θargmaxP(X∣θ)P(θ)
在抛硬币的例子中, 通常认为 θ=0.5 的可能性最大, 因此我们用均值为 0.5, 方差为 0.1 的 高斯分布来描述 θ 的先验分布,当然也可以使用其它的分布来描述 θ 的先验分布。 θ 的先验分 布为:
2πσ1e−2σ2(θ−μ)2=102π1e−50(θ−0.5)2
在最大似然估计中, 已知似然函数为 P(X∣θ)=θ6(1−θ)4, 因此:
P(X∣θ)P(θ)=θ6×(1−θ)4×102π1×e−50(θ−0.5)2
转换为对数函数:
ln(P(X∣θ)P(θ))=ln(θ6×(1−θ)4×102π1×e−50(θ−0.5)2)=6ln(θ)+4ln(1−θ)+ln(102π1)−50(θ−0.5)2
令 ln(P(X∣θ)P(θ))′=0, 可得:
100θ3−150θ2+40θ+6=0
由于 0≤θ≤1, 解得: θ^≈0.529
如果我们用均值为 0.6, 方差为 0.1 的高斯分布来描述 θ 的先验分布, 则 θ^=0.6 。由此可见,在最大后验概率估计中, θ 的估计值与 θ 的先验分布有很大的关系。这也说明一个合理的 先验概率假设是非常重要的。如果先验分布假设错误, 则会导致估计的参数值偏离实际的参数值。
如果用 α=3,β=3 的Beta分布来描述 θ 的先验分布,则
P(X∣θ)P(θ)=θ6×(1−θ)4×B(α,β)1×θα−1(1−θ)β−1
令 P(X∣θ)P(θ)′=0 求解可得:
θ^=α+β+8α+5=3+3+88≈0.57
最大后验概率估计的求解步骤:
- 确定参数的先验分布以及似然函数
- 确定参数的后验分布函数
- 将后验分布函数转换为对数函数
- 求对数函数的最大值(求导,解方程)
4. 贝叶斯估计
贝叶斯估计是最大后验估计的进一步扩展,贝叶斯估计同样假定 θ 是一个随机变量,但贝叶斯估计并不是直接估计出 θ 的某个特定值,而是估计 θ 的分布,这是贝叶斯估计与最大后验概率估计不同的地方。在贝叶斯估计中,先验分布 P(X) 是不可忽略的。回到抛硬币的例子中,在已知 X 的情况下,描述 θ 的分布即描述 P(θ∣X),P(θ∣X) 是一种后验分布。如果后验分布 的范围较窄,则估计值的准确度相对较高,反之,如果后验分布的范围较广,则估计值的准确度就较低。
贝叶斯公式:
P(θ∣X)=P(X)P(X∣θ)P(θ)
在连续型随机变量中,由于 P(X)=∫ΘP(X∣θ)P(θ)dθ, 因此贝叶斯公式变为 :
P(θ∣X)=∫ΘP(X∣θ)P(θ)dθP(X∣θ)P(θ)
从上面的公式中可以看出,贝叶斯估计的求解非常复杂,因此选择合适的先验分布就非常重 要。一般来说,计算积分 ∫θP(X∣θ)P(θ)dθ 是不可能的。对于这个抛硬币的例子来说, 如 果使用共轭先验分布,就可以更好的解决这个问题。二项分布参数的共轩先验是Beta分布,由于 θ 的似然函数服从二项分布, 因此在贝叶斯估计中,假设 θ 的先验分布服从 P(θ)∼Beta(α,β), Beta分布的概率密度公式为:
f(x;α,β)=B(α,β)1xα−1(1−x)β−1
因此,贝叶斯公式可写作:
P(θ∣X)=∫ΘP(X∣θ)P(θ)dθP(X∣θ)P(θ)=∫Θθ6(1−θ)4B(α,β)θα−1(1−θ)β−1dθθ6(1−θ)4B(α,β)θα−1(1−θ)β−1=∫Θθα+6−1(1−θ)β+4−1dθθα+6−1(1−θ)β+4−1=B(α+6−1,β+4−1)θα+6−1(1−θ)β+4−1=Beta(θ∣α+6−1,β+4−1)=Beta(θ∣α+6,β+4)
从上面的公式可以看出, P(θ∣X)∼Beta(θ∣α+6,β+4) 。其中 B 函数,也称 Beta函数,是一个标准化常量, 用来使整个概率的积分为1。Beta (θ∣α+6,β+4) 就是贝叶斯 估计的结果。根据Beta分布 的数学期望公式 E(θ)=α+βα 可得:
θ^=∫ΘθP(θ∣X)dθ=E(θ)=α+βα=9+79=0.5625
注:二项分布参数的共轭先验是Beta分布, 多项式分布参数的共车先验是Dirichlet分布, 指数 分布参数的共车先验是Gamma分布,高斯分布均值的共功先验是另一个高斯分布, 泊松分布的 共车先验是Gamma分布。
贝叶斯估计要解决的不是如何估计参数, 而是用来估计新测量数据出现的概率, 对于新出现的 数据 x~ :
P(x~∣X)=∫ΘP(x~∣θ)P(θ∣X)dθ=∫ΘP(x~∣θ)P(X)P(X∣θ)P(θ)dθ
贝叶斯估计的求解步骤:
- 确定参数的似然函数
- 确定参数的先验分布,应是后验分布的共轭先验
- 确定参数的后验分布函数
- 根据贝叶斯公式求解参数的后验分布
5. 总结
从最大似然估计、最大后验概率估计到贝叶斯估计,从下表可以看出 θ 的估计值 θ^ 是逐渐接近 0.5 的。从公式的变化可以看出,使用的信息是逐渐增多的。最大似然估计、最大后验概率估 计中都是假设 θ 未知,但是确定的值,都将使函数取得最大值的 θ 作为估计值,区别在于最大化的函数不同,最大后验概率估计使用了 θ 的先验概率。而在贝叶斯估计中,假设参数 θ 是未
知的随机变量,不是确定值,求解的是参数 θ 在样本 X 上的后验分布。
Type θ^f MLE 0.6P(X∣θ) MAP 0.57P(X∣θ)P(θ) BE 0.5625P(X)P(X∣θ)P(θ)
三者之间的联系:
(1)MAP + 高斯先验 = MLE + L2正则
(2)当样本量越来越大,先验所起的作用也越来越小,最后MAP会趋近于MLE。
(3)当先验为均匀分布时,p(θ)为常量,此时MAP与MLE等价。可以理解为这种情况下先验并不能提供任何有价值的信息。
6. 极大似然估计与交叉熵
在分类任务中,我们以常见的二分类任务为例,标签服从伯努利分布(推广到多分类单标签问题, 标签服从多项式分布)。伯努利分布是一个离散型概率分布(分类问题为离散型概率问题)。假设 我们的数据集由 n 个样本构成 D={X1,X2,…,Xn}, 其中, Xn=(xn,yn) 构成,极大 似然的目标为 :maxP(X1,X2,…,Xn) 。对于每个样本来说,由于是二分类问题, 假设预测 为正样本的概率 P(Y=1∣x)=p(x),负样本的概率为 P(Y=0∣x)=1−p(x), 因此,对于 单个样本 Xi, 概率质量函数为:
P(Xi)=[p(xi)]yi[1−p(xi)]1−yi
由于样本之间独立同分布(机器学习的基本假设),因此,极大似然函数 maxP(X1,X2,…,Xn) 的目标变为 :
maxi∏NP(Xi)
将函数取对数,函数的极值点不会改变,因此:
maxi∑NlogP(Xi)=i∑Nyi[log(p(xi))]+(1−yi)[log(1−p(xi))]
这便是我们熟知的二元交叉熵损失函数。
7. 极大似然估计与MSE
在回归问题中, 我们以线性拟合任务 y=wTϕ(x) 为例,我们希望拟合得到的预测值 y 和目标 变量 t 越相似越好。现在我们假设: y 与 t 之所以存在差别,是因为观察值 t 本身 存在的随机 性, 不论这种随机性产生的原因是什么,我们假设这一随机性符合一个以 0 为均值,以 β−1 为 方差的高斯分布。引入一个随机变量 ε 来表示这一随机性, 则有:
t=y(x,w)+ε=wTϕ(x)+ε,其中ε∼N(0,β−1)
给定一个输入变量 x, 可以基于上述线性回归模型计算对应的目标观察值 t 的生成概率:
p(t∣x;w,β)=N(t∣y(x;w),β−1)
因此, 对于给定的由 n 个样本构成 D={X1,X2,…,Xn} 的数据集, 其中 Xn=(xn,tn),假设样本之间独立同分布 ( 假设同2) , 该模型生成这一数据集的最大似然估计为:
maxP(D;w,β)=maxi∏NN(tn∣wTϕ(xn),β−1)
同样地, 为方便计算,取对数似然函数作为目标函数, 即:
L(w,β)=max(logP(D;w,β)=∑iNlogN(tn∣wTϕ(xn),β−1)=2Nlogβ−2Nlog(2π)−βE(w)
其中前两项与 w 无关,在第三项中:
E(w)=21i=1∑N(tn−wTϕ(xn))2
因此, 对 w 的最大似然估计等价于对 E(w) 的最小化, E(x) 变为我们通常意义上的均方误差MSE
8. 经验风险最小化
MLE是经验风险最小化的例子。当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。在这里举个逻辑回归(LR)的例子。
对于二分类的逻辑回归来说,我们试图把所有数据正确分类,要么0,要么1。 通过累乘每个数据样例来模拟模型产生数据的过程,并且最大化 ∏iP(1)∗∏jP(0) 。 我们需要通过取对数来实现概率之积转为概率之和 ∑ilnP(1)+∑jlnP(0) 。
我们可以根据数据标签的0、1特性来把上式改为 m1∑i=1m(y∗lnP(1)+(1−y)ln(0))
这样,我们通过极大似然来推导出了逻辑回归的损失函数,同时极大似然是经验风险最小化的一 个特例。
9. 结构风险最小化
MAP是结构风险最小化的例子。当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。