结果和参数相互对应的时候,似然和概率在数值上是相等的,如果用 表示环境对应的参数,
表示结果,那么概率可以表示为:
是条件概率的表示方法,
是前置条件,理解为在
的前提下,事件
发生的概率,相对应的似然可以表示为:
理解为已知结果为 ,参数为
(似然函数里
是变量,这里说的参数是相对与概率而言的)对应的概率,即:
需要说明的是两者在数值上相等,但是意义并不相同, 是关于
的函数,而
则是关于
的函数,两者从不同的角度描述一件事情。
举个例子
以伯努利分布(Bernoulli distribution,又叫做两点分布或0-1分布)为例:
也可以写成以下形式:
这里注意区分 与前面的条件概率的区别,分号后的
仅表示
依赖于
的值,
并不是
的前置条件,而只是这个概率分布的一个参数而已,也可以省略引号后的内容:
对于任意的参数 我们都可以画出伯努利分布的概率图,当
时:
我们可以得到下面的概率分布图:
从似然的角度出发,假设我们观测到的结果是 (即某一面朝上的概率是50%,这个结果可能是通过几千次几万次的试验得到的,总之我们现在知道这个结论),可以得到以下的似然函数:
对应的图是这样的:
与概率分布图不同的是,似然函数是(0, 1)内连续的函数,所以得到的图也是连续的,我们很容易看出似然函数的极值(也是最大值)在 处得到,通常不需要做图来观察极值,令似然函数的偏导数为零即可求得极值条件。
ps. 似然函数里的 描述的是硬币的性质而非事件发生的概率(比如
描述的是一枚两面均匀的硬币)。为了避免混淆,可以用其他字母来表示这个性质,如果我们用
来表示,那么似然函数就可以写成:
似然函数的最大值
似然函数的最大值意味着什么?让我们回到概率和似然的定义,概率描述的是在一定条件下某个事件发生的可能性,概率越大说明这件事情越可能会发生;而似然描述的是结果已知的情况下,该事件在不同条件下发生的可能性,似然函数的值越大说明该事件在对应的条件下发生的可能性越大。
现在再来看看之前提到的抛硬币的例子:
上面的 (硬币的性质)就是我们说的事件发生的条件, 描述的是不同的硬币,任意一面向上概率为50% 的可能性有多大,是不是有点绕?让我们来定义 A:
A = 事件的结果 = 任意一面向上概率为50%
那么 描述的就是「对于性质不同的硬币,A 事件的可能性有多大」,这么一说是不是清楚多了?在很多实际问题中,比如机器学习领域,我们更关注的是似然函数的最大值,我们需要根据已知事件来找出产生这种结果最有可能的条件,目的当然是根据这个条件去推测未知事件的概率。在这个抛硬币的事件中,
可以取
[0, 1] 内的所有值,这是由硬币的性质所决定的,显而易见的是
这种硬币最有可能产生我们观测到的结果。
对数化的似然函数
实际问题往往要比抛一次硬币复杂得多,会涉及到多个独立事件,在似然函数的表达式中通常都会出现连乘:
对多项乘积的求导往往比较复杂,但是对于多项求和的求导却要简单的多,对数函数不改变原函数的单调性和极值位置,而且根据对数函数的性质可以将乘积转换为加减式,这可以大大简化求导的过程:
在机器学习的公式推导中,经常能看到类似的转化。