只有登上山顶,才能看到那边的风光。
全文字数:2771字
阅读时间:7分钟
前言
似然函数以及最大似然函数在机器学习中是一个比较重要的知识点。本文从什么是似然函数以及似然函数的定义引入最大似然函数,最后通过简单的抛硬币例子来更加具体的说明。
a
什 么 是 似 然 函 数 ?
在数理统计中,似然函数是一种关于统计模型中的参数的函数,既然是函数那自变量就是模型可能的参数值,因变量就是参数取具体值的似然性,通俗来说就是实验结果已知的情况下,参数为某个具体值的概率。在教科书中,似然常常被用作概率的同义词。但是在统计学中,二者有截然不同的用法,那在统计学中:
从上面的描述可以看出似然和概率正好的两个相反的过程。一种方便区别是概率还是似然的方法是,根据定义,"谁谁谁的概率"中谁谁谁只能是概率空间中的事件,换句话说,我们只能说,事件(发生)的概率是多少多少(因为事件具有概率结构从而刻画随机性,所以才能谈概率);而"谁谁谁的似然"中的谁谁谁只能是参数,比如说,参数等于
时的似然是多少。
下面用两个简单的例子来说明:
例1:有一个箱子,装有形状相同的黑色球和白色球共100个,其中黑色球有90个,白色球10个,现在从箱子中任取一个球,结果是黑色球的概率?
那这个很好算,根据古典概率可知黑色球的概率
。当然要注意的就是虽然结果是求黑色球发生的概率,但是没有说结果一定是黑色球,这一点需要弄清楚,概率说的其实就是接下来做实验结果是黑色球的可能性,所以实验的结果并不一定是黑色球,那黑色球可能性的值越接近于1(不能等于1,等于1就是必然事件,一定发生)说明发生的概率越大。
例2:有一个箱子,装有形状相同的黑色球和白色球100个,其中一种颜色90个,另一种颜色球10个,现在从箱子中任取一球,结果所取得的球是黑色球,箱中黑色球是90个可能性是多少?
那这个例子,可以从"结果所取得的球是黑色球"可以知道实验的结果已经确定抽取的是黑色球了,但是我们并不确定黑色球在整个箱子中有90个,他还可能是10个,因为已知条件中并没有先验知识可以告诉我们黑色球到底是90个还是10个,当然这两种情况都是有可能的。
如果没有试验的结果我们一定认为箱子中的黑球是90个还是10个可能性各占一般也就是
,这里根据最大熵,在没有任何知识的条件下,认为发生的概率一样,也就是最大熵原理。但是由于我们有了第一次抽取的实验结果,第一次抽取的结果为黑色球,那么我们更加倾向于
,因为我们可能更倾向于占比大的,认为越容发生,所以可能更倾向于黑色球数量是90个,但是这里也仅仅是倾向于,并不说黑色球一定就是90个。
其实似然和概率最主要的区别还是在于参数是不是已知。
▲似然与概率
求概率的时候确定已知了参数,所以可以通过这些参数来求将来发生结果的可能性,而求似然的时候,是已知了实验的结果,估计参数可能的概率。那么根据例二来说,就是求
以及
这两个概率。那这两个概率怎么求呢?实质上我们并没有先验知识直接求出这些概率。
b
似 然 函 数 的 定 义
为了方便我们把某个参数定义为B,事件定义为A。对于概率来说就是已知B发生,A发生的概率,那么写成"条件概率"的形式就是
,也就是
。前面说了其实似然函数就是对概率的反过程,那么也就是求
这个"条件概率",即
。
我们使用
来表示似然函数,那也就是
:
,带入上面的
得到
;
,一个似然函数乘上一个正的常数之后仍然是似然函数,因为我们并不关心取值,而是当参数变化时函数到底变小还是变大。我们由(1)可知,
,这里的
是一个常数,比如说上面的例2来说,虽然我们不知道具体的黑球的概率,但是我们知道黑球的可能值要不就是90个概率0.9,要不就是10个概率0.1,所以可以肯定
肯定是一个具体的数值,因为是概率所以一定有
,那么可以确定B一定是这些可能参数的任意一个,所以一定有
,前面说似然函数乘上一个正的常数还是似然函数,所以可以得到最终的似然函数公式,
;
这里需要注意的是:
等同(对于函数来说的等同就是定义域和值域都相同),那有人肯定会说,那这个算出来的值有意义吗?其实上面也说了,其实我们并不真正关心某个参数发生的似然,而是通过对比不同的参数取值哪一个更合理,那这里的更合理就是通过已知某个参数的情况下,实验结果发生的概率来衡量的,我们说使得实验结果发生概率大的参数,我们就认为更加"合理"。
写成
或者
。
c
最 大 似 然 函 数 估 计
其实最大似然估计是似然函数最初也是最自然的应用。上文已经提到,似然函数取得最大值表示相应的参数能够使得统计模型最为合理。从这样一个想法出发,最大似然估计的做法是:首先选取似然函数(一般是概率密度函数或概率质量函数),整理之后求最大值。实际应用中一般会取似然函数的对数作为求最大值的函数,这样求出的最大值和直接求最大值得到的结果是相同的。似然函数的最大值不一定唯一,也不一定存在。
d
例 子
考虑投掷一枚硬币的实验。通常来说,已知投出的硬币正面朝上和反面朝上的概率各自是
便可以知道投掷若干次后出现各种结果的可能性,也就是概率值。比如说,投两次都是正面朝上的概率是0.25。用"条件概率"表示,就是:
,其中H表示正面朝上。
上面说的其实就是概率的计算,那我们可以建立一个统计模型:假设硬币投出时会有
的概率朝上,有
的概率反面朝上,当然这里的
是未知的,你并不知道他是0.5还是0.6甚至是1。这个时候,"条件概率"可以改写成似然函数:
也就是说,对于取定的似然函数,在观测到两次投掷都是正面朝上时,
的似然性是0.25(这并不表示当观测到两次正面朝上时
的概率是0.25)。
如果考虑
,那么似然函数值也会改变。
,注意到似然函数的值变大了。这就说明,如果参数
的取值变成0.6的话,结果观测到连续两次正面朝上的概率要比假设
时更大。也就是说,参数
取0.6要比取成0.5更有说服力,更为"合理"。
总之,似然函数的重要性不是它的具体取值,而是当参数变化时函数到底变小还是变大。比如上面例子中的
,所以我们认为选择参数0.6比选择参数0.5更加的合理。
参考: 1. Yeung Evan:如何理解似然函数? 2. wiki似然函数~需要访问外国网站 3. 似然函数_百度百科