3.2.1 似然函数

生成过程与反向推断

在现实生活中,我们会观察到各种各样的现象,而现象的背后又包含着各种各样的原因。比如,突然下起了大雨,所以行人会被淋湿,而如果看到一个浑身湿透的人,我们也会推测外面可能下雨了。上述这个例子包含了心理学研究中的两种常见思路,一种是,我们可以提出假设,并认为在这个假设下应该会产生怎样的实验数据。另一种是,在实验过后,我们获得了数据,基于这些数据,我们会思考这些数据更支持哪一种假设。由原因生成观察数据,这被称为生成过程(Generative Process); 由观察数据反推原因,这被称为反向推断(Reverse Inference) , 接下来我们将详细介绍这两个过程以及其中涉及到的关键概念。

条件概率分布

首先,我们来了解生成过程。我们还是以下雨为例,并且把观察数据定为家门口是否有水,针对这类观察数据,可能获得的结果有两种:有水与无水。

并且,导致家门口有水产生的原因除了下雨,还有洒水车经过等等。那么,我们可以用条件概率的形式将原因和观察数据表示出来。

我们用符号对原因和观察数据进行表示:

  • OO (observation)

1. O1O_1: 家门口有水 2. O2O_2: 家门口没有水

  • CC (cause)

1. C1C_1 :下雨 2. C2C_2 : 洒水车经过 3. C3C_3 : 晴天

把这些原因和数据详细地列表,表A中的每一行都代表一种条件概率分布

🕵️‍♀️这些条件概率(即每个单元格内的数字)是怎么得来的?

我们以条件概率分布 p(OC1) p (O|C_1) 为例,其他的条件概率分布,如接下来的p(OC2)p(OC3) p (O|C_2)、 p (O|C_3) 都可以以此类推

假设,在过去的无数日子里,我分别记录了下雨的天数NN和下雨之后家门口有水的天数ff,则有:

  • p(O1C1)=f/Np(O_1|C_1) = f/N

  • p(O2C1)=1f/Np(O_2|C_1) = 1 - f/N

根据这个表,我们可以总结条件概率分布的一个重要性质:

以第一行为例,在已知下雨的情况下,观察到家门口有水的概率是0.8,观察到家门口没水的概率是0.2

p(O1C1)+p(O2C1)=1p(O_1|C_1) + p(O_2|C_1) = 1 这两者相加的和一定为 1

似然函数

离散分布的似然函数

如果此时我们观察到家门口有水,那么最有可能发生的事情是发生了什么?我们会回答:下雨。为什么呢,锁定第一列,我们比较不同原因下出现有水的概率

p(O1C1)=0.8>p(O1C2)=0.6>p(O1C3)=0.2p(O_1|C_1) =0.8 > p(O_1|C_2) =0.6 > p(O_1|C_3) =0.2

在上述这个过程中,我们由观察数据对背后的原因进行推断,即反向推断。表格中的一列包含了一种数据在不同原因下出现的条件概率,我们将这一系列条件概率组合称为似然函数

这也正是似然函数告诉我们的,它允许我们去比较当前数据在不同假设下发生的相对可能性。而这个朴素的直觉背后就是接下来即将要介绍的 极大似然估计法。

同样地,我们将第一列的所有值相加,p(O1C1)+p(O1C2)+p(O1C3)=1.6p(O_1|C_1) + p(O_1|C_2) + p(O_1|C_3) = 1.6,这三个条件概率相加的总和并不一定为 1。

条件概率分布与似然函数对比

现在,我们对条件概率分布与似然函数做一个对比:

在条件概率分布p(OC)p(O|C)中,CC的取值是固定的,比如C=C1C = C_1,而OO则是变化的,如果取遍所有的OO,必然有:

p(OC)dO=1\int p(O|C)dO = 1

而似然函数则是一个函数,并不是一种概率分布,在似然函数f(C)=p(OC)f(C) =p(O|C)中,OO的取值是固定的,比如O=O1O = O_1CC则是变化的,如果取遍所有的CC,似然函数可以表示为:

p(OC)dC其结果并不一定等于1.\int p(O|C)dC \\其结果并不一定等于1.

连续分布下的似然函数

刚刚我们介绍了离散分布下的似然函数,更进一步的,我们来看看连续分布下的似然函数该如何表示。

假定我们有一系列的数据D=[d1,d2,...di]D = [d_1,d_2,...d_i],且这些数据均来自于正态分布N(μ,σ2)N(\mu , \sigma^2) ,我们定义均值μ\mu 和标准差 σ\sigma都是未知参数,即我们获得了这些数据,但是我们不知道这些数据来自于怎样的分布。

我们以其中一个数据点did_i为例,并将(μ,σ)(\mu, \sigma)定义为二维参数θ\theta,那么在正态分布下 取到该数据点 did_i的可能性可以这样表示:

f(μ,σ)=p(diμ,σ)=p(diθ)=12πσ2exp((diu)22σ2) f(\mu,\sigma ) = p(d_i|\mu,\sigma) = p(d_i|\theta) = \frac{1}{\sqrt{2\pi\sigma^2}}exp(-\frac{(d_i-u)^2}{2\sigma^2})

假定不同的数据彼此独立,则在正态分布中取得这一连串数据的可能性可以写为(进行连乘):

p(d1,d2,...di)=p(d1θ)p(d2θ)...p(diθ)=i=1np(diθ)p(d_1,d_2,...d_i) = p(d_1|\theta) * p(d_2|\theta)*...p(d_i|\theta) = \prod\limits_{i=1}^{n}p(d_i|\theta)

注意,在上面这个式子中,did_i是已知的数据,θ\theta则是需要推断的

我们将L(θ)=i=1np(diθ)L(\theta) = \prod\limits_{i=1}^{n}p(d_i|\theta) 定义为基于数据D=[d1,d2,...di]D = [d_1,d_2,...d_i]的似然函数

最后更新于