【论文阅读】Dip-based Deep Embedded Clustering with k-Estimation


摘要

近年来,聚类与深度学习的结合受到了广泛关注。无监督神经网络,如自编码器,能够自主学习数据集中的关键结构。这一思想可以与聚类目标结合,实现对相关特征的自动学习。然而,这类方法通常基于 k-means 框架,因此继承了诸如聚类呈球形分布等各种假设。另一项常见假设(即使在非 k-means 方法中也存在)是需要预先知道聚类的数量。

本文提出了一种新颖的聚类算法 DipDECK,它能够在优化基于深度学习的聚类目标的同时估计聚类数。此外,方法无需假设聚类仅为球形结构,即可处理复杂的数据集。该算法的核心思路是:在自编码器的嵌入空间中大幅度高估聚类数,并基于 Hartigan 的 Dip 检验(一种用于判断单峰性的统计检验)分析生成的微聚类,从而确定哪些聚类应当合并。

通过大量实验证明了该方法的多种优势:
(1) 在同时学习有利于聚类的表示和聚类数量的情况下,能够取得具有竞争力的效果;
(2) 该方法对参数不敏感,具有稳定的性能表现,并支持更灵活的聚类形状;
(3) 在聚类数量估计方面,DipDECK方法优于相关的现有方法。

引言

在大量未标注数据中发现模式是数据挖掘研究的重要分支之一,其目标是将数据划分为若干组相似的数据点。然而在实际应用中,往往无法事先得知数据中有多少个聚类。

传统聚类算法中已有诸多方法尝试解决这一问题。其中许多方法基于 k-means 框架,例如 X-means [23] 和 Dip-means [16]。也有一些方法,如 PG-Means [8],采用基于期望最大化(EM)的方法,从而在聚类形状上具有更高的灵活性。但这些方法通常会自动继承“高斯分布聚类”的假设。虽然这种假设对部分数据集有效,但对其他数据集则过于严格,从而导致聚类结果不理想。

当然,也存在一些可以自动确定聚类数且不依赖高斯假设的聚类方法。例如著名的基于密度的 DBSCAN [7] 方法,以及一些基于谱聚类的变种 [31]。这些方法不仅可以估计聚类数,还支持任意形状的聚类。但它们以更复杂的参数(如邻域范围、邻居数量)取代了“聚类数量”这一直观参数。最终,聚类数量主要由这些复杂参数所控制,因此实质上只是将一个参数替换为了另外一些参数。

然而,上述所有方法在处理现代高维大数据(如图像、视频和文本)时往往效果不佳。即使运行时间和内存问题可以通过高性能实现来缓解,这些方法依然受到“维度灾难”的制约,因其多数依赖欧几里得距离。面对这类数据集,近年来的趋势是采用深度学习方法进行聚类。

在这类方法中,通常使用自编码器学习有利于聚类的低维表示,以降低维度并提升聚类效率,从而缓解高维带来的问题。因此,理想的方法应能够与深度学习聚类算法集成,在兼容深度学习优势的基础上,自动估计聚类数量。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET8关于ORM的一次思考

文章目录 前言一、思路二、实现ODBC>SqlHelper.cs三、数据对象实体化四、SQL生成SqlBuilder.cs五、参数注入 SqlParameters.cs六、反射 SqlOrm.cs七、自定义数据查询八、总结 前言 琢磨着在.NET8找一个ORM,对比了最新的框架和性能。 框架批量操作性能SQL控制粒…

CVE-2025-31258 macOS远程视图服务沙箱逃逸漏洞PoC已公开

苹果公司近日针对macOS系统中新披露的CVE-2025-31258漏洞发布补丁,该漏洞可能允许恶意应用程序突破沙箱限制,获取未授权的系统资源访问权限。在安全研究员Seo Hyun-gyu公开概念验证(PoC)利用代码后,该漏洞已在macOS Se…

21.第二阶段x64游戏实战-分析采集物偏移

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:20.第二阶段x64游戏实战-代码实现遍历周围 上一个内容里把遍历周围的npc和玩家…

2025年全新 GPT 4.5 AI 大模型 国内免费调用

一、中转账号注册 第一步:打开宙流AI中转站,网站地址如下: 宙流AI中转站 按照上图中的操作步骤,通过邮箱进行账号注册,注册完毕后,网站初始会分配0.4刀的免费额度,获取额度后,即可…

基于事件驱动和策略模式的差异化处理方案

