模糊数学笔记:五、模糊聚类
模糊聚类分析是模糊数学中应用最为广泛的方法之一。近年来也涌现出了多种不同的模糊聚类方法,本文直接从其操作流程出发,介绍模糊聚类分析的主要内容。
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′=skxik−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=1nxik,sk=n1∑i=1n(xik−xk)2
- 平移-极差变换
x′′=xik′−min1≤i≤n{xik′}max1≤i≤n{xik′}−min1≤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=1mxikxjki=ji=j
其中 M=maxi≠j∑k=1mxikxjkM=\max _{i \neq j} \sum_{k=1}^{m} x_{i k} x_{j k}M=maxi=j∑k=1mxikxjk, 此时 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=1mxik2∑k=1mx2jk∑k=1mxikxjk
相关系数法:
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=1mxik,xˉj=m1∑k=1mxjk,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=1mexp{−43sk2(xik−xjk)2},i,j=1,2,…,n.sk=n1∑k=1n(xik−xk)2,xk=n1∑k=1nxik(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=1mxikxjk∑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.1110.100.600.50.100.860.860.5710.290.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.530.6310.620.700.530.620.6210.620.530.630.700.6210.530.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、小结
模糊聚类的操作步骤内容丰富,但其主干框架实际上只有几个关键的步骤,即本文开头的那副图。其中最关键的地方在于具体的聚类方法。
通过上述两个例子的对比,可以看到这两类方法各有优缺点:
- 传递闭包:
- 优点:由传递闭包进行聚类时不会出现重复的聚类,在考虑聚类水平时操作简单
- 缺点:需要计算传递闭包,也就是在继续聚类之前需要额外的操作
- 直接聚类:
- 优点:不需要计算传递闭包,手工操作更加简单
- 缺点:由于相似矩阵本身不一定具有传递性,因此聚类过程中可能会出现较多的重复聚类的情况
那么自然地,在具体的问题中应根据实际情况选择更有优势的方法。
模糊数学笔记:五、模糊聚类相关推荐
- 模糊数学 3、模糊聚类
------------------------2020.8.17更新------------------------------ 模糊数学视频链接:https://pan.baidu.com/s/1 ...
- 模糊数学 4、模糊模式识别
------------------------2020.8.17更新------------------------------ 模糊数学视频链接:https://pan.baidu.com/s/1 ...
- 模糊数学 5、模糊综合评判
------------------------2020.8.17更新------------------------------ 模糊数学视频链接:https://pan.baidu.com/s/1 ...
- 模糊数学笔记大全(模糊集、截集、模糊矩阵、模糊关系、模糊聚类、模糊模型识别、模糊综合决策、模糊数)
一.模糊集及其运算性质 二.模糊截集与分解定理 三.模糊隶属度函数的确定及常用隶属度函数 四.模糊矩阵与模糊关系 五.模糊聚类 六.模糊模型识别-I(最大隶属度原则) 六.模糊模型识别-II(择近原则 ...
- 模糊数学学习笔记 5:模糊聚类
个人博客地址 Glooow,欢迎光临~~~ 文章目录 1. 数据标准化 2. 建立模糊相似矩阵 1.1 相关系数类 1.2 距离类 1.3 贴近度类 3. 聚类 4. 其他问题 5. 模糊C均值法(F ...
- 最大隶属度原则_模糊数学笔记:六、模糊模型识别-I(最大隶属度原则)
1.模型识别的问题提出 模型识别,通俗地理解即是对一个类别未知的对象进行归类(或者叫分类).这里与聚类不同的是,聚类实际上是要区分出已有的样本哪些属于同一类,但并没有参考标准.而识别则事先有参考的标准 ...
- 机器学习笔记: 聚类 模糊聚类与模糊层次聚类(论文笔记 Fuzzy Agglomerative Clustering :ICAISC 2015)
前言:模糊层次聚类是参考了论文"A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forec ...
- FCM模糊聚类 学习笔记
就总结注释一下 怕忘了 我看的博客地址(模糊聚类算法 - 知乎) 逐步模糊聚类: 逐步聚类法类是中心点聚类法.(上述博客原话) 逐步聚类法是一种基于模糊划分的模糊聚类分析法.它是预先确定好待分类的样本 ...
- 基于模糊聚类和协同过滤的混合推荐系统
Hybrid Recommender System based on Fuzzy Clustering and Collaborative Filtering 给出题目,想找的话直接在Elsevier ...
最新文章
- CodeGen API分析
- 求数组中奇数偶数的个数
- TP-LINK821N无线网卡拆解分析
- Java每天5道面试题,跟我走,offer有!(八)
- LOAM_velodyne学习(四)
- 83998 连接服务器出错_来申请一个阿里云服务器玩玩?
- u852日期限制解决补丁_《赛博朋克》1.06补丁出炉:进一步提升主机版本稳定性...
- n分解后的最大乘积java_【编程题】乘积最大的拆分
- 数据结构上机实践第10周项目1 - 二叉树算法验证
- exclude函数计算_Java Stream exclude()函数删除重复项
- Django实战(一)-----用户登录与注册系统2(数据模型、admin后台、路由视图)
- 12满秩分解与奇异值分解(2)
- 根据select的内容来批量修改一个表的字段
- 华三模拟器实现不同vlan之间的隔离,端口如何配置trunk模式
- ad采样做按键开关_基于ad采样电路的多路开关量采集装置及其采集方法
- ClickHouse和Elasticsearch压测对比,谁是yyds?
- [教你做小游戏] 《五子棋》怎么判断输赢?你能5分钟交出代码吗?
- mysql MMM详解
- 基于PHP+小程序(MINA框架)+Mysql数据库的小说小程序系统设计与实现
- 郎平卸任后首次接受采访,说出执教8年的最大感受