模糊聚类分析是模糊数学中应用最为广泛的方法之一。近年来也涌现出了多种不同的模糊聚类方法,本文直接从其操作流程出发,介绍模糊聚类分析的主要内容。

1、一般流程
数据预处理
相似关系建立
聚类分析
2、数据预处理方法

这一过程通常是将数据压缩到区间 [0,1][0,1][0,1]上以便于建立模糊矩阵。常用方法如下:

  • 平移-标准差变换

xik′=xik−xk‾sk(i=1,…,n;k=1,…,m)x_{i k}^{\prime}=\frac{x_{i k}-\overline{x_{k}}}{s_{k}}(i=1, \ldots, n ; k=1, \ldots, m) xik′​=sk​xik​−xk​​​(i=1,…,n;k=1,…,m)

其中,xk‾=1n∑i=1nxik,sk=1n∑i=1n(xik−xk)2\overline{x_{k}}=\frac{1}{n} \sum_{i=1}^{n} x_{i k}, s_{k}=\sqrt{\frac{1}{n} \sum_{i=1}^{n}\left(x_{i k}-x_{k}\right)^{2}}xk​​=n1​∑i=1n​xik​,sk​=n1​∑i=1n​(xik​−xk​)2​

  • 平移-极差变换

x′′=xik′−min⁡1≤i≤n{xik′}max⁡1≤i≤n{xik′}−min⁡1≤i≤n{xik′}(k=1,…,m)x^{\prime \prime}=\frac{x_{i k}^{\prime}-\min _{1 \leq i \leq n}\left\{x_{i k}^{\prime}\right\}}{\max _{1 \leq i \leq n}\left\{x_{i k}^{\prime}\right\}-\min _{1 \leq i \leq n}\left\{x_{i k}^{\prime}\right\}}(k=1, \ldots, m) x′′=max1≤i≤n​{xik′​}−min1≤i≤n​{xik′​}xik′​−min1≤i≤n​{xik′​}​(k=1,…,m)

3、相似关系的建立方法

相似关系建立主要分为:相似系数法、距离法和主观评分法,其中前2者使用最多。

第一类:相似系数法

  • 数量积法

