目的
最大概率反推模型的参数值。
方法
利用已知的样本结果信息。
前提
所有的采样都是独立同分布的。
理解
首先看一下似然函数 p ( x ∣ θ ) p(x \mid \theta) p(x∣θ)的理解。
对于这个函数,输入有两个: x x x表示某一个具体的数据; θ \theta θ表示模型的参数。
如果 θ \theta θ是已知确定的, x x x是变量,这个函数叫做概率函数,它描述对于不同的样本点 x x x,其出现的概率是多少。
如果 x x x是已知确定的, θ \theta θ是变量,这个函数叫做似然函数,它描述对于不同的模型参数,出现 x x x这个样本点的概率是多少。
这有点像“一菜两吃”的意思。其实这样的形式我们以前也还是遇到过的。
例如,
f
(
x
,
y
)
=
x
y
f(x,y) = x^y
f(x,y)=xy,即
x
x
x的
y
y
y次方。
如果
x
x
x是已知确定的(例如
x
=
2
x = 2
x=2),这就是
f
(
y
)
=
2
y
f(y) = 2 ^ y
f(y)=2y,这是指数函数。
如果
y
y
y是已知确定的(例如
y
=
2
y = 2
y=2),这就是
f
(
x
)
=
x
2
f(x) = x ^ 2
f(x)=x2,这是二次函数。
同一个数学形式,从不同的变量角度观察,可以有不同的名字。
实例1
假设有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后把拿出来的球再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐子中黑白球的比例。假如再前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少?
很多人马上就有答案了:70%。而其后的理论支撑是什么呢?
我们假设罐子中白球的比例是 p p p,那么黑球的比例是 1 − p 1 - p 1−p。因为每抽一个球出来,在记录颜色之后,我们把抽出的球放回了罐中并摇匀,所以每次抽出来的球的颜色服从同一独立分布。
这里我们把一次抽出来球的颜色称为一次采样。题目中在一百次采样中,七十次是白球,三十次是黑球事件的概率是:
P ( 样 本 结 果 ∣ M o d e l ) P(样本结果|Model) P(样本结果∣Model)
如果第一次抽象的结果记为 x 1 x_1 x1,第二次抽样的结果记为 x 2 x_2 x2,……,那么样本结果为( x 1 x_1 x1, x 2 x_2 x2,……, x 1 00 x_100 x100)。这样,我们可以的大如下表达式:
P ( 样 本 结 果 ∣ M o d e l ) = P ( x 1 , x 2 , . . . , x 100 ∣ M o d e l ) = P ( x 1 ∣ M ) P ( x 2 ∣ M ) . . . P ( x 100 ∣ M ) = p 70 ( 1 − p ) 30 P(样本结果|Model) =P(x_1,x_2,...,x_{100}|Model) =P(x_1|M)P(x_2|M)...P(x_{100}|M) =p^{70}(1-p)^{30} P(样本结果∣Model)=P(x1,x2,...,x100∣Model)=P(x1∣M)P(x2∣M)...P(x100∣M)=p70(1−p)30
那么这里已经有了观察样本结果出现的概率表达式了。那么我们要求的模型的参数,也就是求式中的 p p p。
那么我们怎么来求这个 p p p呢?
不同的 p p p,直接导致 P ( 样 本 结 果 ∣ M o d e l ) P(样本结果|Model) P(样本结果∣Model)的不同。
实际上
p
p
p有无数多种分布。
当
p
=
0.5
p = 0.5
p=0.5时,
p
70
(
1
−
p
)
30
=
7.8
∗
1
0
−
31
p^{70}(1 - p)^{30} = 7.8 * 10^{-31}
p70(1−p)30=7.8∗10−31。
当
p
=
0.7
p = 0.7
p=0.7时,
p
70
(
1
−
p
)
30
=
2.95
∗
1
0
−
27
p^{70}(1 - p)^{30} = 2.95 * 10^{-27}
p70(1−p)30=2.95∗10−27。
那么,这里既然有无数种分布可以选择,极大似然估计应该按照什么原则去选取这个分布呢?
答:采取的方法是让这个样本结果出现的可能性最大,也就是使得 p 70 ( 1 − p ) 30 p^{70}(1-p)^{30} p70(1−p)30值最大,那么我们就可以看成是 p p p的方程,求导即可。
那么既然事情已经发生了,为什么不让这个出现的结果的可能性最大呢?这也就是最大似然估计的核心。
我们想办法让观察样本出现的概率最大,转换为数学问题就是使得:
p 70 ( 1 − p ) 30 p^{70}(1-p)^{30} p70(1−p)30最大,这里我们令 p 70 ( 1 − p ) 30 p^{70}(1-p)^{30} p70(1−p)30的导数为0,即可求出 p p p为70%,与我们一开始认为的70%是一致的。其中蕴含着我们的数学思想在里面。
实例2
假设我们要统计全国人民的年均收入,首先假设这个收入服从正态分布,但是该分布的均值与方差未知。
没有太多人力和物力来统计全国每个人的收入,这里就可以用到最大似然估计。
我们比如选取一个城市或者一个乡镇的人口收入,作为我们的观察样本结果。然后通过最大似然估计获取上述假设中的正态分布的参数。
有了参数的结果后,我们就知道该正态分布的期望和方差了,也就是我们通过了一个小样本的采样,反过来知道了全国人民年收入的一系列重要的数学指标量。
最大似然估计的核心关键就是对于一些情况,样本太多,无法得出分布的参数值,可以采样小样本后,利用最大似然估计获取假设中分布的参数值。
问题
为什么最大似然函数最大,参数就最有可能?
现在已经拿到了很多个样本(我们的数据集中所有因变量),这些样本值已经实现,最大似然估计就是去找到那些参数的估计值,使得前面已经实现的样本值发生概率最大。因为手头上的样本已经实现了,其发生概率最大才符合逻辑。
这时是求样本所有观测的联合概率最大化,是个连乘积,只要取对数,就变成了线性加总。此时通过对参数求导数,并令一阶导数为零,就可以通过解方程(组),得到最大似然估计值。