当前位置: 首页 > news >正文

TFS-2022《A Novel Data-Driven Approach to Autonomous Fuzzy Clustering》


核心思想

论文提出了一种新颖的数据驱动模糊聚类算法,称为 AFC(Autonomous Fuzzy Clustering,自适应模糊聚类)。其核心思想包括:

  1. 高斯型隶属度函数:AFC 使用高斯型隶属度函数来表示数据点与聚类中心的隶属关系,与传统模糊聚类(如模糊C-均值,FCM)不同,这种函数通过核宽度控制模糊程度。
  2. 自调整核宽度:核宽度基于数据的互距离和用户定义的粒度级别(granularity level, GGG)自适应调整,使得算法能够灵活适应数据的分布特性。
  3. 自动选择聚类中心:AFC 从数据空间中挑选高度代表性的样本作为初始聚类中心,无需用户预先指定聚类数量。
  4. 支持静态和流式数据:算法不仅适用于静态数据集,还扩展到逐块(chunk-by-chunk)处理数据流,适合在线学习场景。

AFC 的设计目标是实现一种无需过多人工干预、能够自适应数据特征的模糊聚类方法。


目标函数

论文中未直接给出 AFC 的目标函数公式,但根据其描述和与传统模糊聚类的相似性,可以推测其目标函数类似于模糊C-均值(FCM)的形式。FCM 的目标函数通常是最小化样本到聚类中心的加权距离之和,定义为:

J=∑i=1C∑j=1Nuijm∥xj−vi∥2 J = \sum_{i=1}^{C} \sum_{j=1}^{N} u_{ij}^m \|x_j - v_i\|^2 J=i=1Cj=1Nuijmxjvi2

其中:

  • CCC:聚类中心的数量;
  • NNN:数据点的总数;
  • uiju_{ij}uij:数据点 xjx_jxj 对聚类中心 viv_ivi 的隶属度;
  • mmm:模糊指数(通常 m>1m > 1m>1),控制模糊程度;
  • ∥xj−vi∥2\|x_j - v_i\|^2xjvi2:数据点 xjx_jxj 与聚类中心 viv_ivi 的欧氏距离平方。

然而,AFC 使用 高斯型隶属度函数,因此 uiju_{ij}uij 的定义不同于 FCM 的幂函数形式,而是:

uij=exp⁡(−∥xj−vi∥22σi2) u_{ij} = \exp\left(-\frac{\|x_j - v_i\|^2}{2\sigma_i^2}\right) uij=exp(2σi2xjvi2)

其中:

  • σi\sigma_iσi:与聚类中心 viv_ivi 相关的核宽度,由数据互距离和粒度级别 GGG 自适应推导。

因此,AFC 的目标函数可能为:

J=∑i=1C∑j=1N[exp⁡(−∥xj−vi∥22σi2)]m∥xj−vi∥2 J = \sum_{i=1}^{C} \sum_{j=1}^{N} \left[ \exp\left(-\frac{\|x_j - v_i\|^2}{2\sigma_i^2}\right) \right]^m \|x_j - v_i\|^2 J=i=1Cj=1N[exp(2σi2xjvi2)]mxjvi2

这个形式结合了高斯隶属度和距离加权,目标是通过优化 viv_iviσi\sigma_iσi 最小化 JJJ


目标函数的优化过程

AFC 的优化过程通过迭代方法实现局部最优分区,类似于 FCM 的交替优化策略,但因隶属度函数不同,具体步骤有所调整:

  1. 初始化

    • 从数据中选择高度代表性的样本作为初始聚类中心 viv_ivi
    • 根据数据互距离和粒度级别 GGG 初始化核宽度 σi\sigma_iσi
  2. 迭代优化

    • 更新隶属度:根据当前聚类中心 viv_ivi 和核宽度 σi\sigma_iσi,计算每个数据点 xjx_jxj 的隶属度 uiju_{ij}uij
      uij=exp⁡(−∥xj−vi∥22σi2) u_{ij} = \exp\left(-\frac{\|x_j - v_i\|^2}{2\sigma_i^2}\right) uij=exp(2σi2xjvi2)
    • 更新聚类中心:基于隶属度重新计算聚类中心 viv_ivi。在 FCM 中,更新公式为:
      vi=∑j=1Nuijmxj∑j=1Nuijm v_i = \frac{\sum_{j=1}^{N} u_{ij}^m x_j}{\sum_{j=1}^{N} u_{ij}^m} vi=j=1Nuijmj=1Nuijmxj
      但在 AFC 中,由于高斯隶属度函数的特性,更新公式可能需要调整,可能涉及加权平均或核密度估计的变体。
    • 更新核宽度:根据数据的互距离和粒度级别 GGG 自适应调整 σi\sigma_iσi
  3. 收敛判断

    • 重复上述步骤,直到目标函数 JJJ 收敛或达到最大迭代次数。

这种迭代过程确保聚类中心和隶属度逐步逼近数据的真实分布。


主要的贡献点

AFC 的主要贡献包括:

  1. 新型算法:提出了一种数据驱动的模糊聚类算法,使用高斯型隶属度函数和自调整核宽度,提升了聚类的灵活性和适应性。
  2. 自动确定聚类中心:无需预先指定聚类数量,算法通过数据特性自动选择代表性样本作为初始中心。
  3. 支持多种数据类型:适用于静态数据集和流式数据,能够处理在线场景。
  4. 优越的性能:在多个基准数据集上表现出色,优于其他聚类算法。

这些贡献使得 AFC 在理论和应用上都具有创新性。


实验结果

