最近在看LDA,里面经常会提及先验概率、后验概率以及似然估计,而且也经常会遇到贝叶斯等等,今天就来仔细总结一下各种概念。

概率分布

事件的概率是指一次实验中某一个结果发生的可能性大小,但是要想全面的了解试验,则必须知道试验的全部可能性以及各种可能性发生的概率,这个全部可能结果的概率就叫做概率分布(Probability Distribution)。

三个概念

隔壁小哥要去15公里外的一个公园,他可以选择步行走路骑自行车或者开辆车,然后通过其中一种方式花了一段时间到达公园。首先在这个事里边,大家不要关注隔壁小哥去干嘛,也许去送外卖吧:) 。言归正传,这件事中采用哪种交通方式是因花了多长时间是果最重要的就是在解决问题之前首先确定哪个是因哪个是果,这样才能进一步的确定那三个概念。(注:在公式中我们使用θ\theta表示因,xx表示果)

先验概率(由历史求因)

首先我们先不考虑小哥最终的结果,我们假设小哥还没有去而且比较了解小哥的生活习惯

  • 小哥比较爱健身,所以我们推测小哥更倾向于选择步行;
  • 小哥比较爱骑自行车,所以我们推测小哥更可能选择骑自行车;
  • 小哥很懒,所以我们推测小哥可能会选择坐车去。

我们可以看出来先验概率是不考虑我们的结果的,因为这件事情还没有发生而且小哥选择什么交通工具是与时间无关的,也就是因和果之间没有任何约束,约束的是我们从历史中建立的经验得来(或者说观测以往的数据中总结出来的),这个在公式中也可以发现(后验概率和似然估计都是一个条件概率)。

在这个例子中公式为P()P(交通方式),一般化为P()P(因),正则化为P(θ)P(\theta)

后验概率(知果求因)

我们假设已经知道了小哥已经花了1个小时到了公园,需要你猜测小哥是选择了那个交通工具出行的,根据时间我们可以猜测:

  • 他是使用自行车方式出行的;
  • 当然也不排除是开车但是在路上遇上了堵车;
  • 当然还有可能是他飞快的跑到了公园。

这个问题我们是在知道了结果的前提下猜测原因,这个被称为后验概率。

在这个例子中公式为P()P(交通方式|花费时间),一般化为P()P(因|果),正则化为P(θx)P(\theta|x)

似然估计(知因求果)

我们假设小哥选择开车去公园,需要猜测小哥一共在路上用了多少时间,那么我们可以猜测:

  • 他在路上一切正常他30分钟就可到达公园;
  • 他在路上堵了一会1个小时才到;
  • 他在路上堵了非常久3个小时才到。

在这个问题下我们是先选定了一个假设(开车),随后根据这个假设猜测结果,这个称为似然估计。

在这个例子中公式为P()P(花费时间|交通方式),一般化为P()P(果|因),正则化为P(xθ)P(x|\theta)

贝叶斯公式

P(AB)=P(BA)×P(A)P(B)P(A|B) = \frac{P(B|A) \times P(A)}{P(B)}是比较普通的贝叶斯公式,我们把A变为因(θ\theta),把B变为果(xx),公式变为P(θx)=P(xθ)×P(θ)P(x)P(\theta|x) = \frac{P(x|\theta) \times P(\theta)}{P(x)},进一步可以变为=×evidence后验概率 = \frac{似然估计 \times 先验概率}{evidence}

注:P(x)P(x)或者evidenceevidence是指只看结果的概率分布,称为样本发生的概率分布的证据

解释【贝叶斯估计】的意义:小哥在公园里玩飞镖,附近有个陌生人说他是一个专业的飞镖玩家,假设你现在是小哥,你可能最开始会假设这家伙在开玩笑忽悠我吧。  首先你对这个人几乎什么都不了解,但遇到一个真正的专业飞镖玩家的概率是很小的。 因为澳大利亚的专业飞镖玩家也不过大约15个。  如果这个陌生人为了证明自己,开始扔飞镖并且第一次正中靶心,但这个数据可能还是不能令你非常信服,因为你觉得这可能只是运气。  但如果这个人连续十次都正中靶心,多个观测样本让你会倾向于接受他的专业说法。  在这件事当中,你对【陌生人是专业玩家】的先验置信度就被累积的实验数据所覆盖而增强变大,贝叶斯定理起作用了。

最大后验估计、最大似然估计

给定一些数据样本 xx,假定我们知道样本是从某一种分布中随机取出的,但我们不知道这个分布具体的参数θ\theta,这里我们可以把数据样本看做果,参数看做因。

最大似然估计

最大似然估计(ML,Maximum Likelihood)可以估计模型的参数,其目标在于找出一组参数θ\theta使得模型产出的观测数据xx的概率最大,其公式为argmaxP(xθ)argmaxP(x|\theta)

举个例子我们假设在抛硬币,得到的数据(x0x_0)是:反正正正正反正正正反。我们想求的正面概率θ\theta是模型参数,而抛硬币模型我们可以假设是二项分布,那个对于x0x_0的似然函数是f(x0,θ)=(1θ)×θ×θ×θ×θ×(1θ)×θ×θ×θ×(1θ)=θ7×(1θ)3f(x_0, \theta) = (1−\theta) \times \theta \times \theta \times \theta \times \theta \times (1−\theta) \times \theta \times \theta \times \theta \times (1−\theta) = \theta^7 \times (1 - \theta)^3,我们画出这个图线:

我们可以看到在θ=0.7\theta = 0.7的时候似然函数取得最大值,即抛10次硬币,发现7次硬币正面向上,最大似然估计认为正面向上的概率是0.7。但是很显然这并不符合我们的常识,因此就出现了最大后验估计。

最大后验估计

MAP其实公式为argmaxP(θx)=argmaxP(xθ)×P(θ)P(x)argmaxP(\theta|x) = argmax\frac{P(x|\theta) \times P(\theta)}{P(x)},也就是在最大化P(xθ)×P(θ)P(x|\theta) \times P(\theta),求得的θ\theta不单单让似然函数大,θ\theta自己出现的先验概率也得大,这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法。具体参阅[REFERENCES: 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解]。

REFERENCES