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

使用FCM进行编码解码

文章目录

  • 1 FCM到底是什么?
  • 2 为什么论文里要用FCM?
  • 3 FCM输出的两个核心结果是什么?
    • 1. prototype / cluster centers
    • 2. membership matrix
  • 4 FCM到底在优化什么?
  • 5 FCM是怎么一步一步算出来的?
    • 第一步:先定簇数 c
    • 第二步:初始化隶属度矩阵
    • 第三步:根据隶属度更新聚类中心
    • 第四步:根据新的中心更新隶属度
    • 第五步:反复迭代直到收敛
  • 6 为什么这叫“编码”?
  • 7 为什么还能“解码”?
  • 8 解码公式到底是什么意思?
  • 9 为什么解码后不可能和原始数据完全一样?
  • 10 任务总结
    • 原始数据
    • 第一步:FCM 粒化 / 编码
    • 第二步:解粒化 / 解码
    • 第三步:评价效果
  • 数学公式
    • 1 FCM目标函数
    • 2 编码
    • 3 解码
    • 4 重构误差

1 FCM到底是什么?

FCM 的全名是 Fuzzy C-Means,中文一般叫模糊 C 均值聚类。它是一种聚类算法,但和普通聚类不一样:

普通聚类:一个点只属于一个类。 FCM:一个点可以同时属于多个类,只是“属于的程度”不同。

2 为什么论文里要用FCM?

FCM 是最常见的 fuzzy clustering 方法之一,因为它可以生成可解释的 fuzzy sets,很适合拿来做 information granules。
运行完 FCM 后,会得到两样关键东西:

prototype:也就是聚类中心、原型 membership matrix:也就是隶属度矩阵。

3 FCM输出的两个核心结果是什么?

1. prototype / cluster centers

2. membership matrix

4 FCM到底在优化什么?

FCM 的目标函数:

FCM 想找到一组最合适的中心和隶属度,让每个点和各个中心之间的“加权距离总和”尽可能小。
FCM 的目标,就是一边调整聚类中心,一边调整每个点对各中心的隶属度,让整体表示最合理。

5 FCM是怎么一步一步算出来的?

第一步:先定簇数 c

论文在二维重构图实验里就用了不同的c,并展示了 c 增加时重构误差会下降。

第二步:初始化隶属度矩阵

先给每个点随机分一组隶属度,比如一个点对 3 个簇:[0.5,0.3,0.2] 总和是 1。

第三步:根据隶属度更新聚类中心

哪个点对某个簇的隶属度高,它对这个簇中心的影响就更大。所以簇中心本质上是一个加权平均。

第四步:根据新的中心更新隶属度

如果某个点离某个中心更近,那它对这个中心的隶属度就变大;离得远,隶属度就变小。

第五步:反复迭代直到收敛

更新中心 更新隶属度 再更新中心 再更新隶属度 ...

6 为什么这叫“编码”?

编码 = 粒化 = 把原始数据表示成模糊信息粒
论文直接把 granulation 写成一个从原始空间到 [0,1]c的映射;也就是说,一个原始样本会被表示成一个长度为 c 的隶属度向量。

7 为什么还能“解码”?

因为编码后你并没有把信息完全丢掉。

8 解码公式到底是什么意思?


如果一个点几乎只属于某个中心,那重构点就很接近那个中心 如果一个点同时属于多个中心,那重构点就是多个中心之间的折中位置

9 为什么解码后不可能和原始数据完全一样?

解粒化会产生 reconstruction error,也就是重构误差

10 任务总结

原始数据

第一步:FCM 粒化 / 编码

第二步:解粒化 / 解码

第三步:评价效果


第一句: FCM 是模糊聚类,不是硬聚类。
第二句: FCM 的输出有两个核心:聚类中心 + 隶属度矩阵。
第三句: 编码就是把样本表示成“对各个中心的隶属度向量”。
第四句: 解码就是用“中心 + 隶属度”把样本重构回来。

数学公式

1 FCM目标函数

FCM 通过最小化下面这个目标函数,得到原型和隶属度矩阵:

2 编码



3 解码


4 重构误差


数值越小,说明重构越好。


http://www.cnnetsun.cn/news/2024284.html

相关文章:

  • Aligning Agents via Planning: A Benchmark for Trajectory-Level Reward
  • Java 25虚拟线程上线倒计时(某千万级金融网关72小时迁移实录:QPS翻倍、GC停顿下降92%)
  • 医疗AI部署生死线(Docker 27合规配置黄金7步法)
  • ACPI _DSM方法全解析:从UUID到Function Index的实战指南
  • realme数据恢复:综合指南5大解决方案
  • 【.NET 11 AI加速黄金配置清单】:Visual Studio 17.10 + ML.NET 4.0.1 + Windows 11 23H2 WSL2 GPU直通——实测推理速度对比表曝光
  • WordPress内核源码深度技术分析报告
  • Steam创意工坊下载实践指南:WorkshopDL深度解析
  • diff-pdf:专业PDF视觉差异检测的5大核心优势与实施指南
  • 生产IC白卡厂家推荐
  • 实在 Agent 企业级智能体深度评测:从参数解析到全场景落地验证
  • 中小企业买不起Datadog,有什么平替?——2026可观测性平台选型与智能体运维实战指南
  • UEFI HII开发避坑指南:VFR文件编译成IFR后,那些‘消失’的代码和自动生成的OpCode
  • Real Anime Z参数详解:为何禁用高步数?Turbo模型收敛机制解析
  • 从Matlab天线工具箱到实际仿真:用软件验证弗里斯公式常数-32.44dB的正确性
  • M62429电子音量芯片驱动避坑指南:从数据手册到稳定波形,这些细节你注意了吗?
  • RPC项目
  • 如何增加RAC节点_addnode.sh脚本执行与实例扩展全流程
  • 不只是pip install:深入理解sentence_transformers在PyG MovieLens中的角色与替代方案
  • PTA C语言实验代码复盘:从学生作业到面试常考算法题的提炼
  • 为什么丰田、谷歌都在布局 Multi-Agent:制造业与科技巨头的战略解读
  • 告别模拟信号:手把手教你用示波器解析汽车传感器的SENT协议数据帧
  • 玻璃幕墙使用、检查、维护知识
  • 【仅限首批内测用户公开】Docker 27隐藏AI调度开关——启用后TensorFlow容器启动速度提升62%
  • 高新技术企业(高企)管理成熟度自诊系统设计与实现
  • 用ESP32-S2做个蓝牙音箱?从ADF环境配置到播放MP3的全流程实录
  • STM32+FreeModbus实战:用AHT20传感器搭建低成本温湿度监测从机(附完整代码)
  • Hotkey Detective:3步快速解决Windows热键冲突的终极工具
  • [盖茨同步带]盖茨 Poly Chain® Carbon™ Volt® 同步带|Carbon Volt 8GTV
  • 轻型独立回转液压凿岩机(说明书+CAD图纸)