深度聚类方法之对比聚类(Contrastive Clustering,CC)

1.参考文献

《Contrastive Clustering》

2.深度聚类方法

深度聚类方法大致分为以下几类:

①分阶段:使用深度网络进行对比学习or自动编码器完成表征学习(目的:把同类样本集中到一起,拉开不同类样本的聚类),然后使用聚类模型把不同簇的样本进行归类,并且使用后续赋值对深度网络进行更新。

这种交替学习方法在表征学习和聚类的交替阶段中存在累积的误差,会导致聚类性能次优。

②端到端:即在完成表征学习的同时,同样完成聚类。

根据数据集使用情况,又可分为:

①离线学习:要使用整个数据集才能进行聚类;

②在线学习:使用数据集的部分就能进行聚类;

3.对比聚类(Contrastive Clustering,CC)

对比聚类该方法是既可以分阶段,也可以端到端,同时也是在线学习的。

总的来讲是在对比学习基础上,拓展为对比聚类,其思路如下图

通过将特征矩阵的行视为实例的软标签(即表示样本属于簇的概率),可以据此将列解释为分布在数据集上的聚类表示。

因此,可以在特征矩阵的行空间和列空间中分别进行表征学习和聚类的对比学习。

详细流程如下图

使用两个数据扩充来构造数据对。给定数据对,一个共享的深度神经网络被用来从不同的增强中提取特征。使用两个独立的MLPs(σ表示ReLU激活,∼表示Softmax操作以产生软标签)将特征投影到行和列空间,其中分别进行表征学习和聚类的对比学习。

①Pair Construction Backbone

主要使用了ResNet34做为主干网络

②Instance-level Contrastive Head
首先是计算数据增强样本向量的余弦相似度

损失函数如下

由于希望识别数据集上的所有正对,因此在每个增强样本上计算实例级的对比损失,即,

这里跟对比学习是一样的。

Cluster-level Contrastive Head

使用余弦距离来衡量聚类对之间的相似性,即

采用以下损失函数来区分簇与除簇外的所有其他簇

最后计算了簇级对比损失

其中,

这个有助于避免了大多数实例被分配给同一个集群的琐碎解决方案。

④目标函数

具体算法流程如下图

4.应用

迁移学习或者半监督学习

