1 简介

针对传统的K—means算法对初始聚类中心的选取敏感,容易收敛到局部最优的缺点,提出一种基于改进粒子群优化算法(PSO)的K—means优化聚类算法.该算法利用PSO算法强大的全局搜索能力对初始聚类中心的选取进行优化:通过动态调整惯性权重等参数增强PSO算法的性能;利用群体适应度方差决定算法中前部分PSO算法和后部分K—means算法的转换时机;设置变量实时监控各个粒子和粒子群的最优值变化情况,及时地对出现早熟收敛的粒子进行变异操作,从而为K—means算法搜索到全局最优的初始聚类中心,使聚类结果不受初始聚类中心影响,易于获得全局最优解.实验结果表明文中提出的改进算法与传统聚类算法相比具有更高的聚类正确率,更好的聚类质量及全局搜索能力.

2 部分代码

function A=TwoSideUpDownRealCross1(A,field,objfunction,probability) %横向交叉lw=size(A,2);popsize=size(A,1);% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% p0=[98.4,134.0,141.5,183.3,125.0,91.3,401.1,329.5,386.1,427.3,412.2,370.1,301.8,368.0,301.9,476.4,283.1,414.1,328.0,389.4,354.7,262.0,461.5,371.6,462.6,379.2,530.8,391.9,480.1,319.0,329.5,333.8,390.0,432.0,402.0,428.0,178.4,194.1,474.0,609.8,17.8,6.9,224.3,210.0,212.0,200.8,220.0,232.9,168.0,208.4,443.9,426.0,434.1,402.5,357.4,423.0,220.0,369.4,273.5,336.0,432.0,220.0,410.6,422.7,351.0,296.0,411.1,263.2,370.3,418.7,409.6,412.0,423.2,428.0,436.0,428.0,425.0,497.2,510.0,470.0,464.1,118.1,141.3,132.0,135.0,252.0,221.0,245.9,247.9,183.6,288.0,557.4,529.5,800.8,801.5,582.7,680.7,670.7,651.7,921.0,916.8,911.9,898.0,905.0,846.5,850.9,843.7,841.4,835.7,828.8,846.0,179.0,120.8,121.0,317.4,318.4,335.8,151.0,129.5,130.0,218.9,5.4,45.0,20.0,16.3,20.0,22.1,125.0,10.0,13.0,7.5,53.2,6.4,69.1,49.9,91.0,41.0,13.7,7.4,28.6];% for i=1:popsize%     [Temfit(i),A(i,:)]=objfunction(A(i,:),p0,1);% end% [Y,I] = sort(Temfit); % %  for i=popsize/2+1:popsize%          no1=ceil(rand*popsize/2);%          no=i;%          for j=1:lw %             cr=rand();%             r=2*(rand()-0.5);%             firstcross(j)= A(no,j)*cr+A(no1,j)*(1-cr)+r*(A(no,j)-A(no1,j));   %             if  firstcross(j)>field(1,j)%                firstcross(j)= field(1,j);%             end%             if  firstcross(j)<field(2,j)%                firstcross(j)= field(2,j);%             end% %          end   %          %           A(no,:)=firstcross;% %                  %  end% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%D=sum(A,2);F=sum(A);crossmatrix=randperm(popsize);             for i=0:popsize/2-1                 p=rand();                 if p<probability                     no=crossmatrix(i*2+1);                     no1=crossmatrix(i*2+2);                     for j=1:lw                       cr=rand();                      r=2*(rand()-0.5);                      %r=0;                      firstcross(j)= A(no,j)*cr+A(no1,j)*(1-cr)+r*(A(no,j)-A(no1,j));                                                     cr=rand();                      r=2*(rand()-0.5);                      secondcross(j)= A(no1,j).*cr+A(no,j).*(1-cr)+r*(A(no1,j)-A(no,j));                      if  firstcross(j)>field(1,j)                          firstcross(j)= field(1,j);                      end                      if  firstcross(j)<field(2,j)                          firstcross(j)= field(2,j);                      end                                            if  secondcross(j)>field(1,j)                          secondcross(j)= field(1,j);                      end                      if  secondcross(j)<field(2,j)                          secondcross(j)= field(2,j);                      end                                         end                                 A(no,:)=firstcross;                     A(no1,:)=secondcross;                                                      end             end             end             

3 仿真结果

4 参考文献