论文在 六个合成数据集八个真实世界数据集 上评估了 AFC 的性能:

  • 性能指标:使用多种评价指标,如 ARI(Adjusted Rand Index)NMI(Normalized Mutual Information) 等。
  • 比较对象:AFC 与其他主流聚类算法(如 FCM 和在线聚类方法)进行了对比。
  • 结果
    • 表格 II 显示了在合成数据集上的性能比较,AFC 在大多数指标上优于其他算法。
    • 表格 III 和 IV 显示了在真实世界数据集上的结果,AFC 在静态和流式数据场景下均表现出更高的聚类质量。
    • 对于流式数据,AFC 的性能随着块大小(chunk size)的减小而提升,但对数据模式变化的敏感性增加。

实验表明,AFC 在准确性和鲁棒性上具有显著优势。


算法的实现过程

AFC 的实现分为静态数据聚类和流式数据聚类两部分,分别通过伪代码 Algorithm 1 和 Algorithm 2 描述:

Algorithm 1:静态数据聚类
  • 输入
    • 静态数据集;
    • 粒度级别 GGG
  • 输出
    • 聚类中心矩阵 PPP
  • 步骤
    1. 初始化:从数据集中选择高度代表性的样本作为初始聚类中心。
    2. 迭代优化
      • 计算每个数据点的隶属度 uiju_{ij}uij(使用高斯函数)。
      • 更新聚类中心 viv_ivi 和核宽度 σi\sigma_iσi
      • 重复直到收敛。
    3. 返回:输出最终的聚类中心矩阵 PPP
Algorithm 2:流式数据聚类
  • 输入
    • 数据块 {p1},…,{pL}\{p_1\}, \ldots, \{p_L\}{p1},,{pL}
    • 粒度级别 GGG
  • 输出
    • 聚类中心矩阵 PPP
  • 步骤
    1. 逐块处理
      • 对每个数据块 {pl}\{p_l\}{pl},调用 Algorithm 1 得到局部聚类中心 {pl}\{p_l\}{pl}
    2. 更新聚类中心
      • 如果是第一个数据块,直接赋值 {pl}←{pl}\{p_l\} \leftarrow \{p_l\}{pl}{pl}
      • 否则:
        • 更新规则(如公式 (11))调整已有中心。
        • 根据分裂规则(如公式 (12))将 {pl}\{p_l\}{pl} 分成 {pl1}\{p_l^1\}{pl1}{pl2}\{p_l^2\}{pl2}
        • 合并或扩展聚类中心(如公式 (14))。
    3. 循环:处理所有数据块。
    4. 返回:输出最终的聚类中心矩阵 PPP
计算复杂度
  • 静态数据:复杂度为 O(K2+HCK)O(K^2 + HCK)O(K2+HCK),其中 KKK 是数据维度,HHH 是迭代次数,CCC 是聚类数。
  • 流式数据:对于第 LLL 个数据块,复杂度为 O(KL2+HLCLKL+CL2CL−11+NLML)O(K_L^2 + H_L C_L K_L + C_L^2 C_{L-1}^1 + N_L M_L)O(KL2+HLCLKL+CL2CL11+NLML),总体复杂度为 O(∑l=1LKl2+CL2CL−11+CLKL+CLCL−11+NLML)O(\sum_{l=1}^L K_l^2 + C_L^2 C_{L-1}^1 + C_L K_L + C_L C_{L-1}^1 + N_L M_L)O(l=1LKl2+CL2CL11+CLKL+CLCL11+NLML)

总结

这篇论文于 2022年6月 发表在 IEEE Transactions on Fuzzy Systems 上,提出了一种创新的模糊聚类算法 AFC。它通过高斯型隶属度函数和自调整核宽度实现数据驱动的聚类,支持静态和流式数据。目标函数基于加权距离最小化,通过迭代优化实现局部最优。AFC 的主要贡献在于自动化和适应性,实验结果显示其在多种数据集上性能优越。算法实现清晰,分为静态和流式两种场景,具有较高的实用价值。

http://www.lryc.cn/news/608276.html

相关文章:

  • 【深度学习②】| DNN篇
  • 编译器与解释器:核心原理与工程实践
  • 基于Postman进行http的请求和响应
  • 操作系统:远程过程调用( Remote Procedure Call,RPC)
  • Jupyter notebook如何显示行号?
  • SQL Server从入门到项目实践(超值版)读书笔记 22
  • Spring事务失效场景
  • kotlin小记(1)
  • 集合框架(重点)
  • linux ext4缩容home,扩容根目录
  • 网络安全基础知识【6】
  • Ext系列文件系统
  • 【软考中级网络工程师】知识点之级联
  • 错误处理_IncompatibleKeys
  • 企业资产|企业资产管理系统|基于springboot企业资产管理系统设计与实现(源码+数据库+文档)
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第6章 锁
  • 在linux(ubuntu)服务器上安装NTQQ并使用
  • junit中@InjectMocks作用详解
  • Redisson高并发实战:Netty IO线程免遭阻塞的守护指南
  • 零基础 “入坑” Java--- 十六、字符串String 异常
  • wxPython 实践(六)对话框
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频摘要生成与智能检索优化进阶(377)
  • ARMv8/v9架构FAR_EL3寄存器介绍
  • 图漾AGV行业常用相机使用文档
  • UE5 Insight ProfileCPU
  • MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
  • 【高等数学】第七章 微分方程——第七节 常系数齐次线性微分方程
  • Flutter开发 dart语言基本语法
  • [BJDCTF2020]EasySearch
  • 错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException