本文是对最大似然估计和EM算法做的一个总结。
一般来说,事件A发生的概率与某个未知参数 θ \theta θ有关, θ \theta θ取值不同,则事件A发生的概率 p ( A ∣ θ ) p(A|\theta) p(A∣θ)也不同。当我们在一次实验中事件A发生了,则认为此时的 θ \theta θ值应是t的一切可能取值中使 p ( A ∣ θ ) p(A|\theta) p(A∣θ)最大的那个。最大似然估计就是要选取这样的t值作为参数t的估计值,使所选取的样本在被选的总体中出现的可能性为最大。
EM算法是在有潜变量的情况下,通过不断进行最大似然估计来求解参数的过程。
最大似然估计
最大似然估计/极大似然估计(Maximum Likelihood Estimation,简称MLE)
前言
利用已知的样本的结果,在使用某个模型的基础上,反推出最有可能导致这种结果的模型参数值。是一种参数估计方法。
例子:
定义有些绕口,下面我们通过例子来理解一下。
我们知道,现实中的硬币是均匀的,即抛出后正面朝上和反面朝上的概率是一样的。
但是现在假设有两枚不均匀的硬币,这两枚硬币正面朝上的概率都不是0.5,分别记为 p 1 p_1 p1和 p 2 p_2 p2
记每选用一枚硬币抛5次为一个实验,得到实验结果如下:
实验所选硬币 | 实验结果 |
---|---|
1 | 3正、2反 |
1 | 1正、4反 |
1 | 2正、3反 |
2 | 2正、3反 |
2 | 1正、4反 |
好!那么我现在问,根据实验结果你可以得到 p 1 p_1 p1和 p 2 p2 p2的值吗?你应该会这样算:
p 1 = ( 3 + 1 + 2 ) / 15 = 0.4 p1=(3+1+2)/15=0.4 p1=(3+1+2)/15=0.4
p 2 = ( 2 + 1 ) / 10 = 0.3 p2=(2+1)/10=0.3 p2=(2+1)/10=0.3
然后你就说了, p 1 p1 p1最有可能是0.4, p 2 p2 p2最有可能是0.3。
现在我们就完成了一次最大似然估计!
- 什么是似然估计?—根据实验结果,反推出实验参数。
- 什么是最大似然估计?—根据实验结果,反推出最有可能导致这个结果的实验参数。
- 什么是概率?—根据参数,推出可能的实验结果。
用数学的语言来描述就是:
概率: p ( x ∣ θ ) p(x|\theta) p(x∣θ) 在参数 θ \theta θ确定的情况下, x x x出现的概率
似然: L ( θ ∣ x 1 , x 2 , . . . ) L(\theta|x_1,x_2,...) L(θ∣x1,x2,...) 根据结果,反推参数
定义
最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。
假设我们要统计全国人口的身高,首先假设这个身高服从正态分布,但是该分布的均值与方差未知。一种解决办法是:通过采样,获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布与均值。
最大似然估计中采样需要满足:所有的采样都是独立同分布的。下面具体描述最大似然估计:
首先,假设 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn是独立同分布的采样, θ \theta θ是模型的参数, f f f为我们使用的模型。所以,参数为 θ \theta θ的模型产生上述采样可以表示为:
f ( x 1 , x 2 , . . . , x n ) = f ( x 1 ∣ θ ) × f ( x 2 ∣ θ ) × . . . × f ( x n ∣ θ ) f(x_1,x_2,...,x_n)=f(x_1|\theta)\times f(x_2|\theta)\times ... \times f(x_n|\theta) f