Dirichlet分布
引入
均匀生成20个[0,1]之间的随机数, 同时第7大和第13大的数是什么?
数学表达:
X1,X2,⋯,Xn∼iidUniform(0,1), 排序后对应的顺序统计量X(1),X(2),⋯,X(n)
问(X(k1),X(k1+k2))的联合分布是什么
推导得到Dirichlet分布
取x3满足x1+x2+x3=1, (X(k1),X(k1+k2))如下:
P(X(k1)∈(x1,x1+Δx),X(k1+k2)∈(x2,x2+Δx))=n(n−1)(k1−1,k2−1n−2)x1k1−1x2k2−1x3n−k1−k2(Δx)2=(k1−1)!(k2−1)!(n−k1−k2)!n!x1k1−1x2k2−1x3n−k1−k2(Δx)2 于是我们得到(X(k1),X(k1+k2))的联合分布是:
\begin{align*} f(x_1,x_2,x_3) & = \frac{n!}{(k_1-1)!(k_2-1)!(n-k_1-k_2)!}x_1^{k_1-1}x_2^{k_2-1}x_3^{n-k_1-k_2} \\ & = \frac{\Gamma(n+1)}{\Gamma(k_1)\Gamma(k_2)\Gamma(n-k_1-k_2+1)}x_1^{k_1-1}x_2^{k_2-1}x_3^{n-k_1-k_2} \end{align*}
上面这个分布其实就是3维形式的Dirichlet分布Dir(x1,x2,x3∣k1,k2,n−k1−k2+1), 令α1=k1,α2=k2,α3=n−k1−k2+1, 分布密度可以写为:
\begin{equation} \displaystyle f(x_1,x_2,x_3) = \frac{\Gamma(\alpha_1 + \alpha_2 + \alpha_3)} {\Gamma(\alpha_1)\Gamma(\alpha_2)\Gamma(\alpha_3)}x_1^{\alpha_1-1}x_2^{\alpha_2-1}x_3^{\alpha_3-1} \end{equation}
这就是一般形式的3维Dirichlet分布, 从形式上我们也能看出, Dirichlet分布是Beta分布在高维度上的推广, 和Beta分布一样也是一个百变星君, 密度函数可以展现出多种形态:
一般形式的Dirichlet分布定义如下:
\begin{equation} \displaystyle Dir(\overrightarrow{p}|\overrightarrow{\alpha}) = \displaystyle \frac{\Gamma(\sum_{k=1}^K\alpha_k)} {\prod_{k=1}^K\Gamma(\alpha_k)} \prod_{k=1}^K p_k^{\alpha_k-1} \end{equation}
Dirichlet-Multinomial共轭
引入
调整一下游戏, 从魔盒中生成m个随机数Y1,Y2,⋯,Ym∼iidUniform(0,1), 且知道Yi和(X(k1),X(k1+k2))相比谁大谁小, 再求上面的联合分布(后验分布).
数学表示如下:
X1,X2,⋯,Xn∼iidUniform(0,1), 排序后对应的顺序统计量X(1),X(2),⋯,X(n)
令p1=X(k1),p2=X(k1+k2),p3=1−p1−p2, 猜测p=(p1,p2,p3)
Y1,Y2,⋯,Ym∼iidUniform(0,1), Yi中落到[0,p1),[p1,p2),[p2,1]三个区间的个数分别为m=m1+m2+m3
问后验分布P(p∣Y1,Y2,⋯,Ym)的分布是什么
推导
记m=(m1,m2,m3),k=(k1,k2,n−k1−k2+1), 由游戏中的信息, 我们可以推理得到p1,p2在X1,X2,⋯,Xn,Y1,Y2,⋯,Ym∼iidUniform(0,1)这m+n个数中分别成为了第k1+m1,k2+m2大的数, 于是后验分布P(p∣Y1,Y2,⋯,Ym)应该是:
Dir(p∣k1+m1,k1+m2,n−k1−k2+1+m3)
即Dir(p∣k+m). 按照贝叶斯推理的逻辑, 同样可以把以上过程整理如下:
要猜测参数p=(p1,p2,p3), 其先验分布为Dir(p∣k)
数据Yi落到[0,p1),[p1,p2),[p2,1]三个区间的个数分别为m1,m2,m3, 服从多项分布Mult(m∣p)
在给定了来自数据提供的知识m, p的后验分布变为Dir(p∣k+m)
以上贝叶斯分析过程的简单直观的表述就是:
Dir(p∣k)+MultCount(m)=Dir(p∣k+m)
令α=k, 把α从整数集合延拓到实数集合, 更一般的可以证明有如下关系:
\begin{equation} Dir(\overrightarrow{p}|\overrightarrow{\alpha}) + MultCount(\overrightarrow{m}) = Dir(p|\overrightarrow{\alpha}+\overrightarrow{m}) \end{equation}
以上式子实际上描述的就是Dirichlet-Multinomial共轭, 从以上过程可以看到, Dirichlet 分布中的参数α可以理解为物理计数, 类似于Beta分布.
对于给定的p和N, 多项分布定义为:
\begin{equation} \displaystyle Mult(\overrightarrow{n} |\overrightarrow{p},N) = \binom{N}{\overrightarrow{n}}\prod_{k=1}^K p_k^{n_k} \end{equation}
Mult(n∣p,N)和Dir(p∣α)这两个分布是共轭关系.
Dirichlet分布性质
类似于Beta分布, 如果p∼Dir(t∣α), Dirichlet分布的期望/均值为:
\begin{equation} E(\overrightarrow{p}) = \Bigl(\frac{\alpha_1}{\sum_{i=1}^K\alpha_i},\frac{\alpha_2}{\sum_{i=1}^K\alpha_i},\cdots, \frac{\alpha_K}{\sum_{i=1}^K\alpha_i} \Bigr) \end{equation}
这个结论很重要, 例如在LDA数学推导中就需要使用到这个结论.