使用FCM进行编码解码
文章目录1 FCM到底是什么?2 为什么论文里要用FCM?3 FCM输出的两个核心结果是什么?1. prototype / cluster centers2. membership matrix4 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 centers2. membership matrix4 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.coloradmin.cn/o/2542285.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!