【机器学习前置知识】狄利克雷分布

在阅读本文前,建议先食用以下几篇文章以能更好地理解狄利克雷分布:

二项分布

Beta分布

多项分布

共轭分布

狄利克雷分布

狄利克雷分布(Dirichlet distribution)是Beta分布的扩展,把Beta分布从二元扩展到多元形式就是狄利克雷分布,Beta分布是狄利克雷分布的二元特例。

在共轭方面,可以类比Beta分布与二项分布的关系,狄利克雷分布是多项分布的共轭分布,因此狄利克雷分布常作为多项分布的先验分布使用,它是多项分布似然的共轭先验。

狄利克雷分布本质上是多元连续型随机变量的概率密度分布,假设多元随机变量 θ = ( θ 1 , θ 2 , . . . , θ k ) θ=(θ_1,θ_2,...,θ_k) θ=(θ1,θ2,...,θk) 服从参数 α = ( α 1 , α 2 , . . . , α k ) \alpha=(\alpha _1,\alpha _2,...,\alpha _k) α=(α1,α2,...,αk) 的狄利克雷分布,记作 θ ∽ D i r ( α ) θ \backsim Dir(\alpha) θ∽Dir(α) ,则概率密度函数可表示为:

p ( θ ∣ α ) = Γ ( ∑ i = 1 k α i ) ∏ i = 1 k Γ ( α i ) ∏ i = 1 k θ i α i − 1 = 1 B ( α ) ∏ i = 1 k θ i α i − 1 ( 1 ) p(θ|\alpha)={\Gamma(\sum_{i=1}^k{\alpha i})\over{\prod{i_=1}^k\Gamma(\alpha i)}}\prod{i=1}^k θ_i^{\alpha_{i-1}}={1\over{B(\alpha)}}\prod_{i=1}^k θ_i^{\alpha_{i-1}} \ \ \ \ \ (1) p(θ∣α)=∏i=1kΓ(αi)Γ(∑i=1kαi)∏i=1kθiαi−1=B(α)1∏i=1kθiαi−1 (1)

其中, ∑ i = 1 k θ i = 1 \sum_{i=1}^kθ_i=1 ∑i=1kθi=1 , θ i ≥ 0 θ_i \geq 0 θi≥0 , α i > 0 \alpha_i > 0 αi>0

初识者对式 ( 1 ) (1) (1) 可能不明就里,我们来对它做个通俗的解释。

在二项分布和Beta分布中我们曾以抛硬币举例,因为他们只涉及到二元变量,硬币的正反面就可以表示。

在多项分布里面用的是骰子举例,狄利克雷分布也同样可以效仿之。

假设有个生产骰子的工厂,这个工厂技术精湛且先进,不仅能造出一般的质地均匀的六面骰子,甚至可以造出任意质地任意多个面的骰子,这里质地均匀指的是骰子掷出每个面的概率相同,任意质地指掷出每个面的概率不同(但和为1)。在此背景下,狄利克雷分布中的 k k k 元随机变量 θ = ( θ 1 , θ 2 , . . . , θ k ) θ=(θ_1,θ_2,...,θ_k) θ=(θ1,θ2,...,θk) 可以看作掷一枚这个工厂生产的具有 k k k 个面的骰子时, 每个面出现的概率;参数 α = ( α 1 , α 2 , . . . , α k ) \alpha=(\alpha _1,\alpha 2,...,\alpha k) α=(α1,α2,...,αk) 可以看作掷 n n n 次骰子中, k k k 个面中每个面出现的次数,并且满足 ∑ i = 1 k θ i = 1 \sum{i=1}^kθ_i=1 ∑i=1kθi=1 , ∑ i = 1 k α i = n \sum{i=1}^k\alpha_i=n ∑i=1kαi=n 。

因为 θ θ θ 满足 ∑ i = 1 k θ i = 1 \sum_{i=1}^kθ_i=1 ∑i=1kθi=1 , θ i ≥ 0 θ_i \geq 0 θi≥0 ,可以说狄利克雷分布的 k k k 元随机变量 θ = ( θ 1 , θ 2 , . . . , θ k ) θ=(θ_1,θ_2,...,θ_k) θ=(θ1,θ2,...,θk) 是定义在 k − 1 k-1 k−1 维概率单纯形(K-dimentional probability simplex)上的 。 k k k 维单纯形就是具有 k + 1 k+1 k+1 个顶点的凸多面体,比如二维单纯形是个三角形、有三个顶点;三维单纯形是四面体、有四个顶点。 k k k 表示类别的数量,概率单纯形上的一个点可以用 k k k 个和为1的非负数表示。比如当 k = 3 k=3 k=3 时, θ 1 、 θ 2 、 θ 3 θ_1、θ_2、θ_3 θ1、θ2、θ3 分布在三维空间 z = 1 − x − y z=1-x-y z=1−x−y 的平面三角形上,是个二维单纯形。

相关推荐
SweetCode几秒前
裴蜀定理:整数解的奥秘
数据结构·python·线性代数·算法·机器学习
程序员Linc13 分钟前
写给新人的深度学习扫盲贴:向量与矩阵
人工智能·深度学习·矩阵·向量
xcLeigh21 分钟前
OpenCV从零开始:30天掌握图像处理基础
图像处理·人工智能·python·opencv
果冻人工智能24 分钟前
如何有效应对 RAG 中的复杂查询?
人工智能
2305_7978820933 分钟前
AI识图小程序的功能框架设计
人工智能·微信小程序·小程序
果冻人工智能35 分钟前
向量搜索中常见的8个错误(以及如何避免它们)
人工智能
databook35 分钟前
不平衡样本数据的救星:数据再分配策略
python·机器学习·scikit-learn
碳基学AI40 分钟前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义免费下载方法
大数据·人工智能·python·gpt·算法·语言模型·集成学习
补三补四43 分钟前
机器学习-聚类分析算法
人工智能·深度学习·算法·机器学习
果冻人工智能1 小时前
法官们终于似乎明白了:如果没有复制,那就没有版权
人工智能