(转)机器学习的数学基础(1)--Dirichlet分布

转http://blog.csdn.net/jwh_bupt/article/details/8841644

这一系列(机器学习的数学基础)主要包括目前学习过程中回过头复习的基础数学知识的总结。

基础知识:conjugate
priors共轭先验

共轭先验是指这样一种概率密度:它使得后验概率的密度函数与先验概率的密度函数具有相同的函数形式。它极大地简化了贝叶斯分析。

如何解释这句话。由于

P(u|D) = p(D|u)p(u)/p(D)  
(1.0式)

其中D是给定的一个样本集合,因此对其来说p(D)是一个确定的值,可以理解为一个常数。P(u|D)是后验概率----即观察到一系列样本数据后模型参数服从的概率,p(D|u)是似然概率----在给定的模型参数u下样本数据服从这一概率模型的相似程度,p(u)是u的先验概率----
在我们一无所知的情况下u的概率分布。P(u|D)的函数形式完全由p(D|u)和p(u)的乘积决定。如果p(u)的取值使p(u|D)和p(D|u)
相同的表达形式(关于u的表达形式),就称p(u)为共轭先验。一个最简单的p(u)的取值就是常数1,只不过1是p(u)的一种取值。

在了解了共轭先验的概念后,我们主要针对二项分布和多项分布找到他们的共轭先验呈现出什么样的形式,从而引出Dirichlet分布的概念。

二项分布和Beta分布:

如果随机变量x的取值只能取0或1,则称x为服从二项分布的随机变量:

    (1.1式)

其中u为p(x=1)。注意上式中x只能为0或1,因此当x为0时p=1-u,当x为1时p=u。写成上面的乘积形式是为了数学描述的方便。

如果对此二值实验重复进行N次,出现的结果将会有m次1和N-m次0。出现m次1和N-m次0的概率为

(1.2式)

又把它称为伯努利实验。给定一个数据集D={x1,x2,x3……xN},其似然函数可以写为:

 (1.3式)

现在来看这个概率模型(这是一个似然概率)。式1.2前面的括号项可以理解为一个概率的归一化系数,它与u无关。我们考虑与u有关的这个部分。为了使后验概率具有相同的数学结构,我们引入beta函数

   (1.4式)

这样得到的后验概率就具有以下形式:

  (1.5式)

其中l=N-m。可以看出1.5式和1.2式具有相同的形式,都是u和1-u的指数的乘积。因此beta分布就是二项分布的共轭先验分布,其中a和b就是beta分布的参数。

在进入到Dirichlet分布之前,我们再观察一下Beta分布。1.4式与1.2式的形式是一样的(除去前面的归一化系数不管)。而不一样的地方在于
1.2式中要求N和m都为整数,而Beta函数中的a和b可以是任意实数(其中当a为整数时г(a)=(a-1)!)。换句牛逼的总结,Beta函数将伯努利实验的概率从整数扩展到了所有实数。

先验概率取为conjugate
prior的好处在于做贝叶斯推断。以
二项分布为例,如果我们只有一个观测样本(假设样本观测值为1),那么后验概率仍然是1.4式的形式,只不过a的值更新为a+1。往后如果再有新的观测数
据,就把上一次的后验概率作为先验,乘以新数据的似然函数,就能更新到新的后验概率(传统的做法则是用先验概率乘以所有数据的似然函数得到后验概率)。这一sequential
method与传统做法得到的后验概率结果是完全一致的(注意仅仅在我们讨论的这些例子中是这样,如果先验概率不选择为conjugate
prior一般不会有这样的等效(2013.5.9note:不会有这样的等效么?再不确定))。而sequential
method的优点则在于每用于更新一次后验概率后观测样本可以不用记录下来----这对于大规模的数据下做模型训练是非常有用的。

而Dirichlet分布就是多项分布的共轭先验分布。因此要理解Dirichlet分布,先看看多项分布。

多项分布和Dirichlet分布

如果x的取值有K种情况,就称x服从多项分布。往往用维数为K的矢量来描述。矢量中仅可能一个xk取值为1,其他都为0,用来描述x取第k个值。这样其概率分布可以描述为:

其中。当对多项分布的事件进行多次,取值为1至K项的事件分别发生mk次的概率则为:

与beta分布之于二项分布一样,我们找寻多项分布的共轭先验,其共轭先验应该具有这样的形式:

归一化后的表达形式为:

这个分布就叫做Dirichlet分布,其中α是dirichlet分布的参数,μ是变量。

由于限制且0≤uk≤1,因此u1,u2……uk被限制在单纯形中(下图以k=3为例展示了这个单纯形,注意这个单纯形是一个平面,而不是那个三角体。因为使得u1,u2,u3虽然有三个参数但实际自由度为2,换句话说可以投影到u1-u2的平面上成为一个平面三角形)。

在上面这个介绍的例子中,可以将Dirichlet分布理解为概率的概率。因为u表示的是多项分布的概率,而Dir(u)表达的是u取某种值情况下的概
率,所以可以理解为概率的概率。举个经典的例子,扔骨子。很显然这是一个多项分布,骨子的呈现只可能是1-6中的一种情况。如果我们将这个事件重复
10000次,其中出现1-6的次数分别为2000,2000,2000,1500,1500,1000,那么u的取值就是
(0.2,0.2,0.2,0.15,0.15,0.1)。那么Dirichlet概率描述的就是u取值为
(0.2,0.2,0.2,0.15,0.15,0.1)的概率。

Dirichlet分布的性质

