Beta分布(转)

背景

在Machine Learning中,有一个很常见的概率分布叫做Beta Distribution:

同时,你可能也见过Dirichelet Distribution:

那么Beta Distribution和Dirichlet Distribution的意义何在呢?

解释

1. 如果给你一个硬币,投这个硬币有\theta的概率抛出Head,有(1-\theta)的概率抛出Tail。如果在未来抛了五次这个硬币,有三次是Head,有两次是Tail,这个\theta最有可能是多少呢?如果你必须给出一个确定的值,并且你完全根据目前观测的结果来估计\theta,那么\theta = 3/5。

2. 如果未来抛出五次硬币,全部都是Head。那么按照1中的逻辑,你将估计\theta为1。也就是说,你估计这枚硬币不管怎么投,都朝上!

3. 可是,你想这或许是巧合:世界上没有这么屌的硬币,硬币还是有一定可能抛出Tail的。就算观测到再多次的Head,抛出Tail的概率还是不可能为0。

4. 这时候,Bayesian公式横空出世(如下图所示)。我们在估计\theta时,心中先有一个估计,即先验概率。这个估计,表现在Probability中,就是一个概率分布。通俗得来讲,我们不再认为\theta是个固定的值了。

5. 在上面的Bayesian公式中,p(\theta)就是个概率分布。这个概率分布可以是任何概率分布,比如高斯分布,比如我们想要说的Beta Distribution。下图是Beta(5,2)的概率分布图。如果我们将这个概率分布作为p(\theta),那么我们在还未抛硬币前,便认为\theta很可能接近于0.8,而不大可能是个很小的值或是一个很大的值。即,我们在抛硬币前,便估计这枚硬币更可能有0.8的概率抛出正面。

6. 虽然p(\theta)可以是任何种类的概率分布,但是如果使用Beta Distribution,会让之后的计算更加方便。我们接着继续看便知道这是为什么了。况且,通过调节Beta Distribution中的a和b,你可以让这个概率分布变成各种你想要的形状!Beta Distribution已经很足够表达你事先对\theta的估计了。

7. 现在我们已经估计好了p(\theta)为一个Beta Distribution,那么p(X|\theta)是多少呢?其实就是个二项分布。继续以1中抛5次硬币抛出3次Head为例,X=抛5次硬币抛出3个Head的事件。

8. Bayesian公式下的p(X)是个Normalizer,或者叫做marginal probability。在\theta离散的情况下,p(X)就是\theta为不同值的时候,p(X|\theta)的求和。比如,如果我们事先估计硬币抛出正面的概率只可能是0.5或者0.8,那么p(X) = p(X|\theta=0.5)+p(X|\theta=0.8),计算时分别将\theta=0.5和\theta=0.8代入到7中的公式中。而如果我们用Beta Distribution,\theta的概率分布在[0,1]之间是连续的,所以要用积分。

9. p(\theta)是个Beta Distribution,那么在观测到X=抛5次硬币中有3个head的事件后,p(\theta|X)依旧是个Beta Distribution!只是这个概率分布的形状因为观测的事件而发生了变化。

10. 因为观测前后,对\theta估计的概率分布均为Beta Distribution,这就是为什么使用Beta Distribution方便我们计算的原因了。当我们得知p(\theta|X)=Beta(\theta|a+3, b+2)后,我们就只要根据Beta Distribution的特性,得出\theta最有可能等于多少了。(即\theta等于多少时,观测后得到的Beta distribution有最大的概率密度)。

例如下图,仔细观察新得到的Beta Distribution,和(5)中的概率分布对比,发现峰值从0.8左右的位置移向了0.7左右的位置。这是因为新观测到的数据中,5次有3次是head(60%),这让我们觉得,\theta没有0.8那么高。但由于我们之前觉得\theta有0.8那么高,我们觉得抛出head的概率肯定又要比60%高一些!这就是Bayesian方法和普通的统计方法不同的地方。我们结合自己的先验概率观测结果来给出预测。

11. 如果我们投的不是硬币,而是一个多面体(比如筛子),那么我们就要使用Dirichlet Distribution了。使用Dirichlet Distributio的目的,也是为了让观测后得到的posterior probability依旧是Dirichlet Distribution。

12. 比如,我们抛掷一个三面体。抛出这三个面的概率分别为\theta_1, \theta_2和\theta_3。不论\theta_1, \theta_2和\theta_3如何分布,它们相加必须等于1。那它们的概率分布,是在一个立体的空间里的一个面。这个面由\theta_1+\theta_2+\theta_3=1表示。这个面上的任意一点,表示某种\theta_1, \theta_2和\theta_3组合的概率密度。下三图分别由不同的\alpha vector初始化得到不同的Dirichlet Distribution,红颜色代表概率密度较大,蓝颜色的区域概率密度较小。

13. Dirichlet Distribution和Beta Distribution都叫做Conjugate Prior。根据你的likelihood function,你可以选择对应的conjugate prior作为你对p(\theta)事先的估计。

参考资料:

http://lesswrong.com/lw/5sn/the_joys_of_conjugate_priors/

