DEC 深度编码聚类函数

news/2024/5/20 7:01:48 标签: 聚类, 机器学习, 人工智能

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 算法的要求。

http://www.niftyadmin.cn/n/5179588.html

相关文章

TLSR8258应用笔记

TLSR8258应用笔记 调试UART的注意事项 调试UART的注意事项 调试串口UART,除了基本的波特率,起始位,数据位,校验位,结束位等设置,还要注意UART控制寄存器中TTL位的设置。置位TTL位可以使UART匹配RS232电平&…

AWTK实现汽车仪表Cluster/DashBoard嵌入式GUI开发(六):FREERTOS移植

前言: 一般的GUI工程都需要一个操作系统,可能是linux,重量级的,也可能是FreeRTOS,轻量级的。 一句话理解那就是工程就是FreeRTOS task任务的集合。 一个main函数可以看到大框架: 很显然,除了第一个是硬件配置的初始化,中间最重要的部分就是要创建任务。而一个任务主…

喜报不断!箱讯平台获评2023年上海市促进现代航运服务业创新示范项目

近期,可谓捷报频传!在箱讯科技子公司苏州箱讯获评苏州市软件和信息服务业 “头雁”培育企业没过多久,就又迎来好消息! 日前,上海市交通委发布“2023年上海市促进现代航运服务业创新项目”评选结果,箱讯An…

Qlik实战-实现分组排序

目前在使用Qlik进行数据分析,这个软件感觉国内普及程度不高,相应资料也比较少,日常工作中遇到的一些问题和疑问,以及后续的解决方案会定期记录下来,方便自己回顾,也希望能够和大家一起交流提升。 回归正题&…

使用select实现定时任务

selectOutOfTime.c里边的代码如下&#xff1a; #include<stdio.h> #include<sys/time.h> #include<sys/types.h> #include<unistd.h> #include <string.h>#define BUF_SIZE 100int main(void){fd_set reads;struct timeval tv;int errorNum;cha…

signed char表示的最大数据范围是多少?

signed char表示的最大数据范围是多少。 1.首先要明白负数在计算机内是以补码的形式存储的&#xff0c;最高位1代表是负数&#xff0c;最高位0代表正数。 2.char数据类型占据一个字节。 3.一个字节表示的最大负数是(1)111_1111即-127&#xff1b;一个字节表示的最大正数是(0)11…

[单片机课程设计报告汇总] 单片机设计报告常用硬件元器件描述

[单片机课程设计必看] 单片机设计报告常用描述 硬件设计 AT89C51最小系统 AT89C51是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS16位单片机&#xff0c;片内含4k bytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器&#xff0c;期间采用ATMEL公司的高…

Go语言error错误处理

error Go语言内置错误接口类型&#xff0c;任何类型只要是实现了Error()string方法&#xff0c;都可以传递error接口类型变量。Go语言典型的错误处理方式是将error作为函数最后一个返回值。在调用函数时&#xff0c;通过监测其返回的error值是否为nil来进行错误处理 Go语言标准…