海明贴近度matlab,Matlab学习系列23.-模糊聚类分析原理及实现.docx
23. 模糊聚类分析原理及实现
聚类分析,就是用数学方法研究和处理所给定对象,按照事物间的相似性进行区分和分类的过程。
传统的聚类分析是一种硬划分,它把每个待识别的对象严格地划分到某个类中,具有非此即彼的性质,这种分类的类别界限是分明的。
随着模糊理论的建立,人们开始用模糊的方法来处理聚类问题,称为模糊聚类分析。由于模糊聚类得到了样本数与各个类别的不确定性程度,表达了样本类属的中介性,即建立起了样本对于类别的不确定性的描述,能更客观地反映现实世界。
本篇先介绍传统的两种(适合数据量较小情形,及理解模糊聚类原理):基于择近原则、模糊等价关系的模糊聚类方法。
(一)预备知识
一、模糊等价矩阵
定义1 设R=(rij)nn为模糊矩阵,I为n阶单位矩阵,若R满足
i) 自反性:I≤R (等价于rii =1);
ii) 对称性:RT=R;
则称R为模糊相似矩阵,若再满足
iii) 传递性:R2≤R(等价于)
则称R为模糊等价矩阵。
定理1 设R为n阶模糊相似矩阵,则存在一个最小的自然数k(k=lamda(m)))=1;
y=X;
例3某地区设有11个雨量站,其分布如图所示:
10年来各雨量站测得的年降雨量表如下:
现因经费问题,希望撤销几个雨量站,问撤销哪些雨量站而不会太多地减少降雨信息?
分析:对11个雨量站进行模糊聚类,同一类的只需保留一个即可。比如,已知该市决定撤销6个只保留5个雨量站,则模糊聚类为5类。
代码:
load data;
%数据归一化
[X,ps]=mapminmax(data,0,1);
X=X;
%选择计算相似程度的方法
type=3; % c=0.1, a=1, 此时也称绝对值减数法
%求模糊相似矩阵R0
R0=fuz_distance(X,type)
%将模糊相似矩阵R0改造成模糊等价矩阵R
[R,k]=tran_R(R0)
%求将样本分成8类的λ-截矩阵
R_lamda=fuz_lamda(R,8)
运行结果及说明:
归一化后的数据矩阵X:
模糊相似矩阵R0:
由R0改造成的模糊等价矩阵R:
k = 8 说明R16=R8.
将样本分为5类的λ-截矩阵R_lamda:
可以判断5类分别是:
{x1, x7} {x2, x4, x5, x6} {x3, x9} {x8, x11} {x10}
注:对于这类C均值模糊聚类问题,也可以直接调用Matlab自带的模糊聚类函数fcm.m求解。调用方式:
[center,U, obj_fcn,]=fcm(data,cluster_n)
其中,data为归一化后的样本数据,每一行是一个样本;cluster_n为聚类数;center返回最终的聚类中心矩阵;U为最终的模糊分区矩阵;obj_fcn为迭代过程中的目标函数值(越小越好)。
代码:(X为前面已归一化的样本数据)
[center,U, obj_fcn]=fcm(X,5)
maxU=max(U);
index1 = find(U(1,:)==maxU); %第一类
index2 = find(U(2,:)==maxU); %第二类
index3 = find(U(3,:)==maxU); %第三类
index4 = find(U(4,:)==maxU); %第四类
index5 = find(U(5,:)==maxU); %第五类
class1=X(index1,:) %第一类中的样本数据
class2=X(index2,:) %第二类中的样本数据
class3=X(index3,:) %第三类中的样本数据
class4=X(index4,:) %第四类中的样本数据
class5=X(index5,:) %第五类中的样本数据
运行结果略,对比class1-class5与X, 得到分类结果与前文相同。另外,分为5类的obj_fcn=1.0578, 如何选取合适的分类数,使得obj_fcn达到最小(最优模糊聚类)放到下一篇。
海明贴近度matlab,Matlab学习系列23.-模糊聚类分析原理及实现.docx相关推荐
- Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model.这个model将图片分为1000类,应该是目前为止最好的图片分类model了. 假设我现在有一些自己的图片想进行分 ...
- javascript学习系列(23):数组中的解构方法
最好的种树是十年前,其次是现在.歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的 ...
- 【Java集合学习系列】HashMap实现原理及源码分析
HashMap特性 hashMap是基于哈希表的Map接口的非同步实现,继承自AbstractMap接口,实现了Map接口(HashTable跟HashMap很像,HashTable中的方法是线程安全 ...
- 深度强化学习系列(14): A3C算法原理及Tensorflow实现
在DQN.DDPG算法中均用到了一个非常重要的思想经验回放,而使用经验回放的一个重要原因就是打乱数据之间的相关性,使得强化学习的序列满足独立同分布. 本文首先从Google于ICML2016顶会上发的 ...
- 深度强化学习系列(15): TRPO算法原理及Tensorflow实现
深入浅出理解TRPO算法 1.论文思想与原理 1.1 Surrogate function(替代函数) 1.2 目标函数 1.3 一阶近似: L函数 1.3.1 技巧一:一阶近似 1.3.2 重要性采 ...
- 学习系列——kafak入门及其原理
Kafka简介 Kafka是linkedin使用Scala编写具有高水平扩展和高吞吐量的分布式消息系统.Kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Co ...
- 【RMF】ros机器人中间件框架学习系列一:了解原理
[前言]RMF(ros机器人中间件框架)目前国内资源比较少,学起来有些困难,但出于某些原因还是需要研究一下,这里记录一下自己的学习过程,欢迎指正,共同进步 参考网站: ①:使用ROS2机器人操做系统进 ...
- Caffe 学习系列
学习列表: Google protocol buffer在windows下的编译 caffe windows 学习第一步:编译和安装(vs2012+win 64) caffe windows学习:第一 ...
- 模糊数学——距离和贴近度
先给出距离和贴近度公式:绝对距离:∑ (|A(u) - B(u)| ^ p ) ^ (1 / p)相对距离:∑ ((1 / n) * |A(u) - B(u)| ^ p ) ^ (1 / p)加权距离 ...
- 基于Matlab的小学毕业班成绩总评模糊聚类分析
目录 一.实验目的------------------2 二.实验环境------------------2 三.实验内容------------------2 1.实际问题------------- ...
最新文章
- 中国污水处理行投资建议与运营价值分析报告2022-2027年
- [Android] 触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印
- CF1260C-Infinite Fence【结论题】
- Winform中ComcoBox控件设置选定项
- 在编写mini2440 helloworld驱动遇到的问题
- matlab 关于double和im2double
- for循环、while循环、break跳出循环、continue结束本次循环、exit退出脚本
- 【转】Java多线程编程(十)-并发编程原理(分布式环境中并发问题)
- php curl 模拟微信公众号登入
- 高级JAVA工程师的岗位职责,岗位要求
- 使用 Kubernetes Ingress 对外暴露服务
- TED : Tips to boost your confidence
- 局域网下微信无法连接到服务器,微信无法连接到服务器怎么办
- 12.synchronized的锁重入、锁消除、锁升级原理?无锁、偏向锁、轻量级锁、自旋、重量级锁
- 国家标准(简称国标)下载备忘
- SEO黑帽技术只多少
- 利用JS事件让你更加愉快地划水
- SANGFOR深信服AC主主、主备模式
- 【数据库系统】—— 经典范例University数据库各表速查(大学系统)
- java短整型_JAVA个基本数据类型