http://web.stanford.edu/~jhuang11/research/dirichlet/dirichlet.pdf

http://www.cs.cmu.edu/~epxing/Class/10701-08s/recitation/dirichlet.pdf

http://www.roma1.infn.it/~dagos/rpp/node31.html

转自:http://maider.blog.sohu.com/306392863.html

时间: 2024-12-24 17:04:41

Beta分布(转)的相关文章

Beta分布和Dirichlet分布

在<Gamma函数是如何被发现的?>里证明了\begin{align*} B(m, n) = \int_0^1 x^{m-1} (1-x)^{n-1} \text{d} x = \frac{\Gamma (m) \Gamma (n)}{\Gamma (m+n)} \end{align*}于是令\begin{align*} f_{m,n}(x) = \begin{cases} \frac{x^{m-1} (1-x)^{n-1}}{B(m, n)} = \frac{\Gamma (m+n)}{\G

二项分布 多项分布 伽马函数 Beta分布

http://blog.csdn.net/shuimu12345678/article/details/30773929 0-1分布: 在一次试验中,要么为0要么为1的分布,叫0-1分布. 二项分布: 做n次伯努利实验,每次实验为1的概率为p,实验为0的概率为1-p;有k次为1,n-k次为0的概率,就是二项分布B(n,p,k). 二项分布计算: B(n,p,k) = 换一种表达方式,做n次伯努利实验,每次实验为1的概率是p1, 实验为0的概率是p2,有p1+p2=1:问x1次为实验为1,x2次实

二项分布 , 多项分布, 以及与之对应的beta分布和狄利克雷分布

1. 二项分布与beta分布对应 2. 多项分布与狄利克雷分布对应 3. 二项分布是什么?n次bernuli试验服从 二项分布 二项分布是N次重复bernuli试验结果的分布. bernuli实验是什么?做一次抛硬币实验,该试验结果只有2种情况,x= 1, 表示正面. x=0,表示反面. bernuli(x|p) = p^x*(1-p)^(1-x).如果了n次, 我们只要数一下正面的次数n_x,即可得到反面的次数n-n_x. n次重复的nernuli试验: n-bernuli(n_x|N,p)

Beta分布从入门到精通

最近一直有点小忙,但是不知道在瞎忙什么,终于有时间把Beta分布的整理弄完. 下面的内容,夹杂着英文和中文,呵呵- Beta Distribution Beta Distribution Definition: The Beta distribution is a special case of the Dirichlet distribution, and is related to the Gamma distribution. It has the probability distribu

(转)Gamma分布,Beta分布,Multinomial多项式分布,Dirichlet狄利克雷分布

1. Gamma函数 首先我们可以看一下Gamma函数的定义: Gamma的重要性质包括下面几条: 1. 递推公式: 2. 对于正整数n, 有 因此可以说Gamma函数是阶乘的推广. 3.  4.  关于递推公式,可以用分部积分完成证明: 2. Beta函数 B函数,又称为Beta函数或者第一类欧拉积分,是一个特殊的函数,定义如下: B函数具有如下性质: 3. Beta分布 在介绍贝塔分布(Beta distribution)之前,需要先明确一下先验概率.后验概率.似然函数以及共轭分布的概念.

二元变量(伯努利分布、二项式分布以及Beta分布)

概率分布(一) 参数分布 取这个名字是因为少量的参数可以控制整个概率分布.如高斯分布,我们只需要控制其期望和方差就可以得到一个特定的概率分布. 频率学家的观点:通过最优化某些准则(如似然函数)来确定参数的具体值. 贝叶斯观点:给定观察数据,先引入参数的先验分布,然后用贝叶斯定理计算对应的后验概率分布.共轭先验(conjugate prior)使后验概率的分布函数形式与先验概率相同,极大的简化了贝叶斯分析. 参数方法与非参数方法 参数方法是假定分布为某一个具体的函数形式,然后估计其参数.非参数方法

伯努利分布、二项分布、多项分布、Beta分布、Dirichlet分布

1. 伯努利分布 伯努利分布(Bernoulli distribution)又名两点分布或0-1分布,介绍伯努利分布前首先需要引入伯努利试验(Bernoulli trial). 伯努利试验是只有两种可能结果的单次随机试验,即对于一个随机变量X而言: 伯努利试验都可以表达为“是或否”的问题.例如,抛一次硬币是正面向上吗?刚出生的小孩是个女孩吗?等等 如果试验E是一个伯努利试验,将E独立重复地进行n次,则称这一串重复的独立试验为n重伯努利试验.进行一次伯努利试验,成功(X=1)概率为p(0<=p<

beta分布 java代码

public class BetaDistributionActivity { /** * @param alpha: eg. click * @param beta : eg. pv - click */ public static double BetaDist(double alpha, double beta) { double a = alpha + beta; double b = Math.sqrt((a - 2) / (2 * alpha * beta - a)); if (Ma

计算beta分布并画图(2)

import java.awt.Font; import java.awt.GridLayout; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import javax.swing.JFrame; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfre