Dirichlet Tree Distribution(狄利克雷树分布)

标签:#Dirichlet##分布##统计基础#

时间:2017/02/06 21:17:00

作者:小木

这篇博客的主要内容来自于Tom Minka的笔记——[The Dirichlet-tree distribution](https://tminka.github.io/papers/dirichlet/minka-dirtree.pdf "The Dirichlet-tree distribution")

####简介

Dirichlet分布作为多项式分布的先验已经很流行了,但是狄利克雷分布还有两个主要的限制:

1)每一个变量有自己的均值,但是它们却共享一个变量参数

2)除了限制它们的和为1外,变量之间必须相互独立。

这里介绍的Dirichlet-tree分布可以克服上述缺点但保留计算上的简洁。新的分布也可以作为多项式分布的先验。在这里,我们不再把多项式分布的样本看作是一个K面的筛子结果,我们把它看作是一个有限的随机过程的结果。如图1中的(a)所示,一个叶子节点的概率是每个树枝所有的概率乘积。图1中的b图是更一般形式的树。在Dirichlet分布中,参数是叶子节点的概率,即$[p_1 \ldots p_K]$,所以某个样本x的概率为(**注意:这里右上角$\delta(x-k)$是delta函数,又叫Dirac delta function。其值在任意范围内都是0,除了在0位置。因而这里的delta函数就表示当x取k的时候,$\delta(x-k)=1$,否则就是0,那么下式的含义就是某个点的概率就是对应的pk**):

```math

p(x|\textbf{p})=\prod_{k=1}^{K}p_{k}^{\delta(x-k)}

```

在树结构的参数下,这个概率就变成了:

```math

p(x|\textbf{B},T)=\prod_{\text{nodes} \space j}\prod_{\text{branches} \space c}b_{jc}^{\delta_{jc}(x)}

```

```math

\delta_{jc}(x)=

\begin{cases}

1 \space\space \text{if branches jc leads to x} \\

0 \space\space \text{otherwise}

\end{cases}

```

到达内部任意一个节点的概率也可以使用这样的概率表示。这个参数的共轭先验也就不再是一个Dirichlet密度而是一群Dirichlet密度的乘积,每个节点的概率为:

```math

p(\textbf{B}|\alpha) = \prod_{(\text{nodes}\space j)}p(b_j|\alpha)

```

```math

p(b_{j}|\alpha) \sim \mathscr{D}(\alpha_{jc})

```

这里的意思就是每个节点的概率就等于和它直接相连的枝branch c与这个枝上的节点j的概率乘积,如图2中的(b)所示,红色节点的概率就是等于和它直接相连的枝(概率是0.4)和那个蓝色的节点(概率是0.7)的乘积,也就是0.28。而每一个枝都是来自一个Dirichlet先验分布。因此,这里的参数是来自很多歌Dirichlet先验的乘积,而不是原来的一个Dirichlet分布了。这就体现出Dirichlet树分布的优势了,也就是每个子树都可以是用不同的先验控制。

