背景
在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://maider.blog.sohu.com/306392863.html

Beta分布(转)的更多相关文章

  1. 二项分布和Beta分布

    原文为: 二项分布和Beta分布 二项分布和Beta分布 In [15]: %pylab inline import pylab as pl import numpy as np from scipy ...

  2. 关于Beta分布、二项分布与Dirichlet分布、多项分布的关系

    在机器学习领域中,概率模型是一个常用的利器.用它来对问题进行建模,有几点好处:1)当给定参数分布的假设空间后,可以通过很严格的数学推导,得到模型的似然分布,这样模型可以有很好的概率解释:2)可以利用现 ...

  3. Beta分布和Dirichlet分布

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

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

    http://blog.csdn.net/shuimu12345678/article/details/30773929 0-1分布: 在一次试验中,要么为0要么为1的分布,叫0-1分布. 二项分布: ...

  5. beta 分布的详细介绍(转载)

    目前看到的关于beta分布最好的一个解释,由于贴过来格式不好看,所以附上链接: http://www.datalearner.com/blog/1051505532393058

  6. Beta分布深入理解

    一些公式 Gamma函数 (1) 贝叶斯公式 (2) 贝叶斯公式计算二项分布概率 现在有一枚未知硬币,我们想要计算抛出后出现正面的概率.我们使用贝叶斯公式计算硬币出现正面的概率.硬币出现正反率的概率和 ...

  7. 伯努利分布、二项分布、Beta分布、多项分布和Dirichlet分布与他们之间的关系,以及在LDA中的应用

    在看LDA的时候,遇到的数学公式分布有些多,因此在这里总结一下思路. 一.伯努利试验.伯努利过程与伯努利分布 先说一下什么是伯努利试验: 维基百科伯努利试验中: 伯努利试验(Bernoulli tri ...

  8. 如何通俗理解贝叶斯推断与beta分布?

    有一枚硬币(不知道它是否公平),假如抛了三次,三次都是“花”: 能够说明它两面都是“花”吗? 1 贝叶斯推断 按照传统的算法,抛了三次得到三次“花”,那么“花”的概率应该是: 但是抛三次实在太少了,完 ...

  9. LDA学习之beta分布和Dirichlet分布

    ---恢复内容开始--- 今天学习LDA主题模型,看到Beta分布和Dirichlet分布一脸的茫然,这俩玩意怎么来的,再网上查阅了很多资料,当做读书笔记记下来: 先来几个名词: 共轭先验: 在贝叶斯 ...

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

    1. 二项分布与beta分布对应 2. 多项分布与狄利克雷分布对应 3. 二项分布是什么?n次bernuli试验服从 二项分布 二项分布是N次重复bernuli试验结果的分布. bernuli实验是什 ...

随机推荐

  1. Android 禁止系统进入深度休眠

    在Linux系统中,wake_lock是一直锁机制,只要有驱动占用这个锁,系统就不会进入深度休眠. 获取此锁的方法有两种: 1.在adb中通过指令获取wake_lock,系统就不会进入深度休眠 ech ...

  2. 【shell】正则表达式语法

    一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串 ...

  3. nginx在centos & ubuntu上的安装

    安装Centos 添加当前账号加入sudoers,具备sudo功能 安装编辑器vim Yum install vim Su root Cd cp /etc/sudoers /etc/sudoers[d ...

  4. 2013-7-27 802.1X学习

    最近搭了企业级加密的server 2003服务器,教程完全google,无任何自主创新.折腾了一周,总算搞定了,同时也验证了server 2003下的TLS和PEAP0加密算法是正常的. 至于搭建se ...

  5. FIO read测试结果偏离

    工作中发现一个fio问题,测试组测试出来的数据read速度一个是17.0G/s,一个是13.2G/s.要知道我后台只有24块7.2k RPM的机械硬盘啊!怎么也不可能有这样的速度. 回家之后我模拟了实 ...

  6. 运维不得不知的 Linux 性能监控、测试、优化工具

    Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的.简单的小工具.系统性能专家 Brendan D. Gregg 在 LinuxCon NA 2014 大会上 ...

  7. 学习MongoDB 二:MongoDB添加、删除、修改

    一.简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB ...

  8. linux操作系统3 vi编辑器

    知识内容: 1.Linux基础命令复习 2.vi模式和基本操作 3.vi常用快捷键 一.Linux基础命令复习 目录(文件夹)操作 cd 进入目录 (tab自动补全) pwd 查看当前目录 mkdir ...

  9. 50. linux下查看tomcat日志

    cd tomcat/logs/ tail -f catalina.out

  10. 高负载均衡学习haproxy之安装与配置

    https://www.cnblogs.com/ilanni/p/4750081.html