深度聚类方法之对比聚类(Contrastive Clustering,CC)相关推荐

  1. 学习笔记1 三大聚类方法:K-means聚类、层次聚类、DBSCAN聚类

    学习笔记1:三大聚类方法:K-means聚类.层次聚类.DBSCAN聚类 文章目录 前言 一.K-means聚类 操作过程 二.层次聚类 操作过程 三.DBSCAN聚类 操作过程 总结 前言 在样本数 ...

  2. 【数据挖掘】基于层次的聚类方法 ( 聚合层次聚类 | 划分层次聚类 | 族间距离 | 最小距离 | 最大距离 | 中心距离 | 平均距离 | 基于层次聚类步骤 | 族半径 )

    文章目录 基于层次的聚类方法 简介 基于层次的聚类方法 概念 聚合层次聚类 图示 划分层次聚类 图示 基于层次的聚类方法 切割点选取 族间距离 概念 族间距离 使用到的变量 族间距离 最小距离 族间距 ...

  3. 《统计学习方法》—— 聚类方法(层次聚类和K均值聚类)

    转载:https://www.cnblogs.com/nku-wangfeng/p/7642745.html 所谓聚类,就是将相似的事物聚集在一 起,而将不相似的事物划分到不同的类别的过程,是数据分析 ...

  4. 两种聚类方法——K均值聚类(K-means)算法和模糊C均值聚类(FCM)算法的简述与在MATLAB中的实现

    目录 1.K-means算法 1.1算法流程 1.2程序实现 1.3实验结果 原始数据集 聚类结果 2.FCM算法 2.1算法流程 2.2程序设计 FCM子函数 主函数 2.3实验结果 原始数据集 聚 ...

  5. 【数据聚类|深度聚类】Contrastive Clustering(CC)论文研读

    文章目录 Abstract Introduction Related Work Contrastive Learning Deep Clustering Method Pair Constructio ...

  6. 机器学习-无监督学习-聚类:聚类方法(二)--- 基于密度的聚类算法【DBSCAN文本聚类算法,密度最大值文本聚类算法】

    密度聚类方法的指导思想是,只要样本点的密度大于某阀值,则将该样本添加到最近的簇中. 基于密度的聚类算法假设聚类结构能够通过样本分布的紧密程度确定,以数据集在空间分布上的稠密程度为依据进行聚类,即只要一 ...

  7. K-Means算法、层次聚类、密度聚类及谱聚类方法详述

    1.聚类算法概述 (1)什么是聚类? 聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小,属于无监督学习. 聚类 ...

  8. 了解聚类是什么。聚类方法:k-means、核聚类、层次聚类、谱聚类

    聚类 1.什么是聚类 2.聚类方法 2.1 划分式聚类方法 k-means k-means++ bi-kmeans 基于密度的方法 DBSCAN OPTICS算法 层次化聚类算法 核聚类 支持向量聚类 ...

  9. 【数据挖掘】基于划分的聚类方法 ( K-Means 算法简介 | K-Means 算法步骤 | K-Means 图示 )

    文章目录 一. 基于划分的聚类方法 二. K-Means 算法 简介 三. K-Means 算法 步骤 四. K-Means 方法的评分函数 五. K-Means 算法 图示 一. 基于划分的聚类方法 ...

最新文章

  1. Jfinal 不同版本下的前端模版的数据取值输出
  2. SIGTERM等信号含义【转】
  3. ML之NB:利用朴素贝叶斯NB算法(TfidfVectorizer+不去除停用词)对20类新闻文本数据集进行分类预测、评估
  4. Django从理论到实战(part41)--WSGIRequest对象
  5. 我要自学网java jsp_学javaweb需要什么基础?零基础如何学习javaweb?
  6. Google Shopping Feed 数据整理之XML格式实现方法
  7. 计算机端口介绍[详细列表]
  8. 用ping IP的方法测试网卡
  9. TextMesh Pro不能显示中文的解决办法是创建字贴图,常用汉字3500
  10. VBA Mid()函数 截取字符串 - VBA函数学习笔记(一)
  11. 软件项目演示的注意事项
  12. AFEPack 使用 Tutorial(三):解三维泊松方程
  13. 华为软开云2--玩转代码托管
  14. 唠一唠 消息可靠性保障消息幂等性处理 (RabbitMQ实际应用问题)
  15. 通过蓝点无限的学习,对UWB实现的过程以及对UWB连接WIFI的遇到的问题进行复盘
  16. 如何在模拟器中安装App
  17. 固定电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)
  18. 无法启动此程序因为计算机中丢失msvcr110,程序因为计算机中丢失msvcr110无法启动的解决方法...
  19. 股票——指数移动平均线
  20. 如何使用接口进行发票查验?

热门文章

  1. 创客必备:硬件原型设计指南(科技小白同样适用)
  2. 你真的懂服务的容错性设计吗(1)
  3. SCI英文文献模板/查看SCI论文分区/tex模板的使用
  4. u盘启动盘制作工具哪个最好用?
  5. 【出行】查看哈啰出行顺风车司机自己的评分,信任分
  6. ixchat 的安装使用(文件在云盘)
  7. java/php/net/python民宿平台信息管理系统设计
  8. Go 自定义日期时间格式解析解决方案 - 解决 parsing time xx as xx: cannot parse xx as xx 错误
  9. 百度镜像网站,站长该怎么处理呢?
  10. 【​观察】联想数据中心业务集团的未来征途 是数字化转型的“星辰大海”