一直在用LDA,但是一直不太理解其中Dirichlet抽样是个什么样的东西,于是画了一些时间好好好看了看关于dirichlet的理解。感觉还挺有收货,这里先总结一些资料的出处,希望对大家有帮助:

http://cos.name/2013/01/lda-math-gamma-function/

这个讲解讲的比较详细,从最基础的gamma函数开始,然后从Beta分布扩展到了Dirichlet的分布。

http://videolectures.net/mlss07_teh_dp/

这里是美国教授的授课视频,详细讲了Dirichlet的分布及其过程。讲的很好,网址上有PPT的下载,对应的matlab的下载需要去搜索作者的主页

主页上有源代码的下载地址,如果找不到,请留言。我可以发邮件给各位(因为我也突然找不到地址了)

其他的几个网页:

http://hi.baidu.com/zentopus/item/46a622f5ef13e4c5a835a28e

http://www.xperseverance.net/blogs/2012/03/516/

主要就是这么几个了,其他的大部分其实都是转载这几个作者的东西。

然后我来说说自己的一些理解:

Dirichlet分布其实就是一个概率分布,他在性质上跟二项分布,Beta分布其实没有什么区别,都是概率分布。但是他有具有一些特殊的性质。

例如它的线型是不定的。就像Beta一样,Beta分布会会根据参数的变化而发生变化。dirichlet也是一样的。他和beta分布最大的不同是,beta分布是在二维空间上。

而dirichlet是beta的一个扩展,他是在一个多维空间上的分布。这就可以得到dirichlet的一个用处了,因为他的线型是不定的,不同的参数会得到不同的结果

因此我们可以利用dirichlet进行曲线拟合,例如水文观测,地震数据等的数据拟合中。

其次因为参数的变化对dirichlet分布有较大的影响,因此当我们通过dirichlet分布去采集样本的时候,大部分情况我们会得到概率比较大的那部分的数据。

因此dirichlet分布同意可以作为一个分类器其使用。例如典型的LDA。

同样,因为dirichlet的先验分布的特性,大部分工作会利用dirichlet去进行参数估计。也就是机器学习上面。

例如我们有了观测样本x和结果y,需要去建立一个函数f,使得y=f(x)。

那么如何得到这个函数f的参数呢?我们需要去假设参数,然后通过dirichlet的分布去采用并估算结果。修改参数,知道参数稳定在一定范围内。

这个过程具体可以看上面说提到的PPT。里面有详细的讲解。

大家再看dirichlet的时候,总是会听到中餐馆拉,steak-breaking等的词,这是什么东西?

我刚开始一直没办法理解,感觉这个东西跟dirichlet好像没什么关系,公式也不一样。

其实,很容易,我们在学习二项分布的时候,提到了抛硬币,中餐馆其实跟这个类似,

就是举了一个例子,来告诉我们dirichlet分布的来源。之所以感觉这些公式跟原始的dirichlet不一样。是因为他是dirichlet的一个实例化。

他的参数更具体,而让大家觉的陌生。大家理解为他是dirichlet的一个例子,然后再去看就会有感觉了。

Dirichlet 理解相关推荐

  1. 机器学习知识点(二十八)Beta分布和Dirichlet分布理解

    1.二者关系: Dirichlet分布是Beta分布的多元推广.Beta分布是二项式分布的共轭分布,Dirichlet分布是多项式分布的共轭分布. 通常情况下,我们说的分布都是关于某个参数的函数,把对 ...

  2. 深度学习核心技术精讲100篇(二十一)-深入理解Dirichlet分布及过程

    前言 Dirichlet分布(Dirichelt Distribution)和Dirichlet过程 (Dirichlet Process)广泛应用于信息检索.自然语言处理等领域,是理解主题模型的重要 ...

  3. LDA: 从头到尾彻底理解LDA (Latent Dirichlet Allocation)

    小记: 很长一段时间没有更新博客了,因为工作比较忙,也没有回答一些朋友的问题, 非常抱歉. 这篇LDA的总结已经写好了有三个多月, 一直没有时间发到CSDN上, 今天周末, 本来打算在很火爆的国内MO ...

  4. 如何理解dirichlet distribution

    要想易懂地理解dirichlet distribution,首先先得知道它的特殊版本beta distribution干了什么.而要理解beta distribution有什么用,还得了解Bernou ...

  5. 超详细理解Gamma分布,Beta分布,多项式分布,Dirichlet狄利克雷分布

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 1.Gamma函数 首先我们可以看一下 ...

  6. 狄利克雷过程(dirichlet process )的五种理解

    狄利克雷过程(dirichlet process )是目前变参数学习(non parameter)非常流行的一个理论,很多的工作都是基于这个理论来进行的,如HDP(hierarchical diric ...

  7. Dirichlet分布的推导与理解

    1.概述 Dirichlet 分布与贝塔分布.伽马分布有着紧密的联系,在贝叶斯统计中经常被用作其它概率分布如多项分布的先验分布,且在LDA分析中得到了广泛应用,本文结合直观理解以及详细的数学推导得到狄 ...

  8. 【LDA学习系列】Latent Dirichlet Allocation主题模型理解

    LDA关键理解两点:1)Dirichret分布(理解共轭性):2)Gibbs采样. 个人觉得博客:https://blog.csdn.net/aws3217150/article/details/53 ...

  9. 我对隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)的理解

    LDA应用场景 可以做文本内容提取,比如提取"穆斯林的葬礼"的主题,可能会提取出爱情主题,社会悲剧主题,比如提取"大圣归来影评"的主题,可能提取出怀旧主题,制作 ...

最新文章

  1. 盘丝洞服务器维护,斗战神哪些区合区了_斗战神合区后名字重复怎么办_快吧游戏...
  2. 交换代数笔记1|Atiyah,Chpt.1
  3. python 发邮件-带附件-文本-html
  4. android问题记录
  5. [云炬创业基础笔记]第一章创业环境测试6
  6. 串口发送通信---UART发送---STM32F4实现
  7. [转]DPM2012系列之十八:如何保护工作组计算机
  8. Shell:Lite OS在线调试工具知多少
  9. WebWork配置文件详解
  10. 《ES6标准入门》学习笔记
  11. 拓端tecdat|Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
  12. java代码获取系统时间相差8小时
  13. 不同网段windows远程linux桌面,实现不同网段pc机及交换机互通
  14. 如何把UCF101数据集分成训练集和测试集
  15. 信息系统项目管理师论文写作技巧
  16. php 实现网站克隆,自己写的php curl库实现整站克隆功能
  17. 文件的文件名翻译重命名技巧操作
  18. redis1.2.6 sds.c
  19. 安卓期末大作业——校园二手街APP设计和实现
  20. (大白话版)子网划分、进制换算

热门文章

  1. SpringBoot集成ActiveMQ
  2. activemq 自启动
  3. 找工作就像找对象,愿程序员不再孤单
  4. VS Code #include <bits/stdc++.h> 错误
  5. 首次!中控技术先进控制系统成功应用于R125装置
  6. 隐马尔可夫模型HMM+维特比算法(Viterbi Algorithm)进行词性标注代码实现(自然语言处理课程第二次作业)
  7. Web 页面录屏实现
  8. 苹果发家秘决:滚雪球
  9. java获取 手机GPRS
  10. JDBC 连接数据库的步骤