17遗传算法改进的模糊C-均值聚类MATLAB源代码.docxVIP

17遗传算法改进的模糊C-均值聚类MATLAB源代码.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
17遗传算法改进的模糊C-均值聚类MATLAB源代码

遗传算法改进的模糊C-均值聚类MATLAB源代码模糊C-均值算法容易收敛于局部极小点,为了克服该缺点,将遗传算法应用于模糊C-均值算法(FCM)的优化计算中,由遗传算法得到初始聚类中心,再使用标准的模糊C-均值聚类算法得到最终的分类结果。function [BESTX,BESTY,ALLX,ALLY]=GAFCM(K,N,Pm,LB,UB,D,c,m)%% 此函数实现遗传算法,用于模糊C-均值聚类% GreenSim团队——专业级算法设计代写程序% 欢迎访问GreenSim团队主页→/greensim%% 输入参数列表% K 迭代次数% N 种群规模,要求是偶数% Pm 变异概率% LB 决策变量的下界,M×1的向量% UB 决策变量的上界,M×1的向量% D 原始样本数据,n×p的矩阵% c 分类个数% m 模糊C均值聚类数学模型中的指数%% 输出参数列表% BESTX K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体% BESTY K×1矩阵,记录每一代的最优个体的评价函数值% ALLX K×1细胞结构,每一个元素是M×N矩阵,记录全部个体% ALLY K×N矩阵,记录全部个体的评价函数值%% 第一步:M=length(LB);%决策变量的个数%种群初始化,每一列是一个样本farm=zeros(M,N);for i=1:M x=unifrnd(LB(i),UB(i),1,N); farm(i,:)=x;end%输出变量初始化ALLX=cell(K,1);%细胞结构,每一个元素是M×N矩阵,记录每一代的个体ALLY=zeros(K,N);%K×N矩阵,记录每一代评价函数值BESTX=cell(K,1);%细胞结构,每一个元素是M×1向量,记录每一代的最优个体BESTY=zeros(K,1);%K×1矩阵,记录每一代的最优个体的评价函数值k=1;%迭代计数器初始化%% 第二步:迭代过程while k=K%% 以下是交叉过程 newfarm=zeros(M,2*N); Ser=randperm(N);%两两随机配对的配对表 A=farm(:,Ser(1)); B=farm(:,Ser(2)); P0=unidrnd(M-1); a=[A(1:P0,:);B((P0+1):end,:)];%产生子代a b=[B(1:P0,:);A((P0+1):end,:)];%产生子代b newfarm(:,2*N-1)=a;%加入子代种群 newfarm(:,2*N)=b; for i=1:(N-1) A=farm(:,Ser(i)); B=farm(:,Ser(i+1)); P0=unidrnd(M-1); a=[A(1:P0,:);B((P0+1):end,:)]; b=[B(1:P0,:);A((P0+1):end,:)]; newfarm(:,2*i-1)=a; newfarm(:,2*i)=b; end FARM=[farm,newfarm]; %% 选择复制 SER=randperm(3*N); FITNESS=zeros(1,3*N); fitness=zeros(1,N); for i=1:(3*N) Beta=FARM(:,i); FITNESS(i)=FIT(Beta,D,c,m); end for i=1:N f1=FITNESS(SER(3*i-2)); f2=FITNESS(SER(3*i-1)); f3=FITNESS(SER(3*i)); if f1=f2f1=f3 farm(:,i)=FARM(:,SER(3*i-2)); fitness(:,i)=FITNESS(:,SER(3*i-2)); elseif f2=f1f2=f3 farm(:,i)=FARM(:,SER(3*i-1)); fitness(:,i)=FITNESS(:,SER(3*i-1)); else farm(:,i)=FARM(:,SER(3*i)); fitness(:,i)=FITNESS(:,SER(3*

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档