1.软件版本
MATLAB2013b
2.本算法理论知识
用FMC 算法实现基于目标函数的模糊聚类又称交替的迭代优化法。迭代优化本质上属于局部搜索的爬山法,很容易陷入局部极值点,因此对初始化很敏感。通常是根据一定的经验准则选取初始参数,这样计算结果与初始参数设置是否恰当密切相关。特别是在数据量较大和高维情况下,设置合理的参数非常困难,只能通过多次实验比较选定。由于初始聚类中心和样本的输入次序对最终的结果有重大影响,往往是用若干不同的初始中心和聚类数目分别聚类,然后选择最满意的聚类作为最终的结果。 通过蚁群算法,我们可以得到最佳的初始聚类中心,然后进行快速的聚类。
3.部分核心代码
clc;
clear;
close all;
warning off;
pack;
addpath 'func\'
%模拟数据
MAX_ITER = 1000;%最大迭代次数
Class_Num = 5; %样本类别数
Nums = 100 ;%样本数目
seek = 2; %数据类别
figure;
POS = func_node_gen(Class_Num,Nums,seek);
%数据
data = POS(:,1:2);
%首先进行蚁群算法进行优化,获得最佳的初始聚类中心点
cluster_center = func_ant_opt(data,Class_Num);
%通过模糊聚类算法进行聚类
[U,P]=func_FCM(data,cluster_center,Class_Num,MAX_ITER);
%两个算法的对比
figure;
load result.mat
plot(Obj_Fcn(2:end),'b-','LineWidth',2);
hold on;
load ..\FCM\result.mat
plot(Obj_Fcn(2:end),'r-','LineWidth',2);
hold off
legend('蚁群FCM','FCM');
axis([0,400,105,125]);
grid on;
xlabel('迭代次数');
ylabel('聚类误差值');
4.操作步骤与仿真结论


两个算法对比如下所示:
通过对比可知,改进后的算法性能明显提升了。
5.参考文献
[1]苗京, 黄红星, 程卫生,等. 基于蚁群模糊聚类算法的图像边缘检测[J]. 武汉大学学报:工学版, 2005, 38(5):4.A06-11

该文介绍了使用FMC算法和蚁群优化相结合的方法进行模糊聚类,以改善初始化敏感性和局部极值问题。通过蚁群算法获取最优初始聚类中心,然后应用模糊C均值(FCM)算法进行聚类。实验证明,改进后的算法在聚类性能上有显著提升,尤其是在处理大规模和高维数据时。最后,文章对比了传统FCM算法和改进后的算法在聚类误差随迭代次数的变化,进一步证实了改进算法的优势。
2387

被折叠的 条评论
为什么被折叠?



