基于狄利克雷过程混合模型的非参数贝叶斯聚类算法
字数 3083 2025-12-20 21:51:33

基于狄利克雷过程混合模型的非参数贝叶斯聚类算法


1. 题目描述

假设我们有一组观测数据点,但我们不知道数据中应该存在多少个聚类。传统聚类算法(如K-means)需要预先指定聚类数K,这在实际中往往难以确定。狄利克雷过程混合模型(Dirichlet Process Mixture Model, DPMM)是一种非参数贝叶斯方法,它允许聚类数量在推断过程中自动确定。题目要求是:详细解释DPMM的原理,并一步步推导其核心的吉布斯采样推断过程。

核心问题:对于一个未知聚类数量的数据集,如何用DPMM自动发现其聚类结构并进行推断?


2. 问题直观理解与模型思想

想象你要整理一盒五颜六色的混合珠子。你不知道共有多少种颜色(类别),而且珠子颜色可能很接近。DPMM的哲学是:

  1. 先验假设:我们认为存在“无限”个潜在的类别,但数据只展现出其中一部分。一个新的数据点有一定概率属于一个已有类别,也有一定概率开创一个全新的类别。
  2. 聚类分配:每个数据点都被分配一个“类别标签”。这个分配不是固定的,而是会根据其他点的分配情况不断更新。
  3. 自动确定数量:随着迭代,那些没有被分配数据点的“空类别”会被自然淘汰,剩下的类别数就是算法推断出的聚类数。

这个过程的关键是狄利克雷过程,它可以被理解为“随机概率分布的分布”,为无限混合模型提供了数学框架。


3. 模型定义与数学符号

假设我们有N个数据点 {x_1, ..., x_N},每个数据点x_i服从某个参数为θ_i的分布F。

  • 混合模型:认为参数θ_i从一个基分布G中抽取,即 θ_i ~ G
  • 狄利克雷过程(DP)先验:我们为G设置一个狄利克雷过程先验,记作 G ~ DP(α, H)
    • H:基分布(Base Distribution),是参数θ的先验分布(例如,对于高斯分布,H可能是均值和方差的联合分布)。
    • α:集中参数(Concentration Parameter),控制着新类别产生的倾向。α越大,越容易产生新类别。
  • DPMM的完整分层模型可写为:
    1. G ~ DP(α, H)
    2. θ_i | G ~ G (对每个i)
    3. x_i | θ_i ~ F(x_i | θ_i) (对每个i)

等价的中国餐馆过程(CRP)表示
一个更直观的理解方式是“中国餐馆过程”。将数据点比作依次进入餐馆的顾客,聚类比作餐桌。

  • 第一位顾客总是坐在第一张桌子。
  • 第i位顾客入座时:
    • 以概率 n_k / (i-1+α) 坐到已有第k张桌子(已有n_k个人)。
    • 以概率 α / (i-1+α) 坐到一张全新的桌子。
      这个过程隐式地定义了顾客(数据点)在桌子(聚类)上的一个随机划分,而这个划分正是从DP中采样得到的。

4. 推断过程:吉布斯采样(Gibbs Sampling)

由于模型后验分布复杂,我们使用MCMC方法(吉布斯采样)进行近似推断。核心是顺序地对每个数据点i的聚类分配变量z_i进行采样,条件于其他所有点的当前分配 z_{-i} 和数据X。

关键推导:分配一个点到一个聚类的条件概率

我们想计算 P(z_i = k | z_{-i}, X, α, H),其中k可以是已有类别或新类别。

步骤4.1: 应用贝叶斯定理
P(z_i = k | ...) ∝ P(x_i | z_i = k, z_{-i}, X_{-i}) * P(z_i = k | z_{-i})

  • 第一项是似然:在给定聚类k下,观测到x_i的概率。
  • 第二项是先验:在CRP下,点i被分配到类别k的先验概率。