一、支付成功后事件驱动 1、支付成功事件 /*** 支付成功事件** author ronshi* date 2025/5/12 14:40*/ Getter Setter public class PaymentSuccessEvent extends ApplicationEvent {private static final long serialVersionUID 1L;private ProductOrderDO productOrderDO;…

简述Web和HTTP

目录 HTTP概述 非持续连接和持续连接 非持续连接 持续连接 HTTP报文格式 HTTP请求报文 HTTP响应报文 用户与服务器的交互:cookie Web缓存 条件GET方法 Web 即万维网,是一个基于超文本和 HTTP 协议的全球性信息系统,通过浏览器访问…

基于STM32的LCD信号波形和FFT频谱显示

一、项目准备 主要利用LCD驱动中的画点和画连线函数,驱动是正点原子给我写好了的画点和画线的函数等些相关函数 void LCD_Draw_Circle(u16 x0,u16 y0,u8 r); //画圆 void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2); //画线 二、画波形图函数实…

Go 语言即时通讯系统开发日志-day1:从简单消息收发 Demo 起步

Go语言即时通讯系统开发日志day1,主要模拟实现的一个简单的发送消息和接受消息的小demo,因为也才刚学习go语言的语法,对go的json、net/http库了解不多,所以了解了一下go语言的encoding/json库和net/http库,以及websock…

基于vllm-ascend的华为atlas大模型部署

vllm-ascend介绍: vLLM 昇腾插件 (vllm-ascend) 是一个让vLLM在Ascend NPU无缝运行的后端插件。 此插件是 vLLM 社区中支持昇腾后端的推荐方式。它遵循[RFC]: Hardware pluggable所述原则:通过解耦的方式提供了vLLM对Ascend NPU的支持。 使用 vLLM 昇腾…

贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现

贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现 目录 贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.BO-TransformerSVM多变量时间序列预测&#xff0c…

状压DP总结

前言 一般来讲 n n n 数据范围在 10 ~ 25 之间都是可以进行状态压缩的 -> 2 n 2^n 2n 状压 The 2024 Shanghai Collegiate Programming Contest Problem G.象棋大师 知识点:线性DP,状压DP,预处理 辅助转移的技巧 首先看到 n*n 的方格…

SQLite 转换为 MySQL 数据库

一、导出 SQLite 数据库 1. 使用 SQLite 命令行工具 • 打开终端(在 Linux 或 macOS 上)或命令提示符(在 Windows 上)。 • 输入sqlite3 your_database_name.db(将 your_database_name.db 替换为你的 SQLite 数据库…

【技巧】使用UV创建python项目的开发环境

回到目录 【技巧】使用UV创建python项目的开发环境 0. 为什么用UV 下载速度快、虚拟环境、多版本python支持、清晰的依赖关系 1. 安装基础软件 1.1. 安装python 下载地址:https://www.python.org/downloads/windows/ 1.2. 安装UV > pip install uv -i ht…

Java SpringMVC 和 MyBatis 整合项目的事务管理配置详解

目录 一、事务管理的基本概念二、在 SpringMVC 和 MyBatis 整合项目中配置事务管理1. 配置数据源2. 配置事务管理器3. 使用事务注解4. 配置 MyBatis 的事务支持5. 测试事务管理三、总结在企业级应用开发中,事务管理是确保数据一致性和完整性的重要机制。特别是在整合了 Spring…

Nakama:让游戏与应用更具互动性和即时性

在现代游戏和应用程序开发中,实现社交互动和实时功能已成为用户体验的核心需求。为满足这种需求,许多开发者正转向分布式服务器技术,在这些技术中,Nakama 构建起了一座桥梁。Nakama 是一个开源的分布式服务器,专门为社交和实时游戏及应用程序设计,为开发者提供了强大的工…

项目中会出现的css样式

1.重复渐变边框 思路&#xff1a; 主要是用重复的背景渐变实现的 如图&#xff1a; <div class"card"><div class"container">全面收集中医癌毒临床医案&#xff0c;建立医案共享机制&#xff0c;构建癌毒病机知识图谱&#xff0c;便于医疗人…

数组和切片的区别

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

Jenkins企业级实战

目标 在Windows操作系统上使用Jenkins完成代码的自动拉取、编译、打包、发布工作。 实施 1.安装Java开发工具包&#xff08;JDK&#xff09; Jenkins是基于Java的应用程序&#xff0c;因此需要先安装JDK。可以从Oracle官网或OpenJDK下载适合的JDK版本。推荐java17版本&#x…

C++ 异常捕获 try 和 __try的区别笔记

最近碰到了try 和 __try的区别的问题&#xff0c;经过实测与验证&#xff0c;发现在vs2019下&#xff0c;确实存在try无法捕获特定异常的问题&#xff0c;比如下面的代码&#xff1a; //以空格作为分割符的符号个数 //内存复制功能 // test1.cpp : 定义控制台应用程序的入口点…

Spark基础介绍

1. Spark 核心概念 1.1 RDD&#xff08;弹性分布式数据集&#xff09; 定义&#xff1a;RDD&#xff08;Resilient Distributed Dataset&#xff09;是 Spark 的核心抽象&#xff0c;是不可变、可分区、容错的分布式数据集合。特性&#xff1a; 弹性&#xff1a;自动进行内存…