前言
这段时间先把LDA需要的数学知识先给学了一遍,本文将数学知识以及自己对其的理解梳理成这三个部分:
一些最基础概念
-
分布函数:设X是一个随机变量,x是任意实数,函数F(x)=P(X≤x)称为X的分布函数。有时也记为X~F(x)
由其定义易知有下述性质
- 单调非降性
- 有界性: ; ;
- 右连续性:
- 单调非降性
-
概率密度函数:对于一维实随机变量X,设它的累积分布函数是,如果存在可测函数,满足
则X 是一个连续型随机变量,并且是它的概率密度函数简而言之就是分布函数是概率密度函数的积分,概率密度函数是分布函数的导数
基础函数-Gamma函数
-
Gamma 函数的定义
其函数形状如下
通过分部积分可以推导出这个函数有如下的递归性质
分部积分以及推导过程如下:由于上述递归性质,函数可以当成是阶乘在实数集上的延拓
使得阶乘能在实数集上的延拓,这也是我认为Gamma函数最大的贡献另外,由Gamma函数延伸出的一个函数如下,称为 Digamma 函数
涉及求Dirichlet 分布相关的参数的极大似然估计时,往往需要使用到这个Digamma函数。与Gamma函数一样,Digamma 函数具有递归性质,如下
问题:
- 该积分式有原函数吗,不然是如何计算的?
- 由matlab计算得到那么是为什么?
-
Gamma 函数用处
上面也说了,Gamma 函数重要意义是使得阶乘能在实数集上进行延拓,那么只要是能用阶乘表示的都可以使用Gamma 函数将其延拓至实数域
例如导数。 的k阶导数如下:
其中的阶乘可以用Gamma 函数表达,表达为
这样就将导数的阶从整数延拓到实数,例如,取n=1我们可以计算 x 的 阶导数为
-
Gamma 分布
Gamma函数定义为,稍作变换可得
由于其结果等于1,于是可以取积分中的函数作为概率密度,得到一个Gamma 分布的密度函数
如果做一个变换,则
这样变换之后就得到Gamma 分布的更一般的形式
其中 α 称为 shape parameter, 主要决定了分布曲线的形状;而β 称为 rate parameter 或者inverse scale parameter (称为scale parameter),主要决定曲线有多陡
自己的一点理解:
指数分布与gamma分布息息相关,指数分布又与泊松分布密不可分。因此从泊松分布到指数分布再到gamma分布可能会稍微好理解一点
- 泊松分布:
描述单位时间内,事件具体的发生概率
P 表示概率,N表示某种函数关系,n 表示数量。例如,单位时间(假设为1分钟)经过某路口的人次为5人次的概率,就表示为,加入观察得到平均每分钟(注意此处单位相同)有10人次经过该路口,则式中的
将上式进行变换,可得到本质相同的扩展式
它描述了t个单位时间内,事件具体的发生概率。 其实本质相同,只是它将原本的单位时间(记为d)变成了新的“单位时间”
- 泊松分布→指数分布:
描述事件发生的时间间隔的概率。
其可以从泊松分布中推出。如果下次事件发生要间隔时间t,那就等同于t时间内没有事件发生,由泊松分布可得
上式是指t时间内没有事件发生的概率,那么事件在时间 t 之内发生的概率就是
这就导出了指数分布公式了
- 指数分布→gamma分布
指数分布是gamma分布当时候的情况:
指数分布描述事件发生的时间间隔的概率,那么gamma分布就是描述的是个事件都发生,需要经历多长时间
概率分布-Beta与Dirichlet分布
-
Beta分布
-
从一个例子导出beta分布
问:机器产生10个符合均匀分布的[0,1]之间的随机数,求这10个数里面第7小的数(记为)最有可能是多少?
很明显,这个数有可能是0~1上的任意一个数,但是它出现在数轴的不同地方的可能性是不同的。就简单这么想,如果,那么那6个比它小的数就分布在0~0.01之间,显然很难出现这样的情况。如果 也是同理。
我们很可能会认为应该是在0.7左右比较合理,因为我们认为这样的话出现题目中的情况的可能性最大。 这就和似然函数的定义很像,由已知某些观测所得到的结果,对有关事物的性质的参数进行估计
于是我们现在只需要找出在0~1上的概率分布,取密度函数的峰值对应的x值就是最有可能的数字了。
我们先考虑如下一个符合上述要求的事件e:
这样的话,可以求得P(e):
这里的e是有考虑顺序的,下面再考虑一个事件E:
这时候由组合数定理可得
考虑n 个数中有两个数落在了区间的情况
这时,,结果是的高阶无穷小因此
由此可求X(k)的概率密度函数
取,得到
终于,导出了一般意义上的 Beta 分布。
说说我对beta分布的理解
beta函数表达的是概率的概率分布,例如知道总共N次的抛硬币实验中,正面k次,反面N-k次,那么根据这些数据(知识)就能计算出在[0,1]上的取值的概率,假如就表示为0.5的概率为0.8,这样的分布就是上面推导出来的beta分布。对于这个例子, 。
为什么?
因为上述的10个随机数的例子完全可以转化成与抛硬币相同的一个二元问题:产生9个随机数(待会解释为什么是9),有6个随机数属于A集合,有3个随机数属于A的补集(),求随机数属于A集合的概率最可能是多少。 能这样转化的原因是原题中的第7小的数(记为)是分界点,它将数据分成了小于它的数(6个),以及大于它的数(3个),这样的话,的取值就等同于 。也就是说,上面求出的的概率分布,就是的概率分布,这也就是为什么beta分布是概率的概率分布的原因
-
Beta-Binomial 共轭
我们知道,贝叶斯参数估计的基本过程是 先验分布 + 数据的知识 = 后验分布,Beta-Binomial 共轭表明的是这么一个共轭性质
也就是说,一个beta分布当新增了符合Binomial分布的实验数据之后,其更新得到的分布仍然是Beta分布。
对共轭性质的理解
上一节讨论过,一个正面次数为k,反面次数为N-k的抛硬币实验,其正面的概率的概率分布符合beta分布,其参数为 。
对于这个实验,如果再继续做M次实验,M次中有u次为正,明显的,这样的实验符合二项分布
那么,有了新的这些实验数据之后,原来的k次正面就变成了k+u次正面,而N-k的反面次数变成了N+M-k-u次。 明显更新后的数据得出的的概率分布仍然符合概率分布,只是其参数发生变化 ,
所以,二项分布的数据只是使得原来的beta分布变成了新的beta分布,共轭的更准确的公式表达是:
因此,对于一个beta分布可以写成这样的后验分布:
这个等式的理解是,就等同于均匀分布,也就是说这里的先验分布是,这个很容易理解,因为没有任何的正面还是反面的数据,因此在[0,1]上的取值的可能性是完全一样的。 这时候添加“次正面 次反面”的数据,就得到了后验分布 下图是beta分布在不同参数下的分布曲线
-
-
Dirichlet分布
-
随机数的例子导出Dirichlet分布公式
将之前的随机数的问题变成这样的问题:产生20个随机数(0到1之间的),猜排序后的第7和第13个的数最可能是什么。
找的思路和上面其实是一样的,设第7个数为,第13个数为,那么求出概率分布,取概率最大的点就是最有可能的取值点了。不过这里的概率分布要求的是和在[0,1]上的联合概率分布,即
上面的问题泛化为求这么一个事件E
该事件如下图所示
仿照beta分布的推导,我们对该事件进行推导
这样就得到联合概率
令,上式子变成
这就是三维的Dirichlet分布,更一般的形式容易归纳如下:- 说说我对Dirichlet分布的理解
我认为Dirichlet分布其实就是beta分布在更高维度上的扩展而已。因此,可以完全类比beta分布的理解。
对于beta分布而言,它是二项分布中的成功的概率的概率分布,那么对于Dirichlet分布而言,它是多项分布中的多个概率的联合概率分布。
在beta分布的理解中我举的例子是抛硬币,那么对于这里的多项分布而言,一个很自然的例子就是抛骰子,为了理解方便,这里简化成三面的骰子(三个面记为a,b,c)。这个骰子抛出N次,a面朝上的有A次,b面朝上的有B次(很显然的,c面朝上的是N-A-B次),由这些试验结果就可以得到联合概率在[0,1]上的取值的概率。若用颜色深浅表示概率的大小,三个轴分别表示a,b,c的概率,那么下图就是分别由不同的初始化得到不同的Dirichlet 分布,红颜色代表概率密度较大,蓝颜色的区域概率密度较小
同时注意到,因此原本的3+1=4维的概率分布函数就可以映射到三维的空间上(),其中具有相互约束,约束条件为。降低维度之后,得到的就是《数学八卦》中的分布图了
疑问:映射到三维空间后,其x-y平面上的覆盖范围应该是一个直角三角形,直角位于(0,0,0),为什么上图画出来并不是直角三角形
- Dirichlet-Multinomial 共轭
Dirichlet-Multinomial共轭表明的是这么一个共轭性质
也就是说,一个Dirichlet分布当新增了符合Multinomial分布的实验数据之后,其更新得到的分布仍然是Dirichlet分布。
对共轭性质的理解
上一节讨论过,一个a面次数为,b面次数为,c面次数为的抛三面骰子实验,其a面和b面的联合概率的概率分布符合Dirichlet分布,其参数为
对于这个实验,如果再继续做M次实验,M次中有次为a面,有次为b面,当然,c面是,明显的,这样的实验符合多项分布 有了新的这些实验数据之后,原来的次a面就变成了次正面,而的b面次数变成了次。 明显更新后的数据得出的联合概率的概率分布仍然符合Dirichlet分布,只是其参数发生变化
所以,新增加的多项分布的数据只是使得原来的Dirichlet分布变成了新的Dirichlet分布,共轭的更准确的公式表达是:
因此,对于一个Dirichlet分布可以写成这样的后验分布:
这个等式的理解是,就因为是没有任何实验时的分布,因此等同于均匀分布,也就是说这里的先验分布是,这个很容易理解,因为没有任何的实验数据,因此在[0,1]上的取值的可能性是完全一样的。 这时候添加“次a面, 次b面, 次c面”的数据,就得到了后验分布
-