模糊聚类FCM算法和基于GA遗传优化的FCM聚类算法matlab仿真
目录
1.算法概述
2.仿真效果预览
3.MATLAB部分代码预览
4.完整MATLAB程序
1.算法概述
在各种糊聚类算法中 ,模糊C -均值聚类算法FCM (FuzzyC MeanClusteringAlgorithm )的应用最为广泛.但在实际的应用中 ,FCM算法却容易陷入局部最优解.因此 ,提出了一种基于遗传算法GA(GeneticAlgorithm )的模糊聚类分析方法 ,它利用了遗传算法随机搜索的特点 ,可以避免陷入局部最优解.实验表明 ,将该遗传算法与FCM算法结合起来进行聚类分析 ,比单一使用遗传算法或单一使用FCM算法进行聚类分析的效果都要好.
针对FCM聚类,GA-FCM聚类采用了GA与FCM(GA-FCM)聚类进行全局搜索,克服了FCM聚类容易陷入局部极小值的问题.GA-FCM聚类是以全局最优个体将GA聚类用一个最优个体,迭代过程中既包括了GA运算.它依据GA的随机性扩大了搜索范围,之后在所找到的个体.
模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则是一种柔性的模糊划分。
首先,需要一种方法度量两个样本的相似性,这个就是距离。FCM是一种重要的聚类算法,其目标是将n维空间中的数据X = {x_1, ..., x_N}分配到C个聚类中心v_1, ..., v_C。在欧氏距离意义下,数据靠近哪个聚类中心就属于哪个类。
把这种一个样本属于结果的这种相似的程度称为样本的隶属度,一般用表示,表示一个样本相似于不同结果的一个程度指标。
基于此,假定数据集为X,如果把这些数据划分成c类的话,那么对应的就有c个类中心为C,每个样本j属于某一类i的隶属度为,则定义一个FCM目标函数及其约束条件如下所示:
分别对其中的变量、求导数,求该目标函数的极值。
在最终的结果中,与是相互包含的,在fcm算法的初始阶段既没有,也没有,所以在程序开始时可以任意赋值给和其中一个,迭代计算。
FCM类中心的更新法则:
看式子可以发现也是一个加权平均,类i确定后,首先将所有点到该类的隶属度求和,然后对每个点,隶属度除以这个和就是所占的比重,乘以就是这个点对于这个类i的贡献值了。
2.仿真效果预览
matlab2022a仿真结果如下:
3.MATLAB部分代码预览
data=rand(100,2).*10;
max=10;%最大值
min=0;%最小值
cluster_n=5;%所要聚类的个数
pop_size=150;%种群大小
Pc=0.25;%交叉概率
Pm=0.05;%变异概率
max_run=300;%最大运行次数
N=size(data,2);%特征维数
Num_boolean=8;%表示“7.5“所要得二进制个数
G_F=zeros(pop_size,1);%染色体适应度
U=zeros(cluster_n, size(data,1));%初始化隶度矩U
expo=2;%权值m大小
SL=2;
min_impro=0.0001;G=round(rand(pop_size,cluster_n*N*Num_boolean));
for h=1:max_run
for i=1:pop_size %遍历整个种群center=zeros(cluster_n,N);%初始化单个染色体中心center=code(G(i,:),cluster_n,N,max,min,Num_boolean);%(1)对染色体解码,得到实数表示的聚类中心[U,obj_fitness(i),obj(i)]=Uconvert(data, cluster_n, expo,center);endif i > 1,if abs(obj(i) - obj(i-10)) < min_impro, break; end,endT(h)=h; Fit=obj;[Order,Index]=sort(Fit);BF=Order(1);BFI=BF;BG=G(Index(1),:);ln=1;for i=1:1:SLBGG(i,:)=G(Index(ln),:);ln=ln+1;end Best_value(h)=Order(1);Best_chrom=G(Index(1),:);NG=selection(G,obj_fitness,pop_size);NG=crossover(NG,Pc,pop_size);NG=mutation(NG,Pm,pop_size);Rs=4;for i=1:1:SLNG(pop_size-Rs,:)=BGG(i,:);Rs=Rs-1;endG=NG;
end
center
b=sort(Best_value);
Pbest=b(1)plot(T,Best_value);
plotflag=2;
M=2;
[U2,P,Dist,Cluster_Res,Obj_Fcn,iter]=fuzzycm(data,cluster_n,plotflag,M)
A_019
4.完整MATLAB程序
matlab源码说明_我爱C编程的博客-CSDN博客
V
模糊聚类FCM算法和基于GA遗传优化的FCM聚类算法matlab仿真相关推荐
- 基于GA遗传优化的flog任务调度算法matlab仿真
目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 4.完整MATLAB 1.算法仿真效果 matlab2022a仿真结果如下: 2.MATLAB核心程序 .......... ...
- 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码
路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 文章目录 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法 ...
- 【MATLAB教程案例12】基于GA遗传优化算法的函数极值计算matlab仿真及其他应用
FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...
- m基于GA遗传优化+SA模拟退火的混合改进算法的多产品多机器生产优化matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 这里,我们首先介绍一下改进算法的基本原理,按照前面说的,这里我们主要将GA和SA进行合并. 这里,我 ...
- m基于GA遗传优化算法的认知中继网络最优中继功率分配和最佳中继节点选择算法matlab仿真
目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 如图1表示一个潜伏式认知中继网络,在这个场景中有一对主用户和一对次级用户,主用户由一个发射器 ...
- m基于GA遗传优化算法的陆基制导系统地面站布设策略matlab仿真,并输出GDOP值
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 遗传算法的起源可追溯到20世纪60年代初期.1967年,美国密歇根大学J. Holland教授的学生 ...
- m基于GA遗传优化的GRNN广义回归神经网络销售数据预测算法matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 随着市场经济的发展和全球化,国内外企业面临着越来越残酷的市场竞争,要想赢得竞争,赢得市场,从事商品销 ...
- 【ISAR成像定标方法(3)—基于SGP4模型的空间目标定标方法MATLAB仿真】
目录 前提介绍 基于SGP4模型的转速估计 基于SGP4模型的空间目标定标仿真实验 结语 前提介绍 本章内容简介:本文研究了使用双行轨道报和SGP4模型估计空间LEO目标位置信息,并根据几何关系推测目 ...
- 差分进化算法_基于状态估计反馈的策略自适应差分进化算法
差分进化算法框架下,借鉴闭环控制思想,设计状态评价因子,通过计算种群个体的进化状态估计值,实现变异策略的自适应切换,指导下一代种群的进化,以提高算法搜索性能. 王柳静, 张贵军, 周晓根. 基于状态估 ...
最新文章
- GAN在信息检索领域的应用
- php web框架 symfony简介
- WCF 绑定(Binding)
- DL之CNN优化技术:学习卷积神经网络CNN的优化、实践经验(练习调参)、从代码深刻认知CNN架构之练习技巧
- 匠心功能农业-农业大健康·弘本农业:对话农民丰收节交易会
- Geospark加载PostgreSQL数据库
- netty系列之:搭建自己的下载文件服务器
- 使用Pycharm的一些错误
- Python中的顺序表介绍
- vue与原生app的对接交互的方法(混合开发)
- eclipse 启动服务后,部署的文件一直是旧的文件的原因分析
- 吴恩达神经网络和深度学习-学习笔记-5-参数和超参数
- docker 1.8+之后ubuntu安装指定版本docker-engine
- Java 引用jar包
- 例4.4 最大公约数 - 九度教程第47题(最大公约数GCD)
- Linux下编写GT911触摸驱动
- python建立字典购物_新的一天!昨日内容回顾+购物车系统的初步实现+字典的概念和基本操作...
- python re模块下载_python re模块
- 营销推广的好工具:博客营销
- 服务器对比个人计算机,服务器与一般电脑有何区别,为什么差价很大?