引言
贝叶斯公式中依据先验概率 P ( ω i ) P(\omega_i) P(ωi)和类条件概率密度 P ( X ∣ ω i ) P(X|\omega_i) P(X∣ωi)求得后验概率。贝叶斯决策论核心思想是非常简单,为了最小化风险,选择后验概率最大的类别(最小化误差概率)来设计最优分类器。但在实际应用中我的能获取的样本数据只有有限条且先验概率以及类条件概率均无法得知。在实际问题中,我们需要根据已有的数据设计出正确的分类器。
一个朴素的想法是利用手中的训练样本来估计问题中涉及到的先验概率及类条件概率密度函数,将该估计值作为实际值设计分类器。在模式识别问题中,估计先验概率吧往往十分容易,而估计类条件概率密度就会困难很多。其原因在于:估计先验概率时,再有监督学习问题中每个样本的类别(标签,自然状态)都是已知的,我们只需要依照经验用样本数据计算各个类别出现的频率并以此作为先验概率即可;估计类条件概率密度函数时,很多情况下我们的样本数据过少,当用于表示特征的向量x维数很大时,会发生很严重的计算复杂度问题。解决方法是把条件概率密度参数化,如果我们事先已知类条件概率密度函数的函数形式以及参数个数且先验知识允许我们把条件概率密度参数化,求解难度就会显著降低。例如,如果我们正确的假设 P ( X ∣ ω i ) P(X|\omega_i) P(X∣ωi)是一个多元正态分布,这样我们就把问题从估计函数简化为估计函数的参数 μ i \mu_i μi和 Σ i \Sigma_i Σi。
我们已经将概率密度函数估计问题转化为参数估计问题。参数估计中两种常用且有效的方法是:最大似然估计和贝叶斯参数估计(本文对MLE进行分析)。参数估计问题只是实际问题求解过程中的一种简化方法(由于直接估计类条件概率密度函数很困难),所以使用最大似然估计需要满足一些假设:训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量 (i.i.d),且有充分的训练样本。
最大似然估计(MLE)
最大似然估计简单概括为:利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值。也即模型已定,参数未知”。
首先确定似然函数的概念,这里我们对似然函数和条件概率函数进行区分:
对于函数 P ( x ∣ θ ) P(x|\theta) P(x∣θ),其中x表示具体数据, θ \theta θ则表示模型参数:
a.函数自变量为x, θ \theta θ是一常数,这个函数叫做条件概率函数(probability function),它描述对于已知条件下x出现概率是多少。
b.函数自变量为 θ \theta θ,x是一常数,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数 θ \theta θ,出现x这个样本点的概率是多少。
由于样本集中的样本均为独立同分布的,所以只讨论一个类别下的样本集D,记已知样本集为
D
=
x
1
,
x
2
,
.
.
.
,
x
n
D={x_1,x_2,...,x_n}
D=x1,x2,...,xn,所以似然函数有:
p
(
D
∣
θ
)
=
p
(
x
1
,
x
2
,
.
.
.
,
x
n
∣
θ
)
=
∏
k
=
1
n
p
(
x
k
∣
θ
)
p(D|\pmb\theta)=p(x_1,x_2,...,x_n|\theta)=\prod^{n}_{k=1}p(x_k|\theta)
p(D∣θθθ)=p(x1,x2,...,xn∣θ)=k=1∏np(xk∣θ)
若 θ = θ ^ \theta=\hat \theta θ=θ^时,似然函数求得最大值, θ ^ \hat \theta θ^即 θ \theta θ的最大似然估计量, θ ^ \hat \theta θ^的求解如下:
为方便分析,通常情况下使用似然函数的对数函数而不是直接使用似然函数本身进行计算,取对数后使对数达到最大值的参数向量
θ
^
\hat \theta
θ^也是使似然函数本身达到最大值的
θ
^
\hat \theta
θ^定义对数似然函数为:
l
(
θ
)
≡
l
n
p
(
D
∣
θ
)
=
∏
k
=
1
n
l
n
p
(
x
k
∣
θ
)
l(\theta)\equiv lnp(D|\pmb\theta)=\prod^{n}_{k=1}lnp(x_k|\theta)
l(θ)≡lnp(D∣θθθ)=k=1∏nlnp(xk∣θ)
设参数向量
θ
\theta
θ中的参数个数为p,则记梯度算子:
求解方程:
∇
θ
l
(
θ
)
=
l
n
p
(
D
∣
θ
)
=
∏
k
=
1
n
∇
θ
l
n
p
(
x
k
∣
θ
)
=
0
\nabla_\theta l(\theta)= lnp(D|\pmb\theta)=\prod^{n}_{k=1}\nabla_\theta lnp(x_k|\theta)=0
∇θl(θ)=lnp(D∣θθθ)=k=1∏n∇θlnp(xk∣θ)=0
得到的解
θ
^
\hat \theta
θ^即可能为全局最大点。(需对值是否位于定义域空间进行检查以确定全局最优解)
直观理解:参数向量 θ \theta θ的最大似然估计就是最符合已有的观测样本集的那一个,如下图:
位于最上方的图显示了一维情况下的一些训练样本,这些样本都服从一个方差已知,而均值未知的一维高斯分布,虚线表示的是所有可能的源分布中的4种具体分布。位于中间的图显示了似然函数 p ( D ∣ θ ) p(D|\pmb\theta) p(D∣θθθ)关于均值的函数图像。如果我们有非常多的训练样本,那么这个函数的波形,将是非常窄的,使得似然函数取得最大值的点标记为 θ ^ \hat \theta θ^,这个使得似然函数取得最大值的点,也是使得在最下方的图中所示使得对数似然函数 l ( θ ) l(\theta) l(θ)取到最大值的那个点。
所以,最大似然估计的(即求最大似然估计量 θ ^ \hat \theta θ^)过程如下:
a.确定待估计的似然函数;b.计算对数似然函数,并整理;c.将对数似然函数对 θ \theta θ求梯度;d.解似然方程。
最大后验概率估计(MAP)
最大似然估计是求参数θ, 使似然函数 P ( x ∣ θ ) P(x|\theta) P(x∣θ)最大。最大后验概率估计则是想求θ使 P ( x ∣ θ ) P ( θ ) P(x|\theta)P(\theta) P(x∣θ)P(θ)最大,这里的 P ( θ ) P(\theta) P(θ)是对参数向量θ取不同值的概率的先验估计。所以说上述文章中的最大似然估计可以看作先验概率 P ( θ ) P(\theta) P(θ)为均匀分布的最大后验概率估计。求得的θ不单单让似然函数大,θ自己出现的先验概率也得大。 (这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法)
为什么叫它最大后验概率估计,这与贝叶斯公式相关,有贝叶斯公式
P
(
θ
∣
x
)
=
P
(
x
∣
θ
)
P
(
θ
)
P
(
x
)
P(\theta|x)=\frac{P(x|\theta)P(\theta)}{P(x)}
P(θ∣x)=P(x)P(x∣θ)P(θ)
P(x)是一个已知值,所以最大化
P
(
x
∣
θ
)
P
(
θ
)
P(x|\theta)P(\theta)
P(x∣θ)P(θ)即为最大化后验概率
P
(
θ
∣
x
)
P(\theta|x)
P(θ∣x)。
贝叶斯参数估计
贝叶斯参数估计方法与最大似然估计结果很相似,但两种方法存在本质上的不同:最大似然估计方法中将参数 θ \theta θ看作一个确定的量,而在贝叶斯估计中,将参数看作为一个随机的量,已有的训练样本使我们能够把对于 θ \theta θ的初始密度的估计转化为后验概率密度。
个确定的量,而在贝叶斯估计中,将参数看作为一个随机的量,已有的训练样本使我们能够把对于 θ \theta θ的初始密度的估计转化为后验概率密度。
贝叶斯参数估计具体方法将在下篇文章给出。