极大似然估计 伯努利分布 高斯分布 正态分布

#极大似然估计 伯努利分布 高斯分布 正态分布

概率分布的参数能以最高的概率产生这些样本。

如果观察到的数据是 D 1 , D 2 , D 3 , . . . , D N D_1, D_2, D_3, ... , D_N D1,D2,D3,...,DN,
那么极大似然的目标如下:

m a x P ( D 1 , D 2 , D 3 , . . . , D N ) max P(D_1, D_2, D_3, ... , D_N) maxP(D1,D2,D3,...,DN)

这里需要计算所有数据的联合概率,这不是件容易的事。
因此在这里引入了, 独立同分布假设,
independent and identically ditributed (i.i.d)
即每个样本出现的概率互不影响。
则现在我们要解决的问题变成:

m a x ∏ i N P ( D i ) max \prod{^N_i} P(D_i) maxiNP(Di)

对于优化问题,常用的方法是求导数取极值。
如果目标是一个凸函数,那么它导数为0的点,
就是极值点。
但现在公式中有连乘,求导比较麻烦。
这时,将函数取对数,函数的极值点不会改变。
现在公式变为:

m a x ∑ i N l o g P ( D i ) max \sum{^N_i} log P(D_i) maxiNlogP(Di)

现在求导会变得简单许多。

下面是例子

离散分布

伯努利分布下随机变量的最大似然计算方法。
假设

P ( X = 1 ) = p , P ( X = 0 ) = 1 − p P(X = 1) = p, P(X = 0) = 1-p P(X=1)=p,P(X=0)=1p

那么

P ( X ) = p X ( 1 − p ) 1 − X P(X) = p^X (1-p)^{1-X} P(X)=pX(1p)1X

如果有一组数据D从这个随机变量中采样得来,那么:

m a x p l o g P ( D ) max_p log P(D) maxplogP(D)

= m a x p l o g ∏ i N P ( D i ) = max_p log \prod^N_i P(D_i) =maxplogiNP(Di)

= m a x p ∑ i N l o g P ( D i ) = max_p \sum^N_i log P(D_i) =maxpiNlogP(Di)

= m a x p ∑ i N l o g p D i ( 1 − p ) 1 − D i = max_p \sum^N_i log p^{D_i} (1-p)^{1-D_i} =maxpiNlogpDi(1p)1Di

= m a x p ∑ i N [ D i l o g p + ( 1 − D i ) l o g ( 1 − p ) ] = max_p \sum^N_i [D_i log p + (1 - D_i)log (1 - p)] =maxpiN[Dilogp+(1Di)log(1p)]

对这个式子求导,得到:

▽ p l o g P ( D ) = ∑ i N [ D i 1 p + ( 1 − D i ) 1 p − 1 ] \bigtriangledown_p log P(D) = \sum^N_i [D_i\frac{1}{p} + (1 - D_i)\frac{1}{p-1}] plogP(D)=iN[Dip1+(1Di)p11]

另导数为0,就有:

∑ i N [ D i 1 p + ( 1 − D i ) 1 p − 1 ] = 0 \sum^N_i [D_i\frac{1}{p} + (1 - D_i)\frac{1}{p-1}] = 0 iN[Dip1+(1Di)p11]=0

∑ i N [ D i ( p − 1 ) + ( 1 − D i ) p ] = 0 \sum^N_i [D_i(p-1) + (1 - D_i)p] = 0 iN[Di(p1)+(1Di)p]=0

∑ i N ( p − D i ) = 0 \sum^N_i (p - D_i) = 0 iN(pDi)=0

N ∗ p − ∑ i N D i = 0 N*p - \sum^N_i D_i = 0 NpiNDi=0

p = 1 N ∑ i N D i p = \frac{1}{N}\sum^N_i D_i p=N1iNDi

伯努利分布下最大似然法求出的结果,相当于所有采样的平均值。

连续分布
基于高斯分布最大似然法计算
p ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e ^{- \frac{(x-\mu)^2}{2\sigma^2}} p(x)=2πσ2 1e2σ2(xμ)2

m a x l o g P ( D ) max log P(D) maxlogP(D)

= m a x l o g ∏ i N P ( D i ) = max log \prod^N_i P(D_i) =maxlogiNP(Di)

= m a x ∑ i N l o g P ( D i ) = max \sum^N_i log P(D_i) =maxiNlogP(Di)

= m a x ∑ i N l o g ( 1 2 π σ 2 e − ( D i − μ ) 2 2 σ 2 ) = max \sum^N_i log (\frac{1}{\sqrt{2\pi\sigma^2}} e ^{- \frac{(D_i-\mu)^2}{2\sigma^2}}) =maxiNlog(2πσ2 1e2σ2(Diμ)2)

= m a x ∑ i N [ − 1 2 l o g ( 2 π σ 2 ) − ( D i − μ ) 2 2 σ 2 ] = max \sum^N_i [- \frac{1}{2}log(2\pi\sigma^2) - \frac{(D_i - \mu)^2}{2\sigma^2}] =maxiN[21log(2πσ2)2σ2(Diμ)2]

= m a x [ − N 2 l o g ( 2 π σ 2 ) − 1 2 σ 2 ∑ i N ( D i − μ ) 2 ] = max[-\frac{N}{2}log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum^N_i(D_i - \mu)^2] =max[2Nlog(2πσ2)2σ21iN(Diμ)2]

首先对 μ \mu μ 求导:

∂ l o g P ( D ) ∂ μ = − 1 σ 2 ∑ i N ( μ − D i ) \frac{\partial log P(D)}{\partial \mu} = - \frac{1}{\sigma^2} \sum^N_i (\mu - D_i) μlogP(D)=σ21iN(μDi)

令导数为0:

− 1 σ 2 ∑ i N ( μ − D i ) = 0 - \frac{1}{\sigma^2} \sum^N_i(\mu - D_i) = 0 σ21iN(μDi)=0

μ = 1 N ∑ i N D i \mu = \frac{1}{N}\sum^N_i D_i μ=N1iNDi

其次,对 σ 2 \sigma^2 σ2 求导:

∂ l o g P ( D ) ∂ σ 2 = − N 2 σ 2 + 1 2 σ 4 ∑ i N ( D t − μ ) 2 \frac{\partial log P(D)}{\partial \sigma^2} = - \frac{N}{2 \sigma^2} + \frac {1}{2\sigma^4} \sum^N_i(D_t - \mu)^2 σ2logP(D)=2σ2N+2σ41iN(Dtμ)2

令导数为0:

− N 2 σ 2 + 1 2 σ 4 ∑ i N ( D i − μ ) 2 = 0 - \frac{N}{2\sigma^2} + \frac{1}{2\sigma^4}\sum^N_i(D_i - \mu)^2 = 0 2σ2N+2σ41iN(Diμ)2=0

σ 2 = 1 N ∑ i N ( D i − μ ) 2 \sigma^2 = \frac{1}{N} \sum^N_i (D_i - \mu)^2 σ2=N1iN(Diμ)2

从伯努利分布和高斯分布的最大似然法结果来看,最终求得的参数结果
和期望方差的计算方式一致。

你可能感兴趣的:(AI,人工智能,概率论与数理统计)