您的位置:首页 > 其它

[转]非参数Bayesian模型的学习基础

2013-04-08 08:32 92 查看

非参数Bayesian模型的学习基础  

      非参数模型中,Dirichlet process是基础。Dirichlet process是Dirichlet分布的推广,而Dirichlet 分布是Beta分布的推广。理解Dirichlet过程,先从了解Beta分布开始。Beta分布有关两个随机变量,而Dirichlet分布关于多维变量的概率分布。       抛硬币的实验中,设硬币正面的概率为p,反面的概率则为1-p。那么,连续抛n次硬币,其中k次为正面的概率服从二项分布B(n,p)。在实际的问题中,简单地处理,可以假设一枚硬币正面和反面的概率相等,即p=0.5。但若进一步考虑,由于一些特别的原因,一枚硬币正面和反面的概率可能并不相等,此时就需要估计参数p的值。一般假定参数p服从Beta分布,即用Beta分布作为参数p的先验分布。      Beta分布是定义在(0,1)区间上的连续概率分布簇,有两个正的形状参数。贝叶斯统计中,如上述的抛硬币实验中,Beta分布可视为在观察到α-1个正面和β-1个反面后,参数p的后验概率。因此,虽然预先不知道p值是多少,但利用Beta分布作为p的先验分布,则可通过观察(α+β-2)个抛硬币的实验情况,确定p的值。      类似地,可将抛硬币实验扩展到聚类分析中。设n个样本中,聚类为2个簇c1和c2,那么c1和c2的先验概率是多少呢?一样可以假定其服从Beta分布。当簇的数目超过2个时,这时就需要采用Dirichlet分布了。以Dirichlet分布Dir(α)作为簇的先验分布,其中α为向量,αi表示第i个簇中数据样本的数码。Dirichlet分布可以视为k维变量的联合分布函数,当k趋于无穷时,即得到Dirichlet过程。      Dirichlet过程的基础是stick-breaking过程。stick-breaking过程是一个构造算法,描述了如何产生(0,1)之间的离散值序列,每个值可以允许重复,而值的取值可能是无限的。若将stick-breaking中的每个离散值视为一个簇标签,则stick-breaking过程描述了无限簇标签的分布。根据stick-breaking过程,可以产生更复杂的其他Dirichlet过程。      因此,LDA模型中,其假定每个话题的出现概率是不同的,并且服从Dirichlet分布,这样就可以通过样本来估计不同话题的先验概率。而非参数Bayesian方法中,由于假定话题服从Dirichlet过程,使得话题数目不受限制,因此具有更强的适应能力。   Binomial分布:http://en.wikipedia.org/wiki/Binomial_distribution   Beta分布:http://en.wikipedia.org/wiki/Beta_distribution Dirichlet分布:http://en.wikipedia.org/wiki/Dirichlet_distribution LDA模型:http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation Dirichlet过程:http://en.wikipedia.org/wiki/Dirichlet_process       下面的文章可以作为基础: Michale I. Jordan的Bayesian Nonparametric Learning:Expressive Priors for Intelligent Systems Thomas L. riffiths, Alan Yuille的Technical Introduction: A primer on probabilistic inference   转载请注明出处:http://luowei828.blog.163.com/

转载于:https://www.cnblogs.com/saliwei/archive/2013/04/08/3006630.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: