首页 > 编程语言 >粒子群算法应用——聚类优化

粒子群算法应用——聚类优化

时间:2024-10-18 18:52:14浏览次数:10  
标签:粒子 均值 算法 中心点 聚类 最优 数据

粒子群算法详见:https://blog.csdn.net/liutianbao2018/article/details/142743205

目录

1 K均值聚类原理

1.1什么是聚类

1.2K均值聚类原理

2 PSO改进K均值聚类

3 结果对比


1 K均值聚类原理

1.1什么是聚类

聚类是一种无监督学习方法,通过相似性度量将数据点划分为多个簇,使得同一簇内的数据点彼此相似而不同簇的数据点不相似。它依赖于多种算法(如K-means、DBSCAN等)和相似性度量(如欧氏距离、余弦相似度等)来实现,广泛应用于市场细分、图像分割、文档聚类等领域,为发现数据中的隐藏模式、异常值和群体结构提供有价值的洞察。下面是iris数据集的种类:

图1 iris数据集分类

1.2 K均值聚类原理

K-means聚类算法是一种基于迭代优化的聚类分析算法,其原理是将数据集划分为k个簇,使得每个数据点都属于最近的簇,并且簇的中心是所有数据点的平均值。

以下是K-means聚类算法的详细原理:

  1. 初始化:选择要将数据集分成k个簇,然后随机选择k个数据点作为初始簇中心。
  2. 分配:计算每个数据点与各个簇中心之间的距离,通常使用欧式距离或曼哈顿距离。将每个数据点分配到距离其最近的簇中心,每个数据点只能属于一个簇。
  3. 更新:根据分配的数据点更新簇中心点,这是通过计算属于每个簇的数据点的平均值来实现的。
  4. 重复:重复分配和更新步骤,直到簇中心点不再发生变化,或者达到预定的迭代次数。
  5. 输出:得到k个簇和每个簇的中心点。

图2 K-mean算法聚类结果

聚类簇中心点,通过计算属于每个簇的数据点的平均值来实现的先然不是最优解,接下来我们利用粒子群算法来寻找这个最优簇中心

2 PSO改进K均值聚类

具体思路:分K类, M个特征,N个种群,适应度值为错误率最小。

  1. 随机生成初始簇中心点,k*M*N矩阵;
  2. 求适应度值矩阵,找历史最优是Pb和全局最优Gb;
  3. 利用粒子群更新簇中心点,再求适应度值矩阵;
  4. 更新历史最优是Pb和全局最优Gb;
%% 适应度函数
function  fitness= fun(x, K, cen,species)
s=0;
while s~=K
s=0;
[idx,centroids]= k_means(x, K, cen);%% k均值聚类
%%固定标签
[~,indx1]=sort(centroids(:,1));
indx2=indx1-[1:K]';
%初始化一个空数组来存储不按顺序排列的点的索引  
% 遍历数组,比较相邻元素  
for i = 1:length(indx2) 
    if indx2(i)==0  
        s=s+1;
    else
        s=s+0;
    end  
end
end
%%图中标注聚类错误部分
sidx = grp2idx(species);
miss = find(idx'~= sidx);
error=length(miss);
fitness=100-100*(length(idx)-error)/length(idx);
end

3 结果对比

粒子群优化的正确率提高了!!!

关注私信我代码获取
1 部分理论引用网络文献,若有侵权联系我整改!

2 优化算法有关的可以找我合作!!!

标签:粒子,均值,算法,中心点,聚类,最优,数据
From: https://blog.csdn.net/liutianbao2018/article/details/143053970

相关文章

  • 【智能算法应用】引力搜索算法求解二维路径规划问题
    摘要引力搜索算法(GSA)是一种基于引力学说的启发式算法,用于解决复杂的优化问题。本文应用GSA于二维路径规划问题,通过优化路径来避开障碍物并达到目标点。实验结果表明,GSA在路径规划中具有良好的表现,尤其在多障碍场景中,其优化路径平滑且避障效果显著。理论引力搜索算法是......
  • 粒子群算法应用——二维栅格路径规划
    粒子群算法详见:粒子群优化算法及应用-CSDN博客目录1栅格地图1.1 什么是栅格地图1.2栅格地图绘制2基本原理3结果展示1栅格地图1.1 什么是栅格地图栅格地图是一种将环境或地图区域均匀划分为一系列大小一致的网格单元,并为每个单元分配特定属性信息的地图表示方法......
  • 安全帽AI检测算法在工业安全领域的全面解析及开源代码及相关项目
    在各类施工现场,安全帽的佩戴是保障工人生命安全的重要措施。为了确保工人正确佩戴安全帽,安全帽检测算法发挥着关键作用。而在实际应用中,结合AI智能分析网关V4与EasyCVR视频汇聚智能分析平台,更是能将安全帽检测的效果发挥到极致。例如,在某大型建筑工地,通过在施工现场安装多个摄......
  • 数据驱动的未来:AI智能分析网关V4车辆违停算法与智慧城市交通管理
    在现代交通管理中,车辆违停问题一直是影响城市交通秩序和安全的重要因素。AI智能分析网关V4车辆违停算法则可以更高效地管理车辆违停现象。AI车辆违停算法通常基于计算机视觉技术。首先,通过摄像头采集道路上的图像或视频信息。这些摄像头可以安装在路口、路段等关键位置,以实现对不......
  • 必学排序算法——插入排序
    目录前言、一、什么是插入排序算法二、插入排序的特点三、算法基本步骤四、算法图解五、c代码模板六、经典例题1.去掉最低工资和最高工资后的工资平均值代码题解2.删除某些元素后的数组均值3.学生分数的最小差值七、结语前言、插入排序算法是必须掌握的一种基础算......
  • 必学的简单排序算法——选择排序(c++)
    标题前言一、什么是选择排序二、算法图解三、经典例题1、颜色分类题解思路代码题解2、至少是其他数字两倍的最大数解题思路代码题解3、寻找两个正序数组的中位数解题思路代码题解前言排序算法虽然简单,但是我也要掌握熟练应用,因为学习算法这个复杂的过程,我们应该......
  • 【初窥算法】动态规划之背包问题
    背包问题概述背包问题(KnapsackProblem)是计算机科学和运筹学中的一个经典问题,通常描述为:给定一组物品,每种物品都有自己的重量和价值,在限定的最大承重(背包容量)下,如何选择物品使得背包内物品的总价值最大。背包问题有多种表现形式,包括但不限于:0/1背包问题:有n种物品,每种物品......
  • Snowflake算法js(实现)
    Snowflake算法是一种分布式环境下的唯一ID生成算法,最初由Twitter开发并在其内部使用。该算法旨在生成全局唯一、递增的64位整数ID,同时具备高性能的特点。以下是Snowflake算法的一些关键特点及其工作原理:特点全局唯一性:生成的ID在分布式环境中几乎可以保证全局唯一。时间有序:生......
  • 安全帽AI检测算法在工业安全领域的全面解析及开源代码及相关项目
    在各类施工现场,安全帽的佩戴是保障工人生命安全的重要措施。为了确保工人正确佩戴安全帽,安全帽检测算法发挥着关键作用。而在实际应用中,结合AI智能分析网关V4与EasyCVR视频汇聚智能分析平台,更是能将安全帽检测的效果发挥到极致。例如,在某大型建筑工地,通过在施工现场安装多个......
  • 数据驱动的未来:AI智能分析网关V4车辆违停算法与智慧城市交通管理
    在现代交通管理中,车辆违停问题一直是影响城市交通秩序和安全的重要因素。AI智能分析网关V4车辆违停算法则可以更高效地管理车辆违停现象。AI车辆违停算法通常基于计算机视觉技术。首先,通过摄像头采集道路上的图像或视频信息。这些摄像头可以安装在路口、路段等关键位置,以实现......