问题引出:

贝叶斯决策
首先来看贝叶斯分类,我们都知道经典的贝叶斯公式:
P ( w ∣ x ) = p ( x ∣ w ) p ( w ) p ( x ) \begin{array}{c}P(w | x)=\frac{p(x | w) p(w)}{p(x)}\end{array} P(wx)=p(x)p(xw)p(w)

其中: p ( w ) p(w) p(w):为先验概率,表示每种类别分布的概率; p ( x ∣ w ) p(x | w) p(xw):类条件概率,表示在某种类别前提下,某事发生的概率;而为后验概率,表示某事发生了,并且它属于某一类别的概率,有了这个后验概率,我们就可以对样本进行分类。后验概率越大,说明某事物属于这个类别的可能性越大,我们越有理由把它归到这个类别下。

详细的讲解可以看一下我的另外一篇blog概率图模型(3)朴素贝叶斯分类

但是在实际问题中并不都是这样幸运的,我们能获得的数据可能只有有限数目的样本数据,而先验概率 p ( w i ) p\left(w_{i}\right) p(wi)和类条件概率 p ( x ∣ w i ) p\left(x | w_{i}\right) p(xwi)(各类的总体分布)都是未知的。根据仅有的样本数据进行分类时,一种可行的办法是我们需要先对先验概率和类条件概率进行估计,然后再套用贝叶斯分类器。

先验概率 p ( w i ) p\left(w_{i}\right) p(wi)的估计较简单,有如下几种方法
1、每个样本所属的自然状态都是已知的(有监督学习)
2、依靠经验
3、用训练样本中各类出现的频率估计

类条件概率 p ( x ∣ w i ) p\left(x | w_{i}\right) p(xwi)的估计(非常难),原因包括:概率密度函数包含了一个随机变量的全部信息;样本数据可能不多;特征向量 x x x的维度可能很大等等。总之要直接估计类条件概率的密度函数很难。解决的办法就是,把估计完全未知的概率密度 p ( x ∣ w i ) p\left(x | w_{i}\right) p(xwi)转化为估计参数。==这里就将概率密度估计问题转化为参数估计问题,极大似然估计就是一种参数估计方法。==当然了,概率密度函数的选取很重要,模型正确,在样本区域无穷时,我们会得到较准确的估计值,如果模型都错了,那估计半天的参数,肯定也没啥意义了。

重要前提:

上面说到,参数估计问题只是实际问题求解过程中的一种简化方法(由于直接估计类条件概率密度函数很困难)。所以能够使用极大似然估计方法的样本必须需要满足一些前提假设。
重要前提:训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量 (iid条件),且有充分的训练样本。

极大似然估计

极大似然估计的原理,用一张图片来说明,如下图所示:
在这里插入图片描述

总结起来,最大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。
原理:极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。
由于样本集中的样本都是独立同分布,可以只考虑一类样本集 D D D,来估计参数向量 θ \theta θ。记已知的样本集为:
D = { x 1 , x 2 , ⋯   , x N } D=\left\{x_{1}, x_{2}, \cdots, x_{N}\right\} D={x1,x2,,xN}
似然函数(linkehood function):联合概率密度函数 p ( D ∣ θ ) p(D | \theta) p(Dθ)称为相对于 { x 1 , x 2 , ⋯   , x N } \left\{x_{1}, x_{2}, \cdots, x_{N}\right\} {x1,x2,,xN}的$\theta $的似然函数。
l ( θ ) = p ( D ∣ θ ) = p ( x 1 , x 2 , ⋯   , x N ∣ θ ) = ∏ i = 1 N p ( x i ∣ θ ) l(\theta)=p(D | \theta)=p\left(x_{1}, x_{2}, \cdots, x_{N} | \theta\right)=\prod_{i=1}^{N} p\left(x_{i} | \theta\right) l(θ)=p(Dθ)=p(x1,x2,,xNθ)=i=1Np(xiθ)
公式解析:在不同 θ \theta θ下似然函数的值为在这种样本分布情况下由此时的 θ \theta θ通过联合概率分布得出,联合概率分布又因为样本之间独立,转换成乘法模型。

如果 θ ^ \hat{\theta} θ^是参数空间中能使似然函数 l ( θ ) l(\theta) l(θ)最大的 θ \theta θ值,则应该是“最可能”的参数值,那么就是 θ \theta θ的极大似然估计量。它是样本集的函数,在不同的样本集 D D D中,有不同的参数估计,记作:
θ ^ = d ( x 1 , x 2 , ⋯   , x N ) = d ( D ) \hat{\theta}=d\left(x_{1}, x_{2}, \cdots, x_{N}\right)=d(D) θ^=d(x1,x2,,xN)=d(D)
θ ^ ( x 1 , x 2 , ⋯   , x N ) \hat{\theta}\left(x_{1}, x_{2}, \cdots, x_{N}\right) θ^(x1,x2,,xN)即为极大似然函数估计值。

