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

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

二项分布

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 的平面三角形上,是个二维单纯形。

相关推荐
酒酿小圆子~8 分钟前
NLP中常见的分词算法(BPE、WordPiece、Unigram、SentencePiece)
人工智能·算法·自然语言处理
新加坡内哥谈技术1 小时前
Virgo:增强慢思考推理能力的多模态大语言模型
人工智能·语言模型·自然语言处理
martian6651 小时前
深入详解人工智能计算机视觉之图像生成与增强:生成对抗网络(GAN)
人工智能·计算机视觉
qq_273900232 小时前
pytorch torch.isclose函数介绍
人工智能·pytorch·python
说私域2 小时前
阿里巴巴新零售模式下的创新实践:结合开源AI智能名片2+1链动模式S2B2C商城小程序的应用探索
人工智能·开源·零售
致Great2 小时前
《你的RAG出错了?快来Get这份改进秘籍》
人工智能·llm·nlp
这我可不懂2 小时前
2025低代码与人工智能AI新篇
人工智能·低代码
XianxinMao2 小时前
企业通过私有安全端点访问大型语言模型的益处
人工智能·安全·语言模型
itwangyang5202 小时前
AIDD-人工智能药物设计-可扩展!更快!更便宜!大规模基因组数据存储新结构
人工智能
生信与遗传解读2 小时前
XGBoost算法在自定义数据集中预测疾病风险
人工智能·python·算法·数据分析