步骤4.2: 计算先验项(CRP先验)
根据CRP:

  • P(z_i = k | z_{-i}) = n_{k, -i} / (N - 1 + α),其中 n_{k, -i} 是除点i外,被分配到类别k的点数。
  • P(z_i = 新类别 | z_{-i}) = α / (N - 1 + α)

步骤4.3: 计算似然项(后验预测分布)
对于已有类别k:

  • P(x_i | z_i = k, z_{-i}, X_{-i}) = ∫ F(x_i | θ) * p(θ | {x_j : z_j = k, j ≠ i}) dθ
  • 这个积分表示:给定类别k中所有其他点的数据,预测新点x_i的分布。p(θ | ...) 是基于先验H和类别k内其他数据得到的参数θ的后验分布。
  • 如果似然分布F和先验分布H是共轭的(例如,高斯似然+高斯-逆伽马先验),这个后验预测分布可以解析计算出来,通常是一个学生t分布。

对于新类别(记为k_new):

  • 此时没有其他数据点,所以后验预测分布退化为基于先验H的预测:P(x_i | z_i = k_new) = ∫ F(x_i | θ) H(θ) dθ。这称为基测度H的边际似然

步骤4.4: 组合得到采样公式
最终,采样分配z_i的概率为:

  1. 对每个已有类别k
    P(z_i = k) ∝ (n_{k, -i}) * P(x_i | {x_j : z_j = k, j ≠ i})
  2. 对于新类别
    P(z_i = 新类别) ∝ α * ∫ F(x_i | θ) H(θ) dθ

我们将这些非归一化的概率值计算出来,归一化后,就构成了一个多项分布。从该多项分布中采样,就得到了点i的新类别标签z_i。


5. 完整迭代过程

  1. 初始化:随机或以某种简单策略(如所有点各自一类)初始化所有数据点的聚类标签 z_1, ..., z_N
  2. 吉布斯扫描
    • 对i = 1 到 N:
      a. 将点i从当前聚类中移除(更新该类别的点数和统计量)。
      b. 按照第4步推导出的公式,计算点i被分配到每一个现有类别一个新类别的非归一化概率。
      c. 将这些概率归一化,形成一个概率向量。
      d. 根据这个概率向量,多项式采样一个新的类别标签z_i。
      e. 将点i加入到新采样的类别中,更新该类别的点数和统计量。
  3. 迭代:重复步骤2足够多的次数(例如1000-10000次),直到分配趋于稳定(马尔可夫链达到平稳分布)。初始的一些迭代(老化期)被丢弃。
  4. 后处理:由于吉布斯采样产生的是来自后验的样本链,我们需要从中获取一个“代表”聚类结果。常用方法是:
    • 取最后一样本:使用最后一次迭代的分配结果。
    • 最大后验估计:从采样链中选择出现频率最高的聚类分配。
    • 一致性聚类:计算所有样本中每对点出现在同一类中的频率,得到一个相似性矩阵,再通过层次聚类等方法得到最终结果。

6. 算法核心优势与总结

  • 自动模型选择:无需预设K,聚类数从数据中自动学习。
  • 贝叶斯性质:提供了完整的不确定性量化(例如,聚类分配的概率、聚类数的分布)。
  • 灵活性:可结合任何数据分布F和先验H。
  • 计算复杂性:主要开销在于每次迭代计算每个点的后验预测分布。对于共轭模型,可通过增量更新统计数据来加速。

总结:狄利克雷过程混合模型通过引入一个“无限”的潜在类别空间,并借助中国餐馆过程这一优雅构造,使得聚类数的推断与聚类分配在统一的贝叶斯框架下进行。吉布斯采样通过循环遍历数据点,根据“数据似然”和“类别流行度”的权衡,动态地为每个点重采样类别标签,最终收敛到对数据聚类结构的一个合理划分。这个过程就像一场“动态重组会议”,与会者(数据点)根据共同兴趣(数据似然)和小组人数(类别大小)不断调整分组,直至形成稳定的讨论圈子(聚类)。

