关键词不能为空

当前您在: 主页 > 英语 >

FCMClust(模糊c均值聚类算法MATLAB实现)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-19 02:20
tags:

-

2021年2月19日发(作者:制订)


function [center, U, obj_fcn] = FCMClust(data, cluster_n, options)


% FCMClust.m




采用模糊


C


均值对数据集


data


聚为


cluster_n





%


用法:



%




1.



[center,U,obj_fcn] = FCMClust(Data,N_cluster,options);


%




2.



[center,U,obj_fcn] = FCMClust(Data,N_cluster);


%


输入:



%




data









---- nxm


矩阵


,


表示


n


个样本


,


每个样本具有


m


的维特征值



%




N_cluster




----


标量

,


表示聚合中心数目


,


即类别数< /p>



%




options






---- 4x1


矩阵,其中



%








options(1):



隶属度矩阵


U


的指数,


>1



















(


缺省值


: 2.0)


%








options(2):



最大迭代次数





























(


缺省值


: 100)


%








options(3):



隶属度最 小变化量


,


迭代终止条件













(


缺省值


: 1e-5)


%








options(4):



每次迭代是否输出信息标志


















(


缺省值


: 1)


%


输出:



%




center







----


聚类中心



%




U












----


隶属度矩阵



%




obj_fcn






----


目标函数值



%




Example:


%








data = rand(100,2);


%








[center,U,obj_fcn] = FCMClust(data,2);


%








plot(data(:,1), data(:,2),'o');


%








hold on;


%








maxU = max(U);


%








index1 = find(U(1,:) == maxU);


%








index2 = find(U(2,:) == maxU);


%








line(data(index1,1),data(index1,2),'marke r','*','color','g');


%








line(data(index2,1),data(in dex2,2),'marker','*','color','r');


%








plot([center([1 2],1)],[center([1 2],2)],'*','color','k')


%








hold off;


%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%% %%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%% %%%%%%%%%%%%%%%%



if nargin ~= 2 & nargin ~= 3,





%


判断输入参数个数只能是


2


个或


3


< p>



error('Too many or too few input arguments!');


end



data_n = size(data, 1); % < /p>


求出


data


的第一维

< br>(rows)



,


即样本个数< /p>



in_n = size(data, 2);




%


求出


data


的第二维


(columns)


数,即特征值长度



%


默认操作参数



default_options = [2;


%


隶属度矩阵


U


的指数







100;

















%


最大迭代次数








1e-5;
















%


隶属度最小变化量


,


迭代终止条件







1];


















%


每次迭代是否输出信息标志





if nargin == 2,



options = default_options;



else








%


分析有


options

< br>做参数时候的情况




%


如果输入参数个数是二那么就调用默认的


option;



if length(options) < 4, %


如果用户给的


opition


数少于


4


个那么其他用默认值


;




tmp = default_options;




tmp(1:length(options)) = options;




options = tmp;






end






%


返回


o ptions


中是数的值为


0(



NaN),


不是数时为


1



nan_index = find(isnan(options)==1);






%



denfault_options


中对应位置的参数赋值给


options


中不是数的位置


.



options(nan_index) = default_options(nan_index);



if options(1) <= 1, %


如果模糊矩阵的指数小于等于


1




error('The exponent should be greater than 1!');



end


end


%



options


中的分量分别赋值给四个变量


;


expo = options(1);











%


隶属度矩阵


U

的指数



max_iter = options(2);



%


最大迭代次数




min_impro = options(3);



%


隶属度最小变化量


,


迭代终止条件



display = options(4);



%


每次迭代是否输出信息标志





obj_fcn = zeros(max_iter, 1); %


初始化输出参数


obj_fcn



U = initfcm(cluster_n, data_n);






%


初始化模糊分配矩阵

< p>
,


使


U


满足列上相加为< /p>


1,


% Main loop



主要循环



for i = 1:max_iter,






%


在第


k< /p>


步循环中改变聚类中心


ceneter,


和分配函数


U


的隶属度值


;



[U, center, obj_fcn(i)] = stepfcm(data, U, cluster_n, expo);



if display,





fprintf('FCM:Iteration count = %d, obj. fcn = %fn', i, obj_fcn(i));



end



%


终止条件判别




if i > 1,




if abs(obj_fcn(i) - obj_fcn(i-1)) < min_impro,















break;










end,



end


end



iter_n = i;


%



实际迭代次数



-


-


-


-


-


-


-


-



本文更新与2021-02-19 02:20,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/666479.html

FCMClust(模糊c均值聚类算法MATLAB实现)的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文