[1]谢秀华, 李陶深. 一种基于改进PSO的K-means优化聚类算法[J]. 计算机技术与发展, 2014, 24(2):5.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【数据聚类】基于改进的粒子群算法优化K-means算法实现数据分类含Matlab源码相关推荐

  1. 【PID优化】基于matlab粒子群算法优化BP神经网络PID控制【含Matlab源码 2022期】

    ⛄一.粒子群算法优化BP神经网络PID控制简介 BP神经网络PID控制算法 传统PID控制器作为一种线性控制器,具备结构,容易实现的优点,其基本原理是将系统的实际输出值和期望输出值之间的偏差按照比例. ...

  2. 【WSN定位】基于matlab灰狼算法优化无线传感器非测距定位【含Matlab源码 2008期】

    一.无线传感器网络DVHop定位算法简介 1 传统DV-hop算法定位算法原理 DV-hop算法中主要将节点分为锚节点与未知节点,锚节点在整个网络中占有一定的比例,因为锚节点本身带有GPS定位系统,而 ...

  3. 【优化布局】基于matlab免疫算法求解充电站最优布局【含Matlab源码 2539期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  4. 【微电网优化】基于matlab粒子群算法求解综合能源系统优化问题【含Matlab源码 1969期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab粒子群算法求解综合能源系统优化问题[含Matlab源码 1969期] 点击上面蓝色字体,直接付费下载,即可. ...

  5. 【雷达通信】基于matlab NCP算法SAR回波生成和成像【含Matlab源码 1185期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab NCP算法SAR回波生成和成像[含Matlab源码 1185期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  6. 【优化布局】免疫算法求解充电站最优布局【含Matlab源码 2539期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[生产调度]基于matlab免疫算法求解生产调度零等待问题[含Matlab源码 1178期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  7. 【图像分割】基于matlab形态学重建和过滤改进FCM算法(FRFCM)的图像分割【含Matlab源码 085期】

    ⛄一.简介 首先,通过引入形态学重构操作将图像的局部空间信息纳入FRFCM中,以保证抗噪性和图像细节保留.其次,基于局部空间邻居和聚类中心内像素之间距离的成员资格分区的修改被仅依赖于成员资格分区的空间 ...

  8. 【配送路径规划】基于matlab蚁群算法求解配送路径最短问题【含Matlab源码 2222期】

    ⛄一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简 ...

  9. 【PSO三维路径规划】基于matlab粒子群算法无人机山地三维路径规划【含Matlab源码 1405期】

    ⛄一.无人机简介 0 引言 随着现代技术的发展,飞行器种类不断变多,应用也日趋专一化.完善化,如专门用作植保的大疆PS-X625无人机,用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机,以及用作水 ...

最新文章

  1. CocoaPod 使用之后知后觉
  2. wp java_Java WordPress工具库wp-client
  3. 7.Phong 和 BlinnPhong
  4. Drools Planner重命名为OptaPlanner:宣布www.optaplanner.org
  5. 电脑怎么找到tomcat端口_更换内存条的时候我怎么找到自己电脑配置的详细信息...
  6. vue结合vue-amap调用高德地图行政区划分
  7. CentOS 5.5 安装 Python 2.7_老范的空间_百度空间
  8. 计算器存储功能怎么用_数控车床加工刀具补偿功能怎么用?
  9. 计算机积木游戏,A*算法分析(积木块游戏)
  10. Linux C实现纯用户态抢占式多线程!
  11. Week1.3-金融会计指标案例分析
  12. python进阶学习路线(全)
  13. c#发送邮件(带抄送,密送,群发,附件)
  14. CentOS系统重新删除磁盘分区和挂载、开机自启(大于2T做法)
  15. 雷军 | 我十年的程序员生涯
  16. Presto (三) --------- Presto 优化
  17. 单片机自动调光C语言,基于51单片机的DS18B20水温PID控制调节系统设计C语言程序...
  18. 用html、javascript写一个网页,网页内容包括一个下拉列表,内容为语文、数学、英语,一个单选按钮,内容为苹果、桃子、西瓜,默认选中数学、西瓜
  19. 基于LTC1068的程控滤波器
  20. UE-Vs转Rider for UE

热门文章

  1. OS的互斥学习真的有趣!直接拉屎一语以破之
  2. 以太网/FX3U/PLC/工控板/PLC源码/MODBUS/断电保持
  3. 【办公自动化】批量生成文件夹乱码解决方案
  4. php劳保管理系统,劳保用品管理信息系统软件
  5. G - Godsend CodeForces - 841B
  6. (转)对 Linux 专家非常有用的 20 个命令
  7. numpy.unravel_index
  8. linux之文件管理
  9. Linux下无法加载Qt platform plugin “xcb“
  10. javascript输出数据