在此介绍之前再次提醒大家,Dirichlet分布的参数是α,μ才是变量。由于μ是K维的,所以Dirichlet分布是一个K维的概率函数。

Dirichlet分布的参数分为两类,一是尺度scale: ;二是基础度量base measurement:。base
measurement决定了Dirichlet分布的均值,而scale决定了方差(多维情况下是协方差矩阵):

当scale非常小的情况下,均值不变但方差很大,这时容易出现extreme
distributions。不过随着观测样本的增多,scale会逐渐变大。

当scale趋于无穷时,方差趋于0,此时概率的分布情况就会十分集中。以下图为例:

Dirichlet分布是LDA的数学基础。就看到了这。

参考资料: Bishop,《Pattern Recognition and Machine
Learning》

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

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

(转)机器学习的数学基础(1)--Dirichlet分布,布布扣,bubuko.com

时间: 2024-08-18 16:12:14

(转)机器学习的数学基础(1)--Dirichlet分布的相关文章

机器学习的数学基础(1)--Dirichlet分布

机器学习的数学基础(1)--Dirichlet分布 这一系列(机器学习的数学基础)主要包括目前学习过程中回过头复习的基础数学知识的总结. 基础知识:conjugate priors共轭先验 共轭先验是指这样一种概率密度:它使得后验概率的密度函数与先验概率的密度函数具有相同的函数形式.它极大地简化了贝叶斯分析. 如何解释这句话.由于 P(u|D) = p(D|u)p(u)/p(D)   (1.0式) 其中D是给定的一个样本集合,因此对其来说p(D)是一个确定的值,可以理解为一个常数.P(u|D)是

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

LDA-math-认识Beta/Dirichlet分布

http://cos.name/2013/01/lda-math-beta-dirichlet/#more-6953 2. 认识Beta/Dirichlet分布2.1 魔鬼的游戏—认识Beta 分布 统计学就是猜测上帝的游戏,当然我们不总是有机会猜测上帝,运气不好的时候就得揣度魔鬼的心思.有一天你被魔鬼撒旦抓走了,撒旦说:“你们人类很聪明,而我是很仁慈的,和你玩一个游戏,赢了就可以走,否则把灵魂出卖给我.游戏的规则很简单,我有一个魔盒,上面有一个按钮,你每按一下按钮,就均匀的输出一个[0,1]之

Dirichlet分布深入理解

Dirichlet分布 我们把Beta分布推广到高维的场景,就是Dirichlet分布.Dirichlet分布定义如下 Dirichlet分布与多项式分布共轭.多项式分布定义如下 共轭关系表示如下 Dirichlet-MultCount共轭理解 上述共轭关系我们可以这样理解,先验Dirichlet分布参数为α,多项式分布实验结果为m,则后验Dirichlet分布的参数为α+m.m为n维向量,表示实验中各种结果出现的次数.例如投掷骰子的试验中,m为6维向量,6个分量分别表示出现1点到6点的次数.

第二次-机器学习相关数学基础

.本周视频学习内容:https://www.bilibili.com/video/BV1Tb411H7uC?p=2 1)P2 概率论与贝叶斯先验 2)P3 矩阵和线性代数 机器学习是一门多领域交叉学科,涉及较多的数学知识,本节课知识之前都有学过,这次根据重点重新梳理一遍,一定要多加重视.通过观看视频,大家对课程的数学基础部分加深印象. 建议大家边看边做笔记,记录要点及所在时间点,以便有必要的时候回看.学习笔记也是作业的一部分. 3.作业要求: 1)贴上视频学习笔记,要求真实,不要抄袭,可以手写拍

机器学习的数学基础

一.概述 我们知道,机器学习的特点就是:以计算机为工具和平台,以数据为研究对象,以学习方法为中心:是概率论.线性代数.数值计算.信息论.最优化理论和计算机科学等多个领域的交叉学科.所以本文就先介绍一下机器学习涉及到的一些最常用的的数学知识. 二.线性代数 2-1.标量 一个标量就是一个单独的数,一般用小写的的变量名称表示. 2-2.向量 一个向量就是一列数,这些数是有序排列的.用过次序中的索引,我们可以确定每个单独的数.通常会赋予向量粗体的小写名称.当我们需要明确表示向量中的元素时,我们会将元素

机器学习之数学基础(一)-微积分,概率论和矩阵

学习python快一年了,因为之前学习python全栈时,没有记录学习笔记想回顾发现没有好的记录,目前主攻python自然语言处理方面,把每天的学习记录记录下来,以供以后查看,和交流分享.~~(.?ω?.) ~~ 这一系列主要学习和回顾机器学习的数学部分. 微积分: 一:两边夹定理 二:极限存在定理 三:两个常用的极限 四:常用函数的导数 五:泰勒公式-麦克劳林公式 六:方向导数 七:梯度的概念 八:凸函数-如x2属于凸函数 概率论: 一:基本概率公式 二:常用分布 三:Logistic函数 原

机器学习数学系列(1):机器学习与数学基础知识

目录: 机器学习基础: 机器学习的分类与一般思路 微积分基础: 泰勒公式,导数与梯度 概率与统计基础: 概率公式.常见分布.常见统计量 线性代数基础: 矩阵乘法的几何意义 这是一张非常著名的图,请仔细挖掘其信息量.以期它在整体上指引我们的学习. 1 机器学习基础 1.1 机器学习分类 有监督学习.无监督学习.半监督学习的概念自行了解一下,不再赘述,简单贴3幅图,自行比对.       1.2 机器学习的一般思路 得分函数: 损失的函数的最优化问题: (左)非凸函数               

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

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