TFS-2003《A Contribution to Convergence Theory of Fuzzy c-Means and Derivatives》

发布于:2025-09-09 ⋅ 阅读:(21) ⋅ 点赞:(0)
  • 核心思想:
    这篇论文的核心思想是重新审视模糊聚类算法(特别是模糊C均值算法,FCM)的收敛性和优化特性。它不仅仅局限于传统的基于目标函数最小化的视角,而是通过重新表述(reformulation)模糊聚类算法,并应用巴拿赫(Banach)压缩映射原理,将算法的迭代过程视为不动点迭代(Fixed-Point Iteration)。论文重点研究了**吸引不动点(Attractive Fixed Points)的性质,并建立了吸引不动点与目标函数局部最小值(Local Minima)**之间的关系,明确指出如果一个不动点是吸引的,那么它就排除了是鞍点(Saddle Point)的可能性。此外,论文还从一个更直观的角度解释了概率型(Probabilistic)和可能性型(Possibilistic)隶属度函数的来源,并将它们置于一个统一的框架下进行讨论。

  • 目标函数:
    论文讨论了多种模糊聚类算法及其对应的目标函数。对于标准的 FCM 算法,其目标函数 JJJ 如公式 (1) 所示:
    J=∑i=1c∑k=1n(uik)m(dik)2J = \sum_{i=1}^{c} \sum_{k=1}^{n} (u_{ik})^m (d_{ik})^2J=i=1ck=1n(uik)m(dik)2
    其中:

    • ccc 是聚类数。
    • nnn 是数据点总数。
    • uiku_{ik}uik 是数据点 kkk 属于聚类 iii 的隶属度。
    • mmm 是模糊指数(fuzzifier),控制聚类的模糊程度 (m>1m > 1m>1)。
    • dikd_{ik}dik 是数据点 kkk 到聚类 iii 原型(中心)viv_ivi 的距离,通常为欧氏距离 dik=∣∣xk−vi∣∣d_{ik} = ||x_k - v_i||dik=∣∣xkvi∣∣
      此外,论文还讨论了其他算法如 PCM (Possibilistic C-Means) 及其变体,它们使用修改后的目标函数,例如 PCM 的目标函数 (9):
      Jp=∑i=1c∑k=1n(uik)m(dik)2+∑i=1cηi∑k=1n(1−uik)mJ_{p} = \sum_{i=1}^{c} \sum_{k=1}^{n} (u_{ik})^m (d_{ik})^2 + \sum_{i=1}^{c} \eta_i \sum_{k=1}^{n} (1 - u_{ik})^mJp=i=1ck=1n(uik)m(dik)2+i=1cηik=1n(1uik)m
      其中 ηi\eta_iηi 是常数参数。
  • 目标函数详细的优化过程:
    论文分析了模糊聚类算法普遍采用的**交替优化(Alternating Optimization, AO)**策略来最小化目标函数。具体步骤如下:

    1. 初始化: 初始化聚类原型 viv_ivi (i=1,…,ci=1,\ldots,ci=1,,c)。
    2. 隶属度更新(保持原型不变): 通过最小化目标函数 JJJ 对隶属度 uiku_{ik}uik 求导并令其为零,得到更新公式。对于概率型 FCM 隶属度 (7):
      uik=1∑j=1c(dikdjk)2m−1u_{ik} = \frac{1}{\sum_{j=1}^{c} \left( \frac{d_{ik}}{d_{jk}} \right)^{\frac{2}{m-1}}}uik=j=1c(djkdik)m121
    3. 原型更新(保持隶属度不变): 通过最小化目标函数 JJJ 对原型 viv_ivi 求导并令其为零,得到更新公式。对于点状 FCM 原型模型 (8):
      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
    4. 迭代: 重复步骤 2 和 3,直到隶属度和/或原型的变化小于某个预设阈值。
      论文指出,Bezdek 已经证明在每次半步(更新 UUU 或更新 VVV)中,目标函数 JJJ 都是严格递减的。然而,由于 UUUVVV 是独立优化的,算法可能会收敛到鞍点而不是最小值。
  • 主要的贡献点:

    1. 统一视角下的隶属度函数解释: 论文从保持距离与相似度对偶性及尺度不变性的角度,独立于目标函数推导出了概率型和一种修改的可能性型隶属度函数 (17) 和 (15),为这些函数提供了更直观的解释。
    2. 收敛性证明(针对 AGK 算法): 为轴平行的 Gustafson-Kessel (AGK) 算法提供了一个收敛性证明,该证明方法比传统方法更容易推广到其他算法。
    3. 不动点与极值点关系的建立: 通过重新表述算法并应用 Banach 压缩映射原理,建立了吸引不动点与目标函数极小值点(排除鞍点)之间的关系。证明了如果一个不动点是吸引的,那么它必定是目标函数的一个(局部)最小值点。
    4. FCM 吸引不动点的充分条件: 针对 FCM 算法,推导出了一个判断不动点是否为吸引不动点的充分条件(定理 10 和推论 1,公式 30 和 31)。这个条件与清晰分配(隶属度接近 1)和模糊分配(隶属度居中)的数据点数量比例有关。
    5. 单调性分析的推广: 将 Bezdek 关于 FCM 目标函数单调递减的结论推广到了其他算法(如 AGK),并分析了可能性型聚类(如 PCM)的目标函数单调性(可能是递增)。
  • 算法的实现过程详解:
    FCM 算法的具体实现过程如下:

    1. 输入:
      • 数据集 X={x1,x2,...,xn}X = \{x_1, x_2, ..., x_n\}X={x1,x2,...,xn},其中 xk∈Rdx_k \in \mathbb{R}^dxkRd
      • 聚类数 ccc (1<c<n1 < c < n1<c<n)。
      • 模糊指数 mmm (m>1m > 1m>1)。
      • 停止阈值 ϵ\epsilonϵ (一个很小的正数)。
      • 最大迭代次数 TTT (可选)。
    2. 初始化:
      • 初始化隶属度矩阵 U(0)=[uik(0)]U^{(0)} = [u_{ik}^{(0)}]U(0)=[uik(0)],通常随机生成,满足约束条件 ∑i=1cuik=1\sum_{i=1}^{c} u_{ik} = 1i=1cuik=1 (对所有 kkk) 和 0<uik<10 < u_{ik} < 10<uik<1
      • 设置迭代计数器 t=0t = 0t=0
    3. 迭代循环:
      • 重复以下步骤直到收敛 (∣∣U(t+1)−U(t)∣∣<ϵ||U^{(t+1)} - U^{(t)}|| < \epsilon∣∣U(t+1)U(t)∣∣<ϵ) 或达到最大迭代次数 TTT
        • 步骤 1:更新聚类原型(中心) VVV
          • 根据当前的隶属度矩阵 U(t)U^{(t)}U(t) 和数据集 XXX,使用原型更新公式 (8) 计算新的聚类中心 vi(t+1)v_i^{(t+1)}vi(t+1)
            vi(t+1)=∑k=1n(uik(t))mxk∑k=1n(uik(t))m,i=1,…,cv_i^{(t+1)} = \frac{\sum_{k=1}^{n} (u_{ik}^{(t)})^m x_k}{\sum_{k=1}^{n} (u_{ik}^{(t)})^m}, \quad i=1,\ldots,cvi(t+1)=k=1n(uik(t))mk=1n(uik(t))mxk,i=1,,c
        • 步骤 2:更新隶属度矩阵 UUU
          • 根据更新后的聚类中心 V(t+1)V^{(t+1)}V(t+1) 和数据集 XXX,使用隶属度更新公式 (7) 计算新的隶属度 uik(t+1)u_{ik}^{(t+1)}uik(t+1)
            uik(t+1)=1∑j=1c(∣∣xk−vi(t+1)∣∣∣∣xk−vj(t+1)∣∣)2m−1,i=1,…,c;k=1,…,nu_{ik}^{(t+1)} = \frac{1}{\sum_{j=1}^{c} \left( \frac{||x_k - v_i^{(t+1)}||}{||x_k - v_j^{(t+1)}||} \right)^{\frac{2}{m-1}}}, \quad i=1,\ldots,c; k=1,\ldots,nuik(t+1)=j=1c(∣∣xkvj(t+1)∣∣∣∣xkvi(t+1)∣∣)m121,i=1,,c;k=1,,n
          • (注意:如果某个距离 ∣∣xk−vi(t+1)∣∣||x_k - v_i^{(t+1)}||∣∣xkvi(t+1)∣∣ 为 0,则直接设置 uik(t+1)=1u_{ik}^{(t+1)} = 1uik(t+1)=1ujk(t+1)=0u_{jk}^{(t+1)} = 0ujk(t+1)=0 对所有 j≠ij \neq ij=i)。
        • 步骤 3:更新迭代计数器: t=t+1t = t + 1t=t+1
    4. 输出:
      • 最终的隶属度矩阵 U(t)U^{(t)}U(t)
      • 最终的聚类中心 V(t)V^{(t)}V(t)
      • (可选)根据应用需求,可以基于最终的隶属度矩阵 U(t)U^{(t)}U(t) 生成硬划分(例如,将每个数据点分配给隶属度最高的聚类)。

    关于吸引不动点的检查(基于论文贡献):
    在算法收敛后,可以应用论文中提出的定理 10 或推论 1 来检查得到的不动点 (U∗,V∗)(U^*, V^*)(U,V) 是否为吸引不动点:

    • 计算与该不动点相关的值 g(U∗)g(U^*)g(U),其中 ggg 由公式 (30) 或 (31) 定义。
    • 如果 g(U∗)<0g(U^*) < 0g(U)<0,则该不动点是吸引的,根据论文理论,这表明算法找到了目标函数 JJJ 的一个(局部)最小值,而非鞍点。
    • 如果 g(U∗)≥0g(U^*) \geq 0g(U)0,则无法根据此条件判断该不动点是否为吸引的(它可能是鞍点或非吸引的最小值点)。在这种情况下,使用不同的初始值重新运行算法可能是一个好主意。

希望这个详细的分析对您理解这篇论文有所帮助。


网站公告

今日签到

点亮在社区的每一天
去签到