![](http://www.datalearner.com/resources/blog_images/1e4f45ab-4b95-45c2-bdff-b35aa380f25f.png)

![](http://www.datalearner.com/resources/blog_images/b253a2db-92f9-4a44-af59-c1cd2ed35f81.png)

Dirichlet树分布是一个关于叶子概率$[p\_1,...,p\_K]$的分布,这个分布是关于树结构T和$\alpha$的函数。每个节点的概率可以通过如下的公式计算:

```math

b_{jc} = \frac{\sum_{k} \delta_{jc}(k)p_{k}}{\sum_{kc'}\delta_{jc'}(k)p_{k}}

```

也就是说$b\_{jc}$与其子树的概率质量成正比。最终我们可以得到:

```math

p(\textbf{p}|\alpha,T) = \prod_{k} p_{k}^{\alpha_{\text{parent}(k)-1}} \prod_{j} \frac{\Gamma(\sum_{c}\alpha_{jc})}{\prod_{c}\Gamma(\alpha_{jc})} (\sum_{kc}\delta_{jc}(k)p_{k})^{\beta_{j}}

```

```math

\beta_j = \alpha_{\text{parent}(j)}-\sum_{c}\alpha_{jc}

```

当j是根节点时候,$\beta\_{j}$就是0了。每个节点的Dirichlet分布既可以是尖的也可以是宽的,从而使得Dirichlet树分布控制每个$p_k$的形状。

狄利克雷分布公式_Dirichlet Tree Distribution(狄利克雷树分布)相关推荐

  1. 狄利克雷分布公式_Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)...

    Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程) Dirichlet Distribution(狄利克雷分布)与Dirichlet Pr ...

  2. 狄利克雷分布公式_Dirichlet分布及其属性

    Dirichlet分布及其属性 Dirichlet分布 在概率统计中,Dirichlet分布通常表示为,是一个以正实数的向量为参数的连续多变量概率分布族.这是Beta分布的多元推广.在贝叶斯统计中,狄 ...

  3. 狄利克雷分布公式_深入机器学习系列11-隐式狄利克雷分布

    转载请注明出处,该文章的官方来源: LDA | Teaching ML 前言 LDA是一种概率主题模型:隐式狄利克雷分布(Latent Dirichlet Allocation,简称LDA).LDA是 ...

  4. Dirichlet Distribution狄利克雷分布 / Latent Dirichlet Allocation (LDA)隐藏狄利克雷概念的理解

    目录: Dirichlet Distribution 狄利克雷分布 Bayesian Generative Models 贝叶斯生成模型 Mixture Models and the EM algor ...

  5. 狄利克雷分布公式_一文详解隐含狄利克雷分布(LDA)

    一.简介 隐含狄利克雷分布(LatentDirichletAllocation,简称LDA)是由DavidM.Blei.AndrewY.Ng.MichaelI.Jordan在2003年提出的,是一种词 ...

  6. Dirichlet distribution狄利克雷分布

    狄利克雷分布 狄利克雷分布(维基百科)是一组连续多变量概率分布,是多变量普遍化的B分布. 为了纪念德国数学家约翰·彼得·古斯塔夫·勒热纳·狄利克雷(Peter Gustav Lejeune Diric ...

  7. 狄利克雷分布公式_潜在狄利克雷分配(LDA)

    潜在狄利克雷分配(LDA) 潜在狄利克雷分配(LDA),作为基于贝叶斯学习的话题模型,是潜在语义分析.概率潜在语义分析的扩展,于2002年由Blei等提出.LDA在文本数据挖掘.图像处理.生物信息处理 ...

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

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

  9. 如何通俗理解 beta分布、汤普森采样和狄利克雷分布

    如果想理解汤普森采样算法,就必须先熟悉了解贝塔分布. 一次伯努利实验(比如扔硬币,二元变量)叫做伯努利分布(Bernoulli distribution).多次伯努利实验叫做二项式分布(Binomia ...

最新文章

  1. 人脸识别简史与近期进展
  2. 理解SQL Server中的锁
  3. ttk python_【转】Python GUI进阶(ttk)—让界面变得更美
  4. hdu 5101(二分)
  5. opencv4.5.0安装包_VB6.0软件安装包以及安装教程
  6. 51. 顺时针打印矩阵[print matrix in clockwise direction]
  7. Python学习笔记——os模块【文件、目录方法】
  8. php把这两个二维数组合并,两个二维数组的合并
  9. 在网页子文本框模拟特定的鼠标滚轮_Pyhton爬虫的另类操作,之前有碰到不能爬的网页来看看!...
  10. 14个新鲜的免费图标集
  11. mysql 最小值对应的其他属性_查询最小值对应的非group by字段
  12. C#之DotNetBar2使用方法 - superTabControl1
  13. php 项目管理 开源_5个免费项目管理工具_php
  14. win10错误代码0x0000011b怎么解决
  15. 多维向量空间中点到线的距离公式
  16. 基础的风光摄影技术控制
  17. 这些才是Win10真正好用之处:瞬对Win7无爱
  18. VS2017使用Visual Leak Detector
  19. 16083001(古墓丽影GPA)
  20. mysql fastdfs_FastDFS监控系统Fastdfs-zyc配置

热门文章

  1. JVM:Java指令源码opcode
  2. 全球及中国隐形眼镜护理液行业消费规模及投资竞争力分析报告2021-2027年
  3. android高仿今日头条,高仿今日头条App
  4. Codeforces311D. Interval Cubing 神线段树
  5. zoho邮箱收费和免费区别_集成MS Office和您的Zoho在线帐户
  6. 将服务器的EDT(美国时间)或者EST(英国时间)修改为CST(中国时间)
  7. 挂yy协议的服务器,yy协议挂机工具免费版
  8. Python爬虫教程(纯自学经历,保姆级教程)
  9. 2005年10月--至今,开发过的项目
  10. python判断手机号运营商_匹配手机号码及运营商校验