一直对贝叶斯里面的似然函数(likelihood function),先验几率(prior),后验几率(posterior)理解得不是很好,今天仿佛有了新的理解,记录一下。函数
看论文的时候读到这样一句话:post
原来只关注公式,因此一带而过。再从新看这个公式前的描述,细思极恐。spa
the likelihood function of the parameters θ = {w,α,β} given the observations D can be factored as..blog
两个疑问:likelihood function为何会写成条件几率的形式?given的明明是D,为何到后面的公式里,却变成了given θ 呢?事件
百度了一下,先贴上wikipedia的解释:ip
https://zh.wikipedia.org/wiki/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0get
下面整理一下本身的理解,借用wikipedia里面硬币的例子。io
常说的几率是指给定参数后,预测即将发生的事件的可能性。拿硬币这个例子来讲,咱们已知一枚均匀硬币的正反面几率分别是0.5,要预测抛两次硬币,硬币都朝上的几率:function
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的取值所获得的似然函数的曲线画出来获得这样一张图:
(来自wikipedia)
能够发现,pH = 1的几率是最大的。
即L(pH = 1|HH) = 1。
那么最大似然几率的问题也就好理解了。
最大似然几率,就是在已知观测的数据的前提下,找到使得似然几率最大的参数值。
这就不难理解,在data mining领域,许多求参数的方法最终都归结为最大化似然几率的问题。
回到这个硬币的例子上来,在观测到HH的状况下,pH = 1是最合理的(却未必符合真实状况,由于数据量太少的缘故)。
先理解这么多。