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

TSMC-1987《Convergence Theory for Fuzzy c-Means: Counterexamples and Repairs》

2. 核心思想

该论文的核心思想是纠正一个在模糊c均值(FCM)算法领域被广泛接受但存在根本性错误的收敛性定理

在1980年,Bezdek 本人曾发表论文,声称FCM算法的迭代序列(或其子序列)总会收敛到目标函数 JmJ_mJm 的一个局部最小值点。这个结论被后续大量研究引用和应用。然而,本文作者通过构造反例证明,这个结论是错误的。

论文的核心思想在于:

  1. 证伪:通过构造具体的反例(Counterexample),证明FCM算法的迭代过程可能会收敛到一个鞍点(saddle point),而非局部最小值。
  2. 修正:提出并陈述了修正后的收敛定理,明确指出FCM迭代序列的极限点(或其子序列的极限点)只能是目标函数 JmJ_mJm局部最小值或鞍点,从而为FCM算法的理论基础“正本清源”。
  3. 警示:目的在于警示学术界停止传播那个错误的收敛结论,以保证后续研究的理论严谨性。

3. 目标函数

FCM算法旨在对数据集 X={x1,⋯ ,xn}⊂RsX = \{x_1, \cdots, x_n\} \subset \mathbb{R}^sX={x1,,xn}Rs 进行模糊聚类,将其划分为 ccc 个簇。其核心是通过最小化一个加权平方误差和的目标函数来实现。

目标函数 JmJ_mJm 定义如下:
Jm(U,V)=∑k=1n∑i=1c(uik)m∥xk−vi∥2 J_m(U, V) = \sum_{k=1}^{n} \sum_{i=1}^{c} (u_{ik})^m \|x_k - v_i\|^2 Jm(U,V)=k=1ni=1c(uik)mxkvi2

其中:

  • U=[uik]∈Rc×nU = [u_{ik}] \in \mathbb{R}^{c \times n}U=[uik]Rc×n模糊划分矩阵uiku_{ik}uik 表示第 kkk 个数据点 xkx_kxk 属于第 iii 个簇的隶属度,满足 uik∈[0,1]u_{ik} \in [0, 1]uik[0,1]∑i=1cuik=1\sum_{i=1}^{c} u_{ik} = 1i=1cuik=1
  • V=(v1,⋯ ,vc)T∈Rc×sV = (v_1, \cdots, v_c)^T \in \mathbb{R}^{c \times s}V=(v1,,vc)TRc×s聚类中心向量viv_ivi 是第 iii 个簇的中心(原型)。
  • m>1m > 1m>1 是一个实数,称为模糊指数(fuzzifier),它控制着隶属度的模糊程度。mmm 越接近1,结果越接近硬聚类(如k-means);mmm 越大,隶属度越模糊。
  • ∥⋅∥\|\cdot\|Rs\mathbb{R}^sRs 空间中的任意由内积诱导的范数(通常为欧氏范数)。

4. 目标函数的优化过程

FCM算法采用交替优化(Alternating Optimization)策略,通过迭代求解目标函数 Jm(U,V)J_m(U, V)Jm(U,V) 的一阶必要条件来逼近其最小值。

优化过程分为两个交替进行的步骤:

步骤1:固定划分矩阵 UUU,优化聚类中心 VVV
UUU 固定时,JmJ_mJm 关于 VVV 的最优解可以通过对 viv_ivi 求偏导并令其为零得到。这给出了更新 viv_ivi 的公式:
vi=∑k=1n(uik)mxk∑k=1n(uik)m,for all i v_i = \frac{\sum_{k=1}^{n} (u_{ik})^m x_k}{\sum_{k=1}^{n} (u_{ik})^m}, \quad \text{for all } i vi=k=1n(uik)mk=1n(uik)mxk,for all i
这个公式表明,新的聚类中心 viv_ivi 是所有数据点 xkx_kxk 的加权平均值,权重为 (uik)m(u_{ik})^m(uik)m