求解极大似然函数

ML估计:求使得出现该组样本的概率最大的 θ \theta θ值。
θ ^ = arg ⁡ max ⁡ θ l ( θ ) = arg ⁡ max ⁡ θ ∏ i = 1 N p ( x i ∣ θ ) \hat{\theta}=\arg \max _{\theta} l(\theta)=\arg \max _{\theta} \prod_{i=1}^{N} p\left(x_{i} | \theta\right) θ^=argθmaxl(θ)=argθmaxi=1Np(xiθ)
实际中为了便于分析,定义了对数似然函数:
H ( θ ) = ln ⁡ l ( θ ) θ ^ = arg ⁡ max ⁡ θ H ( θ ) = arg ⁡ max ⁡ θ ln ⁡ l ( θ ) = arg ⁡ max ⁡ θ ∑ i = 1 N ln ⁡ p ( x i ∣ θ ) \begin{array}{c}{H(\theta)=\ln l(\theta)} \\ {\hat{\theta}=\arg \max _{\theta} H(\theta)=\arg \max _{\theta} \ln l(\theta)=\arg \max _{\theta} \sum_{i=1}^{N} \ln p\left(x_{i} | \theta\right)}\end{array} H(θ)=lnl(θ)θ^=argmaxθH(θ)=argmaxθlnl(θ)=argmaxθi=1Nlnp(xiθ)
1、当未知参数只有一个( θ \theta θ为标量)
在似然函数满足连续、可微的正则条件下,极大似然估计量是下面微分方程的解:
d l ( θ ) d θ = 0 或 者 等 价 于 d H ( θ ) d θ = d ln ⁡ l ( θ ) d θ = 0 \frac{d l(\theta)}{d \theta}=0 或者等价于 \frac{d H(\theta)}{d \theta}=\frac{d \ln l(\theta)}{d \theta}=0 dθdl(θ)=0dθdH(θ)=dθdlnl(θ)=0

2、未知参数有多个( θ \theta θ为向量)
θ \theta θ可表示为具有 S S S个分量的未知向量:
θ = [ θ 1 , θ 2 , ⋯   , θ S ] T \theta=\left[\theta_{1}, \theta_{2}, \cdots, \theta_{S}\right]^{T} θ=[θ1,θ2,,θS]T
记梯度算子:
∇ θ = [ ∂ ∂ θ 1 , ∂ ∂ θ 2 , ⋯   , ∂ ∂ θ s ] T \nabla_{\theta}=\left[\frac{\partial}{\partial \theta_{1}}, \frac{\partial}{\partial \theta_{2}}, \cdots, \frac{\partial}{\partial \theta_{s}}\right]^{T} θ=[θ1,θ2,,θs]T
若似然函数满足连续可导的条件,则最大似然估计量就是如下方程的解。
∇ θ H ( θ ) = ∇ θ ln ⁡ l ( θ ) = ∑ i = 1 N ∇ θ ln ⁡ P ( x i ∣ θ ) = 0 \nabla_{\theta} H(\theta)=\nabla_{\theta} \ln l(\theta)=\sum_{i=1}^{N} \nabla_{\theta} \ln P\left(x_{i} | \theta\right)=0 θH(θ)=θlnl(θ)=i=1NθlnP(xiθ)=0
方程的解只是一个估计值,只有在样本数趋于无限多的时候,它才会接近于真实值。

极大似然估计的例子