基于狄利克雷过程混合模型的非参数贝叶斯聚类算法 1. 题目描述 假设我们有一组观测数据点,但 我们不知道数据中应该存在多少个聚类 。传统聚类算法(如K-means)需要预先指定聚类数K,这在实际中往往难以确定。狄利克雷过程混合模型(Dirichlet Process Mixture Model, DPMM)是一种 非参数贝叶斯方法 ,它允许聚类数量在推断过程中 自动确定 。题目要求是:详细解释DPMM的原理,并一步步推导其核心的吉布斯采样推断过程。 核心问题 :对于一个未知聚类数量的数据集,如何用DPMM自动发现其聚类结构并进行推断? 2. 问题直观理解与模型思想 想象你要整理一盒五颜六色的混合珠子。你不知道共有多少种颜色(类别),而且珠子颜色可能很接近。DPMM的哲学是: 先验假设 :我们认为存在“无限”个潜在的类别,但数据只展现出其中一部分。一个新的数据点有一定概率属于一个已有类别,也有一定概率开创一个全新的类别。 聚类分配 :每个数据点都被分配一个“类别标签”。这个分配不是固定的,而是会根据其他点的分配情况不断更新。 自动确定数量 :随着迭代,那些没有被分配数据点的“空类别”会被自然淘汰,剩下的类别数就是算法推断出的聚类数。 这个过程的关键是 狄利克雷过程 ,它可以被理解为“随机概率分布的分布”,为无限混合模型提供了数学框架。 3. 模型定义与数学符号 假设我们有N个数据点 {x_1, ..., x_N} ,每个数据点x_ i服从某个参数为θ_ i的分布F。 混合模型 :认为参数θ_ i从一个基分布G中抽取,即 θ_i ~ G 。 狄利克雷过程(DP)先验 :我们为G设置一个狄利克雷过程先验,记作 G ~ DP(α, H) 。 H :基分布(Base Distribution),是参数θ的先验分布(例如,对于高斯分布,H可能是均值和方差的联合分布)。 α :集中参数(Concentration Parameter),控制着新类别产生的倾向。α越大,越容易产生新类别。 DPMM的完整分层模型 可写为: G ~ DP(α, H) θ_i | G ~ G (对每个i) x_i | θ_i ~ F(x_i | θ_i) (对每个i) 等价的中国餐馆过程(CRP)表示 : 一个更直观的理解方式是“中国餐馆过程”。将数据点比作依次进入餐馆的顾客,聚类比作餐桌。 第一位顾客总是坐在第一张桌子。 第i位顾客入座时: 以概率 n_k / (i-1+α) 坐到已有第k张桌子(已有n_ k个人)。 以概率 α / (i-1+α) 坐到一张全新的桌子。 这个过程 隐式地 定义了顾客(数据点)在桌子(聚类)上的一个随机划分,而这个划分正是从DP中采样得到的。 4. 推断过程:吉布斯采样(Gibbs Sampling) 由于模型后验分布复杂,我们使用MCMC方法(吉布斯采样)进行近似推断。核心是 顺序地对每个数据点i的聚类分配变量z_ i进行采样 ,条件于其他所有点的当前分配 z_{-i} 和数据X。 关键推导:分配一个点到一个聚类的条件概率 我们想计算 P(z_i = k | z_{-i}, X, α, H) ,其中k可以是已有类别或新类别。 步骤4.1: 应用贝叶斯定理 P(z_i = k | ...) ∝ P(x_i | z_i = k, z_{-i}, X_{-i}) * P(z_i = k | z_{-i}) 第一项是 似然 :在给定聚类k下,观测到x_ i的概率。 第二项是 先验 :在CRP下,点i被分配到类别k的先验概率。 步骤4.2: 计算先验项(CRP先验) 根据CRP: P(z_i = k | z_{-i}) = n_{k, -i} / (N - 1 + α) ,其中 n_{k, -i} 是除点i外,被分配到类别k的点数。 P(z_i = 新类别 | z_{-i}) = α / (N - 1 + α) 。 步骤4.3: 计算似然项(后验预测分布) 对于已有类别k: P(x_i | z_i = k, z_{-i}, X_{-i}) = ∫ F(x_i | θ) * p(θ | {x_j : z_j = k, j ≠ i}) dθ 这个积分表示:给定类别k中 所有其他点 的数据,预测新点x_ i的分布。p(θ | ...) 是基于先验H和类别k内其他数据得到的参数θ的后验分布。 如果似然分布F和先验分布H是 共轭 的(例如,高斯似然+高斯-逆伽马先验),这个后验预测分布可以解析计算出来,通常是一个学生t分布。 对于新类别(记为 k_new ): 此时没有其他数据点,所以后验预测分布退化为基于先验H的预测: P(x_i | z_i = k_new) = ∫ F(x_i | θ) H(θ) dθ 。这称为 基测度H的边际似然 。 步骤4.4: 组合得到采样公式 最终,采样分配z_ i的概率为: 对每个已有类别k : P(z_i = k) ∝ (n_{k, -i}) * P(x_i | {x_j : z_j = k, j ≠ i}) 对于新类别 : P(z_i = 新类别) ∝ α * ∫ F(x_i | θ) H(θ) dθ 我们将这些非归一化的概率值计算出来,归一化后,就构成了一个 多项分布 。从该多项分布中采样,就得到了点i的新类别标签z_ i。 5. 完整迭代过程 初始化 :随机或以某种简单策略(如所有点各自一类)初始化所有数据点的聚类标签 z_1, ..., z_N 。 吉布斯扫描 : 对i = 1 到 N: a. 将点i从当前聚类中移除(更新该类别的点数和统计量)。 b. 按照 第4步推导出的公式 ,计算点i被分配到 每一个现有类别 和 一个新类别 的非归一化概率。 c. 将这些概率归一化,形成一个概率向量。 d. 根据这个概率向量, 多项式采样 一个新的类别标签z_ i。 e. 将点i加入到新采样的类别中,更新该类别的点数和统计量。 迭代 :重复步骤2足够多的次数(例如1000-10000次),直到分配趋于稳定(马尔可夫链达到平稳分布)。初始的一些迭代(老化期)被丢弃。 后处理 :由于吉布斯采样产生的是来自后验的样本链,我们需要从中获取一个“代表”聚类结果。常用方法是: 取最后一样本 :使用最后一次迭代的分配结果。 最大后验估计 :从采样链中选择出现频率最高的聚类分配。 一致性聚类 :计算所有样本中每对点出现在同一类中的频率,得到一个相似性矩阵,再通过层次聚类等方法得到最终结果。 6. 算法核心优势与总结 自动模型选择 :无需预设K,聚类数从数据中自动学习。 贝叶斯性质 :提供了完整的不确定性量化(例如,聚类分配的概率、聚类数的分布)。 灵活性 :可结合任何数据分布F和先验H。 计算复杂性 :主要开销在于每次迭代计算每个点的后验预测分布。对于共轭模型,可通过增量更新统计数据来加速。 总结 :狄利克雷过程混合模型通过引入一个“无限”的潜在类别空间,并借助中国餐馆过程这一优雅构造,使得聚类数的推断与聚类分配在统一的贝叶斯框架下进行。吉布斯采样通过 循环遍历数据点,根据“数据似然”和“类别流行度”的权衡,动态地为每个点重采样类别标签 ,最终收敛到对数据聚类结构的一个合理划分。这个过程就像一场“动态重组会议”,与会者(数据点)根据共同兴趣(数据似然)和小组人数(类别大小)不断调整分组,直至形成稳定的讨论圈子(聚类)。