步骤2:固定聚类中心 VVV,优化划分矩阵 UUU
VVV 固定时,JmJ_mJm 关于 UUU 的最优解同样通过求解一阶必要条件得到。对于每个数据点 xkx_kxk,其到各个中心的距离为 dik=∥xk−vi∥2d_{ik} = \|x_k - v_i\|^2dik=xkvi2

  • 非奇异情况dik>0d_{ik} > 0dik>0 对所有 iii 成立):隶属度 uiku_{ik}uik 的更新公式为:
    uik=1∑j=1c(dikdjk)2m−1 u_{ik} = \frac{1}{\sum_{j=1}^{c} \left( \frac{d_{ik}}{d_{jk}} \right)^{\frac{2}{m-1}}} uik=j=1c(djkdik)m121
    这个公式表明,xkx_kxk 对中心 viv_ivi 的隶属度与它到该中心的距离成反比,且受模糊指数 mmm 调控。

  • 奇异情况(存在某个 iii 使得 dik=0d_{ik} = 0dik=0):如果某个数据点 xkx_kxk 恰好位于某个中心 viv_ivi 上(即 dik=0d_{ik} = 0dik=0),则 uiku_{ik}uik 可以任意取值,只要满足 uik≥0u_{ik} \geq 0uik0∑i=1cuik=1\sum_{i=1}^{c} u_{ik} = 1i=1cuik=1,并且对于 djk≠0d_{jk} \neq 0djk=0jjj,有 ujk=0u_{jk} = 0ujk=0。这种情况在实际计算中需要额外的策略(如“打破平局”规则)来确定唯一的 UUU

整个优化过程就是反复执行这两个步骤,直到 UUUVVV 的变化小于预设的阈值。

5. 主要贡献点

  1. 提出反例,证伪错误理论:这是本文最核心的贡献。作者们通过构造两个精心设计的反例(Counterexample I 和 Counterexample II),首次明确证明了FCM算法可能收敛到鞍点。特别是Counterexample I,它证明了鞍点可以存在于模糊划分空间 MfcnM_{fcn}Mfcn 的几何中心 U0=[1/c]U_0=[1/c]U0=[1/c] 之外,这是一个此前未知的重要事实。
  2. 提出修正的收敛定理:基于反例的发现,论文给出了正确的收敛性结论。修正后的定理指出,FCM迭代序列的极限点(或其子序列的极限点)属于解集 Ω\OmegaΩ,其中 Ω\OmegaΩ 包含所有满足以下条件的点 (U∗,V∗)(U^*, V^*)(U,V)
    • U∗U^*UV∗V^*V 固定时最小化 Jm(U,V∗)J_m(U, V^*)Jm(U,V)
    • V∗V^*VU∗U^*U 固定时最小化 Jm(U∗,V)J_m(U^*, V)Jm(U,V)
      这个解集 Ω\OmegaΩ 包含了局部最小值和鞍点,但不包含最大值。
  3. 理论澄清与警示:该论文成功地纠正了领域内一个长期存在的理论错误,为FCM算法的后续理论研究和应用奠定了更坚实、更准确的基础。它提醒研究者在使用FCM时,其结果可能是鞍点,需要结合其他指标或领域知识来评估聚类质量。
  4. 对参数 mmm 的理论启示:Counterexample II(Tucker’s Theorem T)指出,当数据维度 n>2n > 2n>2 时,若模糊指数 m<n/(n−2)m < n/(n-2)m<n/(n2),则存在特定的鞍点。这为选择 mmm 值提供了一个(尽管在实践中可能有限)理论依据。

6. 算法实现过程详解

FCM算法的实现是一个典型的迭代过程,具体步骤如下:

输入:数据集 X={x1,⋯ ,xn}X = \{x_1, \cdots, x_n\}X={x1,,xn},簇的数量 ccc,模糊指数 m>1m > 1m>1,停止阈值 ϵ>0\epsilon > 0ϵ>0

输出:模糊划分矩阵 UUU 和聚类中心 VVV

初始化

  1. 随机初始化模糊划分矩阵 U(0)U^{(0)}U(0),使其满足隶属度约束条件(每列元素和为1)。
  2. 根据 U(0)U^{(0)}U(0) 和公式 vi=∑k=1n(uik)mxk∑k=1n(uik)mv_i = \frac{\sum_{k=1}^{n} (u_{ik})^m x_k}{\sum_{k=1}^{n} (u_{ik})^m}vi=k=1n(uik)mk=1n(uik)mxk 计算初始聚类中心 V(0)V^{(0)}V(0)
  3. 设置迭代次数 k=0k = 0k=0

