1 极大似然
1.1 问题描述
假设我们需要调查我们学校学生的身高分布。我们先假设学校所有学生的身高服从正态分布 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2)。(注意:极大似然估计的前提一定是要假设数据总体的分布,如果不知道数据分布,是无法使用极大似然估计的),这个分布的均值 μ \mu μ 和方差 σ 2 \sigma^2 σ2 未知,如果我们估计出这两个参数,那我们就得到了最终的结果。那么怎样估计这两个参数呢?
学校的学生这么多,我们不可能挨个统计吧?这时候我们需要用到概率统计的思想,也就是抽样,根据样本估算总体。假设我们随机抽到了 200 个人(也就是 200 个身高的样本数据,为了方便表示,下面“人”的意思就是对应的身高)。然后统计抽样这 200 个人的身高。根据这 200 个人的身高估计均值 μ \mu μ 和方差 σ 2 \sigma^2 σ2。
用数学的语言来说就是:为了统计学校学生的身高分布,我们独立地按照概率密度 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 抽取了 200 个(身高),组成样本集 X = x 1 , x 2 , . . . x N X=x_1,x_2,...x_N X=x1,x2,...xN(其中 x i x_i xi 表示抽到的第 i i i 个人的身高,这里 N 就是 200,表示样本个数),我们想通过样本集 X 来估计出总体的未知参数 θ \theta θ 。这里概率密度 p ( x ∣ θ ) p(x|\theta) p(x∣θ) 服从高斯分布 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2) ,其中的未知参数是 θ = [ μ , σ ] T \theta=[\mu,\sigma]^T θ=[μ,σ]T 。
那么问题来了怎样估算参数 θ \theta θ 呢?
1.2 估算参数
我们先回答几个小问题:
问题一:抽到这 200 个人的概率是多少呢?
由于每个样本都是独立地从
p
(
x
∣
θ
)
p(x|\theta)
p(x∣θ) 中抽取的,换句话说这 200 个学生随便捉的,他们之间是没有关系的,即他们之间是相互独立的。假如抽到学生 A(的身高)的概率是
p
(
x
A
∣
θ
)
p(x_A|\theta)
p(xA∣θ) ,抽到学生B的概率是
p
(
x
B
∣
θ
)
p(x_B|\theta)
p(xB∣θ) ,那么同时抽到男生 A 和男生 B 的概率是
p
(
x
A
∣
θ
)
×
p
(
x
B
∣
θ
)
p(x_A|\theta)\times p(x_B|\theta)
p(xA∣θ)×p(xB∣θ) ,同理,我同时抽到这 200 个学生的概率就是他们各自概率的乘积了,即为他们的联合概率,用下式表示:
L
(
θ
)
=
L
(
x
1
,
x
2
,
.
.
.
,
x
n
;
θ
)
=
∏
i
=
1
n
p
(
x
i
∣
θ
)
,
θ
∈
Θ
L(\theta)=L(x_1,x_2,...,x_n;\theta)=\prod_{i=1}^np(x_i|\theta),\quad\theta \in \Theta
L(θ)=L(x1,x2,...,xn;θ)=i=1∏np(xi∣θ),θ∈Θ
n 为抽取的样本的个数,本例中 n = 200 n=200 n=200 ,这个概率反映了,在概率密度函数的参数是 θ \theta θ 时,得到 X 这组样本的概率。上式中等式右侧只有 θ \theta θ 是未知数,所以 L 是 θ \theta θ 的函数。
这个函数反映的是在不同的参数 θ \theta θ 取值下,取得当前这个样本集的可能性,因此称为参数 θ \theta θ 相对于样本集 X 的似然函数(likelihood function),记为 L ( θ ) L(\theta) L(θ) 。
对 L 取对数,将其变成连加的,称为对数似然函数,如下式:
H
(
θ
)
=
l
n
L
(
θ
)
=
l
n
∏
i
=
1
n
p
(
x
i
∣
θ
)
=
∑
i
=
1
n
l
n
p
(
x
i
∣
θ
)
H(\theta)=lnL(\theta)=ln\prod_{i=1}^np(x_i|\theta)=\sum_{i=1}^nlnp(x_i|\theta)
H(θ)=lnL(θ)=lni=1∏np(xi∣θ)=i=1∑nlnp(xi∣θ)
Q:这里为什么要取对数?
取对数之后累积变为累和,求导更加方便
概率累积会出现数值非常小的情况,比如1e-30,由于计算机的精度是有限的,无法识别这一类数据,取对数之后,更易于计算机的识别(1e-30以10为底取对数后便得到-30)。
问题二:学校那么多学生,为什么就恰好抽到了这 200 个人 ( 身高) 呢?
在学校那么学生中,我一抽就抽到这 200 个学生(身高),而不是其他人,那是不是表示在整个学校中,这 200 个人(的身高)出现的概率极大啊,也就是其对应的似然函数
L
(
θ
)
L(\theta)
L(θ) 极大,即
θ
^
=
a
r
g
m
a
x
L
(
θ
)
\hat \theta=argmax\ L(\theta)
θ^=argmax L(θ)
θ ^ \hat \theta θ^这个叫做 θ \theta θ 的极大似然估计量,即为我们所求的值。
问题三:那么怎么极大似然函数?
求 L ( θ ) L(\theta) L(θ) 对所有参数的偏导数,然后让这些偏导数为 0,假设有 n 个参数,就有 n 个方程组成的方程组,那么方程组的解就是似然函数的极值点了,从而得到对应的 θ \theta θ 了。
1.3 极大似然估计总结
极大似然估计你可以把它看作是一个反推。多数情况下我们是根据已知条件来推算结果,而极大似然估计是已经知道了结果,然后寻求使该结果出现的可能性极大的条件,以此作为估计值。
比如说,
假如一个学校的学生男女比例为 9:1 (条件),那么你可以推出,你在这个学校里更大可能性遇到的是男生 (结果);
假如你不知道那女比例,你走在路上,碰到100个人,发现男生就有90个 (结果),这时候你可以推断这个学校的男女比例更有可能为 9:1 (条件),这就是极大似然估计。
极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,通过若干次试验,观察其结果,利用结果推出参数的大概值。
极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率极大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。
1.4 求极大似然函数估计值的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数,令导数为 0,得到似然方程;
(4)解似然方程,得到的参数。