转自:https://www.cnblogs.com/zongfa/p/9295455.html
在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。
概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。
在这种意义上,似然函数可以理解为条件概率的逆反。
常说的概率是指给定参数后,预测即将发生的事件的可能性。 拿硬币这个例子来说,我们已知一枚均匀硬币的正反面概率分别是0.5,要预测抛两次硬币,硬币都朝上的概率:
H代表Head,表示头朝上
p(HH | pH = 0.5) = 0.5*0.5 = 0.25
这种写法其实有点误导,后面的这个p其实是作为参数存在的,而不是一个随机变量,因此不能算作是条件概率,更靠谱的写法应该是 p(HH;p=0.5)。
而似然概率正好与这个过程相反,我们关注的量不再是事件的发生概率,而是已知发生了某些事件,我们希望知道参数应该是多少。
现在我们已经抛了两次硬币,并且知道了结果是两次头朝上,这时候,我希望知道这枚硬币抛出去正面朝上的概率为0.5的概率是多少?正面朝上的概率为0.8的概率是多少?
如果我们希望知道正面朝上概率为0.5的概率,这个东西就叫做似然函数,可以说成是对某一个参数的猜想(p=0.5)的概率,这样表示成(条件)概率就是
L(pH=0.5|HH) = P(HH|pH=0.5) = (另一种写法)P(HH;pH=0.5)
为什么可以写成这样?我觉得可以这样来想:
似然函数本身也是一种概率,我们可以把L(pH=0.5|HH)写成P(pH=0.5|HH); 而根据贝叶斯公式,P(pH=0.5|HH) = P(pH=0.5,HH)/P(HH);既然HH是已经发生的事件,理所当然P(HH) = 1,所以:
P(pH=0.5|HH) = P(pH=0.5,HH) = P(HH;pH=0.5)
右边的这个计算我们很熟悉了,就是已知头朝上概率为0.5,求抛两次都是H的概率,即0.5*0.5=0.25。
所以,我们可以safely得到:
L(pH=0.5|HH) = P(HH|pH=0.5) = 0.25.
这个0.25的意思是,在已知抛出两个正面的情况下,pH = 0.5的概率等于0.25。
再算一下
L(pH=0.6|HH) = P(HH|pH=0.6) = 0.36.
把pH从0~1的取值所得到的似然函数的曲线画出来得到这样一张图:
可以发现,pH = 1的概率是最大的。
即L(pH = 1|HH) = 1。
那么最大似然概率的问题也就好理解了。
最大似然概率,就是在已知观测的数据的前提下,找到使得似然概率最大的参数值。
这就不难理解,在data mining领域,许多求参数的方法最终都归结为最大化似然概率的问题。
回到这个硬币的例子上来,在观测到HH的情况下,pH = 1是最合理的(却未必符合真实情况,因为数据量太少的缘故)。
One more thing
说到似然,就很自然的会想到机器学习。
在机器学习中,之所以需要似然函数函数的概念,是因为我们往往是想要机器根据已有的数据(相当于X)学到相应的分布(即θ),此概念对应training阶段, 即在训练阶段, 是根据已有的X来估计其真实的数据分布服从什么样的分布θ。
而我们构建模型的目的是, 在实际中应用. 例如根据已有的有限的人脸图像和人脸关键点的标注, 使机器学习到包含人脸的图像和其关键点的对应关系的分布; 然后在实际应用中,能够检测未在数据集中出现过的人脸图像的关键点. 因此在测试阶段, 就是已知参数θ, 来估计该分布下, X应该是什么。