SDCN 代码

news/2024/10/22 11:21:23

Q&A

  • 为什么不直接使用分布Q来监督分布P?原因有两个方面:
    (1)之前的方法考虑将聚类分配作为伪标签来以监督的方式重新训练编码器,即深度聚类(deepCluster)。然而,在实验中,我们发现交叉熵损失的梯度变化过于剧烈,无法防止嵌入空间受到干扰。
    (2)尽管我们可以用KL散度替代交叉熵损失,但仍然存在一个问题,那就是缺乏聚类信息。我们研究深度聚类的初衷是将聚类目标与深度学习强大的表征能力相结合。因此,我们引入分布P以增强聚类性能的凝聚力,具体细节可以参考DEC。
    deepcluster:https://arxiv.org/abs/1807.05520
    DEC:
  • 如何将SDCN用到其他数据集上
    (1)基于特征的相似性构建KNN图,具体细节请参考calcu_graph.py。
    (2)预训练自编码器并保存预训练模型,具体细节请参考data/pretrain.py。
    (3)替换sdcn.py中的参数并运行代码。

关于预训练/KNN图构建/batchsize的一些Issue

  • 不管你的数据集是什么格式(图片、文本、图)都需要转化为txt文本格式进行预训练。txt中其实是数组。
  • 预训练代码位于 SDCN/data/pretrain.py
  • 标签数据并没有被用在构造graph中。在calcu_graph.py中,label只出现在了第12行和40行,第12行是为了统计样本数量,第40行是为了统计构造出的图有多少是inter-edge,有多少是intra-edge。所以其实注释掉也是没问题的。无标签的非graph数据可以注释掉12,40,41行就可以了;无标签的graph数据,因为已经有了graph,就没必要去构造了。
  • 因为 GCN 是使用全批处理训练的,所以 SDCN 也是全批处理的。如果你想使用 mini-batch,你可以尝试基于采样的 GNN,例如 GraphSAGE。(有batchsize的话如何处理邻接矩阵)

记录

  • calcu_graph.py:关于构图,是基于一个数据集中的所有样本,数据进模型的时候没有batchsize,这一点在issue中有被提到。
    其中有个计算错误率的操作,就是在得出的k近邻中,与锚点标签不同的视为错误,计数counter+1。
  • pretrain.py:对AE进行预训练的时候是对数据集分batchsize的
  • 所有的都看完,关于sdcn.py中的train_sdcn函数设计的训练流程再看看。model得到的predict就是文中图1里GCN得到的Z。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74557.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

ByteHouse直播预告:揭秘基于OLAP降本增效的四大硬招

在数字化转型浪潮中,企业数据量正以惊人的速度增长,随之而来的数据存储、处理与分析挑战也日益严峻。在这一背景下,如何既保障查询性能,又尽可能降低资源成本,已成为企业亟需解决的核心问题。为此,ByteHouse将于10月23日19:00举办线上直播活动,围绕“降本增效”话题,深…

【触想智能】工业一体机在数控设备上应用的要求分析

工业一体机是一种集成了计算机、运动控制、人机界面和各种输入输出接口的设备。它广泛应用于数控设备,如数控机床、机器人、自动化生产线等。触想工业一体机TPC-W400系列在数控设备上应用工业一体机可以提高生产效率、降低成本和改善生产质量,但是你知道工业一体机在数控设备…

PbootCMS 放在二级目录无法进行数据库备份的解决办法

1. 打开 DatabaseController.php 文件使用 FTP 客户端:使用 FTP 客户端(如 FileZilla)连接到你的服务器。 导航到网站根目录的 apps/admin/controller/system 文件夹。下载 DatabaseController.php 文件:下载 DatabaseController.php 文件到本地,以便备份和编辑。2. 编辑 …

PbootCMS放在二级目录无法进行数据库备份怎么办

问题表现当 PbootCMS 安装在二级目录时,无法进行数据库备份。原因数据库备份路径配置不正确,导致备份功能无法正常工作。解决方法修改 DatabaseController.php 文件中的备份路径配置,去掉路径前的斜杠 /。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉…

Express的使用笔记 6 项目接口在postman中的统一管理

笔记5已经将一个项目的基本结构搭建完成了,还进行了一定的封装,使用postman调用接口的时候,为了更好的管理项目,我们可以创建一个collection,然后在里面创建不同主题的文件夹,盛放对应的请求,并在环境中配置基本路径。

PbootCMS如何开启手机访问

问题表现PbootCMS 默认支持自适应模板的手机端访问,但如果你的模板不是自适应的,需要开启独立手机版访问。原因默认情况下,PbootCMS 使用自适应模板来适配不同设备。如果模板不是自适应的,需要单独设置手机端模板。解决方法在全局配置中开启独立手机版,并在模板文件夹下新…

PbootCMS后台登录提示登录失败:您登录失败次数太多已被锁定怎么办

问题表现PbootCMS 后台登录时提示“登录失败: 您登录失败次数太多已被锁定”。原因由于多次登录失败,系统为了安全起见锁定了登录功能。解决方法删除根目录下的 runtime 文件夹。具体操作步骤 1. 使用 FTP 客户端连接到服务器打开 FTP 客户端:使用 FTP 客户端(如 FileZilla)…

深入解析Apache DolphinScheduler容错机制

简述 Apache Dolphinscheduler Master和Worker都是支持多节点部署,无中心化的设计。Master主要负责是流程DAG的切分,最终通过RPC将任务分发到Worker节点上以及Worker上任务状态的处理 Worker主要负责是真正任务的执行,最后将任务状态汇报给Master,Master进行状态处理那问题…