例1:设样本服从正态分布 N ( μ , σ 2 ) N\left(\mu, \sigma^{2}\right) N(μ,σ2),则似然函数为:
L ( μ , σ 2 ) = ∏ i = 1 N 1 2 π σ e − ( x i − μ ) 2 2 σ 2 = ( 2 π σ 2 ) − n 2 e 1 2 σ 2 ∑ k = 1 n ( x i − μ ) 2 L\left(\mu, \sigma^{2}\right)=\prod_{i=1}^{N} \frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{\left(x_{i}-\mu\right)^{2}}{2 \sigma^{2}}}=\left(2 \pi \sigma^{2}\right)^{-\frac{n}{2}} e^{\frac{1}{2 \sigma^{2}} \sum_{k=1}^{n}\left(x_{i}-\mu\right)^{2}} L(μ,σ2)=i=1N2π σ1e2σ2(xiμ)2=(2πσ2)2ne2σ21k=1n(xiμ)2
它的对数:
ln ⁡ L ( μ , σ 2 ) = − n 2 ln ⁡ ( 2 π ) − n 2 ln ⁡ ( σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ln L\left(\mu, \sigma^{2}\right)=-\frac{n}{2} \ln (2 \pi)-\frac{n}{2} \ln \left(\sigma^{2}\right)-\frac{1}{2 \sigma^{2}} \sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2} lnL(μ,σ2)=2nln(2π)2nln(σ2)2σ21i=1n(xiμ)2
求导,得方程组:
{ ∂ ln ⁡ L ( μ , σ 2 ) ∂ μ = 1 σ 2 ∑ i = 1 n ( x i − μ ) = 0 ∂ ln ⁡ L ( μ , σ 2 ) ∂ σ 2 = − n 2 σ 2 + 1 2 σ 4 ∑ i = 1 n ( x i − μ ) 2 = 0 \left\{\begin{array}{l}{\frac{\partial \ln L\left(\mu, \sigma^{2}\right)}{\partial \mu}=\frac{1}{\sigma^{2}} \sum_{i=1}^{n}\left(x_{i}-\mu\right) \quad=0} \\ {\frac{\partial \ln L\left(\mu, \sigma^{2}\right)}{\partial \sigma^{2}}=-\frac{n}{2 \sigma^{2}}+\frac{1}{2 \sigma^{4}} \sum_{i=1}^{n}\left(x_{i}-\mu\right)^{2}=0}\end{array}\right. μlnL(μ,σ2)=σ21i=1n(xiμ)=0σ2lnL(μ,σ2)=2σ2n+2σ41i=1n(xiμ)2=0
联合解得:
{ μ ∗ = x ‾ = 1 n ∑ i = 1 n x i σ ∗ 2 = 1 n ∑ i = 1 n ( x i − x ‾ ) 2 \left\{ \begin{array}{l}{\mu^{*}=\overline{x}=\frac{1}{n} \sum_{i=1}^{n} x_{i}} \\ {\sigma^{* 2}=\frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-\overline{x}\right)^{2}} \end{array}\right. {μ=x=n1i=1nxiσ2=n1i=1n(xix)2
似然方程有唯一解 ( μ ∗ , σ ∗ 2 ) \left(\mu^{*}, \sigma^{* 2}\right) (μ,σ2):而且它一定是最大值点,这是因为当 ∣ μ ∣ → ∞ |\mu| \rightarrow \infty μ σ 2 → ∞ 或 者 0 \sigma^2 \to \infty或者 0 σ20时,非负函数 L ( μ , σ 2 ) → ∞ L(\mu,\sigma^2) \to \infty L(μ,σ2)。于是 μ \mu μ σ 2 \sigma^2 σ2的极大似然估计为 ( μ ∗ , σ ∗ 2 ) \left(\mu^{*},\sigma^{* 2}\right) (μ,σ2)

例2:设样本服从均匀分布[a, b]。则 X X X的概率密度函数:
f ( x ) = { 1 b − a , a ≤ x i ≤ b , i = 1 , 2 , … , n 0 , 其 他 f(x) =\left\{ \begin{array}{l} \frac{1}{b-a},a\leq x_i\leq b,i=1,2,\ldots,n \\0, \quad 其他 \end{array}\right. f(x)={ba1,axib,i=1,2,,n0,
对样本 D = { x 1 , x 2 , … , x n } D=\{x_1,x_2,\ldots,x_n\} D={x1,x2,,xn}
L ( a , b ) = { 1 ( b − a ) n , a ≤ x i ≤ b , i = 1 , 2 , … , n 0 , 其 他 L(a,b) =\left\{ \begin{array}{l} \frac{1}{(b-a)^n},a\leq x_i\leq b,i=1,2,\ldots,n \\0, \quad 其他 \end{array}\right. L(a,b)={(ba)n1,axib,i=1,2,,n0,
很显然, L ( a , b ) L(a,b) L(a,b)作为 a a a b b b的二元函数是不连续的,这时不能用导数来求解。而必须从极大似然估计的定义出发,求 L ( a , b ) L(a,b) L(a,b)的最大值,为使 L ( a , b ) L(a,b) L(a,b)达到最大, b − a b-a ba应该尽可能地小,但 b b b又不能小于 max ⁡ { x 1 , x 2 , … , x n } \max{\{x_1,x_2,\ldots,x_n\}} max{x1,x2,,xn},否则, L ( a , b ) = 0 L(a,b)=0 L(a,b)=0。类似地 a a a不能大过 min ⁡ { x 1 , x 2 , … , x n } \min{\{x_1,x_2,\ldots,x_n\}} min{x1,x2,,xn},因此, a a a b b b的极大似然估计:
a ∗ = min ⁡ { x 1 , x 2 , … , x n } b ∗ = max ⁡ { x 1 , x 2 , … , x n } a^* = \min{\{x_1,x_2,\ldots,x_n\}}\\b^* = \max{\{x_1,x_2,\ldots,x_n\}} a=min{x1,x2,,xn}b=max{x1,x2,,xn}

总结

求最大似然估计量的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数;
(4)解似然方程。
最大似然估计的特点:
1.比其他估计方法更加简单;
2.收敛性:无偏或者渐近无偏,当样本数目增加时,收敛性质会更好;
3.如果假设的类条件概率模型正确,则通常能获得较好的结果。但如果假设模型出现偏差,将导致非常差的估计结果。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