rij={1i=j1M∑k=1mxikxjki≠jr_{i j}=\left\{\begin{matrix} 1 & i=j \\ \frac{1}{M} \sum_{k=1}^{m} x_{i k} x_{j k} & i \neq j \end{matrix} \right. rij​={1M1​∑k=1m​xik​xjk​​i=ji​=j​

其中 M=max⁡i≠j∑k=1mxikxjkM=\max _{i \neq j} \sum_{k=1}^{m} x_{i k} x_{j k}M=maxi​=j​∑k=1m​xik​xjk​, 此时 rij∈[−1,1]r_{i j} \in[-1,1]rij​∈[−1,1]

若存在 rij<0r_{i j}<0rij​<0 令所有 rij′=(1+rij)/2r_{i j}^{\prime}=\left(1+r_{i j}\right) / 2rij′​=(1+rij​)/2 使得 rij′∈[0,1]r_{i j}^{\prime} \in[0,1]rij′​∈[0,1]

  • 夹角余弦法: rij=∑k=1mxikxjk∑k=1mxik2∑k=1mx2jk\quad r_{i j}=\frac{\sum_{k=1}^{m} x_{i k} x_{j k}}{\sqrt{\sum_{k=1}^{m} x_{i k}^{2}} \sqrt{\sum_{k=1}^{m} x^{2}}_{j k}}rij​=∑k=1m​xik2​​∑k=1m​x2​jk​∑k=1m​xik​xjk​​

  • 相关系数法:

    rij=∑k=1m∣xik−xˉi∥xjk−xˉj∣∑k=1m(xik−xˉi)2∑k=1m(xjk−xˉj)2r_{i j}=\frac{\sum_{k=1}^{m}\left|x_{i k}-\bar{x}_{i} \| x_{j k}-\bar{x}_{j}\right|}{\sqrt{\sum_{k=1}^{m}\left(x_{i k}-\bar{x}_{i}\right)^{2}} \sqrt{\sum_{k=1}^{m}\left(x_{j k}-\bar{x}_{j}\right)^{2}}} rij​=∑k=1m​(xik​−xˉi​)2​∑k=1m​(xjk​−xˉj​)2​∑k=1m​∣xik​−xˉi​∥xjk​−xˉj​∣​

    其中 xˉi=1m∑k=1mxik,xˉj=1m∑k=1mxjk,i,j=1,2,…\bar{x}_{i}=\frac{1}{m} \sum_{k=1}^{m} x_{i k}, \quad \bar{x}_{j}=\frac{1}{m} \sum_{k=1}^{m} x_{j k}, i, j=1,2, \dotsxˉi​=m1​∑k=1m​xik​,xˉj​=m1​∑k=1m​xjk​,i,j=1,2,…

  • 指数相似系数法

ri=1m∑k=1mexp⁡{−34(xik−xjk)2sk2},i,j=1,2,…,n.sk=1n∑k=1n(xik−xk‾)2,xk‾=1n∑k=1nxik(k=1,…m)\begin{array}{l} r_{i}=\frac{1}{m} \sum_{k=1}^{m} \exp \left\{-\frac{3}{4} \frac{\left(x_{i k}-x_{j k}\right)^{2}}{s_{k}^{2}}\right\}, i, j=1,2, \dots, n. \\ s_{k}=\sqrt{\frac{1}{n} \sum_{k=1}^{n}\left(x_{i k}-\overline{x_{k}}\right)^{2}}, \overline{x_{k}}=\frac{1}{n} \sum_{k=1}^{n} x_{i k}(k=1, \ldots m) \end{array} ri​=m1​∑k=1m​exp{−43​sk2​(xik​−xjk​)2​},i,j=1,2,…,n.sk​=n1​∑k=1n​(xik​−xk​​)2​,xk​​=n1​∑k=1n​xik​(k=1,…m)​

  • 最大最小法

rij=∑k=1m(xik∧xjk)∑k=1m(xik∨xjk)r_{i j}=\frac{\sum_{k=1}^{m}\left(x_{i k} \wedge x_{j k}\right)}{\sum_{k=1}^{m}\left(x_{i k} \vee x_{j k}\right)} rij​=∑k=1m​(xik​∨xjk​)∑k=1m​(xik​∧xjk​)​

  • 算术平均最小法

rij=2∑k=1m(xik∧xjk)∑k=1m(xik+xjk)r_{i j}=\frac{2 \sum_{k=1}^{m}\left(x_{i k} \wedge x_{j k}\right)}{\sum_{k=1}^{m}\left(x_{i k}+x_{j k}\right)} rij​=∑k=1m​(xik​+xjk​)2∑k=1m​(xik​∧xjk​)​

  • 几何平均最小法

rij=∑k=1m(xik∧xjk)∑k=1mxikxjkr_{i j}=\frac{\sum_{k=1}^{m}\left(x_{i k} \wedge x_{j k}\right)}{\sum_{k=1}^{m} \sqrt{x_{i k} x_{j k}}} rij​=∑k=1m​xik​xjk​​∑k=1m​(xik​∧xjk​)​

第二类:距离法

  • 绝对值倒数法

rij={1,i=jMm∣xik−xjk∣,i≠jr_{i j} =\left\{\begin{matrix} 1, i=j \\ \frac{M}{m}\left|x_{i k}-x_{j k}\right| \end{matrix}, i \neq j\right. rij​={1,i=jmM​∣xik​−xjk​∣​,i​=j

  • 绝对值指数法
    $$
    r_{i j} =\exp \left{-\sum_{k=1}^{m}\left|x_{i k}-x_{j k}\right|\right}

    $$

  • 绝对值减数法

rij={1−c∑k=1m∣xik−xjk∣,i≠jr_{i j} =\left\{1-c \sum_{k=1}^{m}\left|x_{i k}-x_{j k}\right|, \quad i \neq j\right. rij​={1−ck=1∑m​∣xik​−xjk​∣,i​=j

其中ccc适当选取,使得 rijr_{ij}rij​在 [0,1][0,1][0,1] 内分散开

  • 海明距离

rij=d(xi,xj)=∑k=1m∣xik−xjk∣r_{ij}=d\left(x_{i}, x_{j}\right)= \sum_{k=1}^{m}\left|x_{i k}-x_{j k}\right| rij​=d(xi​,xj​)=k=1∑m​∣xik​−xjk​∣

  • 欧式距离

rij=d(xi,xj)=∑k=1m(xik−xjk)2r_{ij}=d\left(x_{i}, x_{j}\right) =\sqrt{\sum_{k=1}^{m}\left(x_{i k}-x_{j k}\right)^{2}} rij​=d(xi​,xj​)=k=1∑m​(xik​−xjk​)2​

  • 切比雪夫距离

rij=d(xi,xj)=⋁k=1m∣xik−xjk∣r_{ij}=d\left(x_{i}, x_{j}\right)=\bigvee_{k=1}^{m}\left|x_{i k}-x_{j k}\right| rij​=d(xi​,xj​)=k=1⋁m​∣xik​−xjk​∣

第三类:主观判别法

这类方法是最为简单的一类,首先由专家打分,给出所有关系的值,再对专家的意见进行加权求和即可。

用上述方法生成一个矩阵R=(rij)n×nR=(r_{ij})_{n\times n}R=(rij​)n×n​即是相似矩阵,由于通常都要进行归一化处理,其所有元素均在[0,1][0,1][0,1]区间上,因此该矩阵是一个模糊矩阵。

4、动态聚类的方法I-传递闭包法
  • 传递闭包法:

    • 求出模糊相似矩阵RRR的传递闭包t(R)t(R)t(R);
    • 按λ\lambdaλ由大到小进行聚类, 这里λ\lambdaλ是传递闭包中的元素,由大到小排列即可
    • 画出动态聚类图
  • 传递闭包法举例:

设有5组数据:
x1=(80,10,6,2),x2=(50,1,6,4),x3=(90,6,4,6),x4=(40,5,7,3),x5=(10,1,2,4)x_{1}=(80,10,6,2), x_{2}=(50,1,6,4), x_{3}=(90,6,4,6), x_{4}=(40,5,7,3), x_{5}=(10,1,2,4) x1​=(80,10,6,2),x2​=(50,1,6,4),x3​=(90,6,4,6),x4​=(40,5,7,3),x5​=(10,1,2,4)
先对其进行归一化处理,得到特性矩阵(每一行对应一组数据):
X=(0.8910.860.330.560.100.860.6710.600.5710.440.510.50.110.100.290.67)\boldsymbol{X}=\left(\begin{matrix} 0.89 & 1 & 0.86 & 0.33 \\ 0.56 & 0.10 & 0.86 & 0.67 \\ 1 & 0.60 & 0.57 & 1 \\ 0.44 & 0.5 & 1 & 0.5 \\ 0.11 & 0.10 & 0.29 & 0.67 \end{matrix}\right) X=⎝⎜⎜⎜⎜⎛​0.890.5610.440.11​10.100.600.50.10​0.860.860.5710.29​0.330.6710.50.67​⎠⎟⎟⎟⎟⎞​
通过两次合成,得到其传递闭包:
t(R)=R4=(10.630.620.630.530.6310.620.700.530.620.6210.620.530.630.700.6210.530.530.530.530.531)t(R)=R^{4}=\left(\begin{matrix} {1} & {0 . 6 3} & {0 . 6 2} & {0 . 6 3} & {0 . 5 3} \\ {0 . 6 3} & {1} & {0 . 6 2} & {0 . 7 0} & {0 . 5 3} \\ {0 . 6 2} & {0 . 6 2} & {1} & {0 . 6 2} & {0 . 5 3} \\ {0 . 6 3} & {0 . 7 0} & {0 . 6 2} & {1} & {0 . 5 3} \\ {0 . 5 3} & {0 . 5 3} & {0 . 5 3} & {0 . 5 3} & {1} \end{matrix}\right) t(R)=R4=⎝⎜⎜⎜⎜⎛​10.630.620.630.53​0.6310.620.700.53​0.620.6210.620.53​0.630.700.6210.53​0.530.530.530.531​⎠⎟⎟⎟⎟⎞​
对所有元素排序,容易得到:
1>0.70>0.63>0.62>0.531>0.70>0.63>0.62>0.53 1>0.70>0.63>0.62>0.53
因此依次取λ\lambdaλ截矩阵,便可得到聚类结果:

  • λ=1\lambda=1λ=1时: XXX 被分成 5 类:

{x1},{x2},{x3},{x4},{x5}\left\{x_{1}\right\},\left\{x_{2}\right\},\left\{x_{3}\right\},\left\{x_{4}\right\},\left\{x_{5}\right\} {x1​},{x2​},{x3​},{x4​},{x5​}

  • λ=0.7\lambda=0.7λ=0.7时: XXX 被分成 4 类:

{x1},{x3},{x2,x4},{x5}\left\{x_{1}\right\},\left\{x_{3}\right\},\left\{x_{2},x_{4}\right\},\left\{x_{5}\right\} {x1​},{x3​},{x2​,x4​},{x5​}

  • λ=0.63\lambda=0.63λ=0.63时: XXX 被分成 3 类:

{x1,x2,x4},{x3},{x5}\left\{x_{1},x_{2},x_{4}\right\},\left\{x_{3}\right\},\left\{x_{5}\right\} {x1​,x2​,x4​},{x3​},{x5​}

  • λ=0.62\lambda=0.62λ=0.62时: XXX 被分成 2 类:

{x1,x2,x3,x4},{x5}\left\{x_{1},x_{2},x_{3},x_{4}\right\},\left\{x_{5}\right\} {x1​,x2​,x3​,x4​},{x5​}

  • λ=0.53\lambda=0.53λ=0.53时: XXX 被分成 1 类:

{x1,x2,x3,x4,x5}\left\{x_{1},x_{2},x_{3},x_{4},x_{5}\right\} {x1​,x2​,x3​,x4​,x5​}

5、动态聚类的方法II-直接聚类法
  • 直接聚类法:

直接聚类法实际上与传递闭包法只有一个区别:即不用计算传递闭包,而是直接由相似矩阵进行聚类。

  • 例:

仍以上例数据为基础,直接根据相似矩阵给出λ\lambdaλ由大到小的排序:
1>0.70>0.63>0.62>0.56>0.55>0.54>0.53>0.38>0.37>0.241>0.70>0.63>0.62>0.56>0.55>0.54>0.53>0.38>0.37>0.24 1>0.70>0.63>0.62>0.56>0.55>0.54>0.53>0.38>0.37>0.24
类似传递闭包的方法,此时仍然要考虑λ=1,0.7,0.63,0.62\lambda=1,0.7,0.63,0.62λ=1,0.7,0.63,0.62几种情况的聚类,而上述方法已经将这些聚类结果给出了,因此只需要考虑其后的聚类。

  • λ=0.56,0.55,0.54\lambda=0.56,0.55,0.54λ=0.56,0.55,0.54时: XXX 被分成 2 类:

{x1,x2,x3,x4},{x5}\left\{x_{1},x_{2},x_{3},x_{4}\right\},\left\{x_{5}\right\} {x1​,x2​,x3​,x4​},{x5​}

也就是说,实际上0.54≤λ≤0.620.54 \leq \lambda \leq 0.620.54≤λ≤0.62时聚类水平不变。而由上例知,在λ=0.53\lambda=0.53λ=0.53时所有类别已全部归为同一类,因此不需要再继续聚类了。

6、小结

模糊聚类的操作步骤内容丰富,但其主干框架实际上只有几个关键的步骤,即本文开头的那副图。其中最关键的地方在于具体的聚类方法。

通过上述两个例子的对比,可以看到这两类方法各有优缺点:

  • 传递闭包:

    • 优点:由传递闭包进行聚类时不会出现重复的聚类,在考虑聚类水平时操作简单
    • 缺点:需要计算传递闭包,也就是在继续聚类之前需要额外的操作
  • 直接聚类:
    • 优点:不需要计算传递闭包,手工操作更加简单
    • 缺点:由于相似矩阵本身不一定具有传递性,因此聚类过程中可能会出现较多的重复聚类的情况

那么自然地,在具体的问题中应根据实际情况选择更有优势的方法。

模糊数学笔记:五、模糊聚类相关推荐

  1. 模糊数学 3、模糊聚类

    ------------------------2020.8.17更新------------------------------ 模糊数学视频链接:https://pan.baidu.com/s/1 ...

  2. 模糊数学 4、模糊模式识别

    ------------------------2020.8.17更新------------------------------ 模糊数学视频链接:https://pan.baidu.com/s/1 ...

  3. 模糊数学 5、模糊综合评判

    ------------------------2020.8.17更新------------------------------ 模糊数学视频链接:https://pan.baidu.com/s/1 ...

  4. 模糊数学笔记大全(模糊集、截集、模糊矩阵、模糊关系、模糊聚类、模糊模型识别、模糊综合决策、模糊数)

    一.模糊集及其运算性质 二.模糊截集与分解定理 三.模糊隶属度函数的确定及常用隶属度函数 四.模糊矩阵与模糊关系 五.模糊聚类 六.模糊模型识别-I(最大隶属度原则) 六.模糊模型识别-II(择近原则 ...

  5. 模糊数学学习笔记 5:模糊聚类

    个人博客地址 Glooow,欢迎光临~~~ 文章目录 1. 数据标准化 2. 建立模糊相似矩阵 1.1 相关系数类 1.2 距离类 1.3 贴近度类 3. 聚类 4. 其他问题 5. 模糊C均值法(F ...

  6. 最大隶属度原则_模糊数学笔记:六、模糊模型识别-I(最大隶属度原则)

    1.模型识别的问题提出 模型识别,通俗地理解即是对一个类别未知的对象进行归类(或者叫分类).这里与聚类不同的是,聚类实际上是要区分出已有的样本哪些属于同一类,但并没有参考标准.而识别则事先有参考的标准 ...

  7. 机器学习笔记: 聚类 模糊聚类与模糊层次聚类(论文笔记 Fuzzy Agglomerative Clustering :ICAISC 2015)

    前言:模糊层次聚类是参考了论文"A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forec ...

  8. FCM模糊聚类 学习笔记

    就总结注释一下 怕忘了 我看的博客地址(模糊聚类算法 - 知乎) 逐步模糊聚类: 逐步聚类法类是中心点聚类法.(上述博客原话) 逐步聚类法是一种基于模糊划分的模糊聚类分析法.它是预先确定好待分类的样本 ...

  9. 基于模糊聚类和协同过滤的混合推荐系统

    Hybrid Recommender System based on Fuzzy Clustering and Collaborative Filtering 给出题目,想找的话直接在Elsevier ...

最新文章

  1. CodeGen API分析
  2. 求数组中奇数偶数的个数
  3. TP-LINK821N无线网卡拆解分析
  4. Java每天5道面试题,跟我走,offer有!(八)
  5. LOAM_velodyne学习(四)
  6. 83998 连接服务器出错_来申请一个阿里云服务器玩玩?
  7. u852日期限制解决补丁_《赛博朋克》1.06补丁出炉:进一步提升主机版本稳定性...
  8. n分解后的最大乘积java_【编程题】乘积最大的拆分
  9. 数据结构上机实践第10周项目1 - 二叉树算法验证
  10. exclude函数计算_Java Stream exclude()函数删除重复项
  11. Django实战(一)-----用户登录与注册系统2(数据模型、admin后台、路由视图)
  12. 12满秩分解与奇异值分解(2)
  13. 根据select的内容来批量修改一个表的字段
  14. 华三模拟器实现不同vlan之间的隔离,端口如何配置trunk模式
  15. ad采样做按键开关_基于ad采样电路的多路开关量采集装置及其采集方法
  16. ClickHouse和Elasticsearch压测对比,谁是yyds?
  17. [教你做小游戏] 《五子棋》怎么判断输赢?你能5分钟交出代码吗?
  18. mysql MMM详解
  19. 基于PHP+小程序(MINA框架)+Mysql数据库的小说小程序系统设计与实现
  20. 郎平卸任后首次接受采访,说出执教8年的最大感受

热门文章

  1. Windows7 IIS 500-内部服务器错误的解决方法
  2. 1.10a – 如何设计你的第一个程序
  3. 01,完全,多重,分组
  4. HTML5 Canvas Text实例1
  5. windows下线程创建
  6. easyui 行编辑修改
  7. Linux 64bit下Oracle11g安装手册
  8. Jekyll Bootstrap初始
  9. HDU ACM 4031 Attack (树状数组--单点查询+区间更新)
  10. ARM Linux内核Input输入子系统浅解