DEC 深度编码聚类函数

2. 辅助目标函数

要使用输入 (bt, groups, embed_dim) 计算 DEC 模型的目标分布,关键部分是使用软分配 q ,其形状为 (bt, groups, max_cluster) 。这里, max_cluster 是您要定位的集群数量。当您沿该维度执行聚类时,需要跨 groups 维度计算目标分布。

The process is:其过程是:

  1. 对软分配进行平方 ( q ):这会放大高概率分配并抑制较低概率分配。

  2. 对 groups 维度求和:您对 groups 维度(张量中的索引 1)上的这些平方概率求和,因为您想要捕获每个组在所有集群中的分布批次中的项目。

  3. 归一化:然后对求和值进行归一化,以确保它们形成正确的概率分布。

目标分布计算如下所示:

def target_distribution(q):
    # Square the probabilities and sum across the 'groups' dimension
    weight = q ** 2 / q.sum(1, keepdim=True)

    # Normalize across the 'max_cluster' dimension
    return (weight / weight.sum(2, keepdim=True))

在这个函数中:

  • q.sum(1, keepdim=True) 对 groups 维度上的概率平方求和,得到形状 (bt, 1, max_cluster) 的张量。
  • weight / weight.sum(2, keepdim=True) 然后在 max_cluster 维度(张量中的索引 2)对这些概率进行归一化,确保每个簇的概率总和为 1。这会产生相同形状的张量如 q ( (bt, groups, max_cluster) )。
  • 目标分布的计算符合数据结构和 DEC 算法的要求。

你可能感兴趣的:(#,数据分析,聚类,机器学习,人工智能)