迭代过程

  1. 更新聚类中心 V(k+1)V^{(k+1)}V(k+1):使用上一轮的划分矩阵 U(k)U^{(k)}U(k),根据公式计算新的聚类中心:
    vi(k+1)=∑k=1n(uik(k))mxk∑k=1n(uik(k))m,i=1,⋯ ,c v_i^{(k+1)} = \frac{\sum_{k=1}^{n} (u_{ik}^{(k)})^m x_k}{\sum_{k=1}^{n} (u_{ik}^{(k)})^m}, \quad i = 1, \cdots, c vi(k+1)=k=1n(uik(k))mk=1n(uik(k))mxk,i=1,,c
  2. 更新划分矩阵 U(k+1)U^{(k+1)}U(k+1):使用新计算出的聚类中心 V(k+1)V^{(k+1)}V(k+1),根据以下规则更新隶属度:
    • 对于每个数据点 xkx_kxk,计算其到所有中心的距离 dik=∥xk−vi(k+1)∥2d_{ik} = \|x_k - v_i^{(k+1)}\|^2dik=xkvi(k+1)2
    • 如果所有 dik>0d_{ik} > 0dik>0(非奇异情况),则使用标准公式:
      uik(k+1)=1∑j=1c(dikdjk)2m−1 u_{ik}^{(k+1)} = \frac{1}{\sum_{j=1}^{c} \left( \frac{d_{ik}}{d_{jk}} \right)^{\frac{2}{m-1}}} uik(k+1)=j=1c(djkdik)m121
    • 如果存在 dik=0d_{ik} = 0dik=0(奇异情况),则需要采用一个确定的策略(如将 uik=1u_{ik}=1uik=1 分配给距离为0的中心,其余为0,或采用其他平局打破规则)来唯一确定 U(k+1)U^{(k+1)}U(k+1) 的第 kkk 列。
  3. 检查收敛:计算划分矩阵或聚类中心的变化量,例如 Δ=∥U(k+1)−U(k)∥\Delta = \|U^{(k+1)} - U^{(k)}\|Δ=U(k+1)U(k)max⁡i∥vi(k+1)−vi(k)∥\max_i \|v_i^{(k+1)} - v_i^{(k)}\|maxivi(k+1)vi(k)
  4. 迭代:如果 Δ<ϵ\Delta < \epsilonΔ<ϵ,则停止迭代,输出 U(k+1)U^{(k+1)}U(k+1)V(k+1)V^{(k+1)}V(k+1) 作为最终结果。否则,令 k=k+1k = k+1k=k+1,返回步骤1。

这个过程不断交替优化 UUUVVV,直至收敛。根据本文的修正理论,最终收敛到的点 (U∗,V∗)(U^*, V^*)(U,V) 是目标函数 JmJ_mJm 的一个局部最小值或鞍点

http://www.xdnf.cn/news/1430605.html

相关文章:

  • 电动车动力电池自动点焊机|深圳比斯特自动化
  • 证明有理数集不是完备的度量空间
  • SpringBoot 整合 RabbitMQ 的完美实践
  • 【代码随想录day 22】 力扣 40.组合总和II
  • Elasticsearch 深分页限制与解决方案
  • 计算机Python毕业设计推荐:基于Django+Vue用户评论挖掘旅游系统
  • 深度学习——基于卷积神经网络实现食物图像分类之(保存最优模型)
  • 前缀和之距离和
  • 架构设计:AIGC 新规下 UGC 平台内容审核防火墙的构建
  • 【XR技术概念科普】什么是注视点渲染(Foveated Rendering)?为什么Vision Pro离不开它?
  • A股大盘数据-20250902分析
  • 深入浅出 RabbitMQ-消息可靠性投递
  • 学习日记-SpringMVC-day48-9.2
  • WPF应用程序资源和样式的使用示例
  • 洗衣店小程序的设计与实现
  • 深度学习篇---DenseNet网络结构
  • gitlab中回退代码,CI / CD 联系运维同事处理
  • VR森林经营模拟体验带动旅游经济发展
  • Time-MOE 音频序列分类任务
  • 【C++框架#2】gflags 和 gtest 安装使用
  • Redis 的跳跃表:像商场多层导航系统一样的有序结构
  • 疯狂星期四文案网第58天运营日记
  • 大模型微调数据准备全指南:清洗、标注与高质量训练集构造实战
  • 科研界“外挂”诞生了:科学多模态模型Intern-S1-mini开源
  • 我的项目我做主:Focalboard+cpolar让团队协作摆脱平台依赖
  • 大数据毕业设计选题推荐-基于大数据的电脑硬件数据分析系统-Hadoop-Spark-数据可视化-BigData
  • 临时邮箱地址获取服务器邮件工作流程与实现
  • playwright+python 实现图片对比
  • 【代码里的英雄传】Dubbo 的一生:一位分布式勇士的传奇旅程
  • 依托深兰科技AI技术生态,深兰教育携手沪上高校企业启动就业科创营