#极大似然估计 伯努利分布 高斯分布 正态分布
概率分布的参数能以最高的概率产生这些样本。
如果观察到的数据是 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) max∏iNP(Di)
对于优化问题,常用的方法是求导数取极值。
如果目标是一个凸函数,那么它导数为0的点,
就是极值点。
但现在公式中有连乘,求导比较麻烦。
这时,将函数取对数,函数的极值点不会改变。
现在公式变为:
m a x ∑ i N l o g P ( D i ) max \sum{^N_i} log P(D_i) max∑iNlogP(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)=1−p
那么
P ( X ) = p X ( 1 − p ) 1 − X P(X) = p^X (1-p)^{1-X} P(X)=pX(1−p)1−X
如果有一组数据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) =maxplogi∏NP(Di)
= m a x p ∑ i N l o g P ( D i ) = max_p \sum^N_i log P(D_i) =maxpi∑NlogP(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} =maxpi∑NlogpDi(1−p)1−Di
= 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)] =maxpi∑N[Dilogp+(1−Di)log(1−p)]
对这个式子求导,得到:
▽ 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)=i∑N[Dip1+(1−Di)p−11]
另导数为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 i∑N[Dip1+(1−Di)p−11]=0
∑ i N [ D i ( p − 1 ) + ( 1 − D i ) p ] = 0 \sum^N_i [D_i(p-1) + (1 - D_i)p] = 0 i∑N[Di(p−1)+(1−Di)p]=0
∑ i N ( p − D i ) = 0 \sum^N_i (p - D_i) = 0 i∑N(p−Di)=0
N ∗ p − ∑ i N D i = 0 N*p - \sum^N_i D_i = 0 N∗p−i∑NDi=0
p = 1 N ∑ i N D i p = \frac{1}{N}\sum^N_i D_i p=N1i∑NDi
伯努利分布下最大似然法求出的结果,相当于所有采样的平均值。
连续分布
基于高斯分布最大似然法计算
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πσ21e−2σ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) =maxlogi∏NP(Di)
= m a x ∑ i N l o g P ( D i ) = max \sum^N_i log P(D_i) =maxi∑NlogP(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}}) =maxi∑Nlog(2πσ21e−2σ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}] =maxi∑N[−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σ21i∑N(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)=−σ21i∑N(μ−Di)
令导数为0:
− 1 σ 2 ∑ i N ( μ − D i ) = 0 - \frac{1}{\sigma^2} \sum^N_i(\mu - D_i) = 0 −σ21i∑N(μ−Di)=0
μ = 1 N ∑ i N D i \mu = \frac{1}{N}\sum^N_i D_i μ=N1i∑NDi
其次,对 σ 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 ∂σ2∂logP(D)=−2σ2N+2σ41i∑N(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σ41i∑N(Di−μ)2=0
σ 2 = 1 N ∑ i N ( D i − μ ) 2 \sigma^2 = \frac{1}{N} \sum^N_i (D_i - \mu)^2 σ2=N1i∑N(Di−μ)2
从伯努利分布和高斯分布的最大似然法结果来看,最终求得的参数结果
和期望方差的计算方式一致。