深度结合K‑means和PSO的聚类方法技术

技术编号:16188530 阅读:27 留言:0更新日期:2017-09-12 11:34
本发明专利技术公开了一种深度结合K‑means和PSO的聚类方法,包括:使用K‑means算法对粒子群算法中的粒子进行初始化;根据适应度函数计算适应度值,更新粒子群算法迭代的学习部分和均值部分;利用簇构建多种群PSO算法,用簇中心代表一个簇,更新粒子速度和位置;判断是否满足迭代停止条件,若满足,输出最优粒子;否则继续迭代。使用K‑means进行初始化,利用聚类过程中的簇构建多种群PSO算法,采用轻量级的多种群PSO,并且采用恰当方式对粒子速度进行限幅,具有更好的聚类效果和收敛速度。

Combined with the depth of K means clustering method and PSO

The invention discloses a depth combination clustering method, K means and PSO include: the particle swarm algorithm particle initialization using K means algorithm; according to the calculation of the fitness value of the fitness function, learning and mean part of updating particle swarm iteration algorithm; construct multiple swarm PSO algorithm using cluster, use the the cluster center represents a cluster, update the particle velocity and position; to determine whether they meet the iteration stop condition, if satisfied, output the optimal particle; otherwise the iteration continues. Use K means to initialize, construct multiple swarm PSO algorithm using clustering process in the cluster, using lightweight multi group PSO, and adopt appropriate methods on the particle velocity limiter, has better clustering effect and convergence speed.

【技术实现步骤摘要】
深度结合K-means和PSO的聚类方法
本专利技术涉及一种聚类方法,具体地涉及一种深度结合K-means和PSO的聚类方法,具有更好的聚类效果和收敛速度。
技术介绍
聚类分析直观来说就是将众多对象聚为一个个的簇,其中有相同聚类特征的在同一个簇,特征差异明显的对象居于不同的簇。聚类分析适用于很多不同类型的数据集合。模式识别、数据分析、图像处理和市场研究等众多应用领域对聚类算法提出了迫切需求。聚类分析的主要目标是得到一个全局较优聚类结果。作为无监督学习一个典型的面向原型的聚类算法,K-means算法虽然简单实用,但不可避免存在一些初始化方法等导致的缺陷。许多改进算法譬如K-meas++、二分K-means等已经相继被提出。预处理技术也是其中频繁使用的提高全局收敛性的一种方法。作为一种典型的基于群体智能的全局优化算法,粒子群算法(PSO)起源于的对鸟群觅食的行为研究。它是一种具有较强的全局收敛性和鲁棒性的全局随机搜索算法,并且已经被广泛应用到数据挖掘、机器学习、化学工程、经济调度分配以及非线性规划等众多优化领域。Omran等在2002年提出了一种基于PSO的无监督图像聚类算法,它是最早的基于PSO的聚类算法。Merwe等随后提出了一种结两种算法的基本策略,并且组合均值聚类和粒子群算法进行聚类分析,取得了较好的聚类效果。但是存在以下缺陷:1、PSO算法在迭代过程中种群多样性会丧失;2、多种群构建必然导致复杂的时间复杂度和较慢的收敛速度;3、往往没有过多考虑实际场景,实际应用效果差。
技术实现思路
针对上述存在的技术问题,本专利技术目的是:提供了一种深度结合K-means和PSO的聚类方法,使用K-means进行初始化,利用聚类过程中的簇构建多种群PSO算法,采用轻量级的多种群PSO,并且采用恰当方式对粒子速度进行限幅,具有更好的聚类效果和收敛速度。本专利技术的技术方案是:一种深度结合K-means和PSO的聚类方法,包括以下步骤:S01:使用K-means算法对粒子群算法中的粒子进行初始化;S02:根据适应度函数计算适应度值,更新粒子群算法迭代的学习部分和均值部分;S03:利用簇构建多种群PSO算法,用簇中心代表一个簇,更新粒子速度和位置;S04:判断是否满足迭代停止条件,若满足,输出最优粒子;否则返回步骤S02,继续迭代。优选的,所述步骤S02中适应度函数为:mj,d(zp,mj)分别表示簇的中心和欧氏距离,Nc,Cj分别表示簇的总个数及分属于各个簇的对象数量。优选的,所述步骤S02中粒子群算法的核心迭代方程为:Vi(t+1)=Vi(t)+c1r1(pbesti(t)-Xi(t))+c2r2(gbest(t)-Xi(t))Xi(t+1)=X(t)+V(t+1)其中,c1,c2是学习因子,r1,r2是[0,1]间的随机数,Vi(t)和Xi(t)分别表示粒子i第t代的速度和位置,pbesti(t)和gbesti(t)分别表示粒子i第t代的历史最优位置和种群最优位置。优选的,所述步骤S03中粒子速度核心迭代方程变为如下部分:其中,cbesti(t)表示每个子群的历史最优部分,每次迭代由均值的适应度决定更新与否,Viold(t)表示上文所述经典粒子速度的更新公式,本专利技术在其基础上增加了一项cbesti(t),c3,r3分别是学习因子和[0,1]之间的随机数。优选的,对粒子速度和位置进行限幅,限幅方式为:计算训练样本的位置空间为[-xmax,xmax],如果迭代过程中粒子位置超过这个范围,则设为区间端点;粒子最大速度设为Vmax=vk×Xmax,vk代表速度限幅系数,那么粒子更新的速度由以下公式决定:优选的,所述停止条件为给定的迭代次数或全局最优值不在变化。本专利技术首先通过实验过程初步验证PSO及K-means算法的有效性,然后分别采用本专利技术中的算法及其他相关联的三种算法对有标签数据及无标签数据进行有监督学习和无监督学习,并通过熵、SSE等指标评估算法优劣。与现有技术相比,本专利技术的优点是:1、使用二分K-means方法初始化簇中心,能大大提高收敛速度。2、再结合PSO算法优化K-means的过程中,充分利用K-means表现出的多种群特征,构建多种群PSO算法,能大大降低优化过程中种群多样性的丧失,提高粒子群算法的全局收敛性。3、在计算细节上,首先在构建多种群的迭代过程中,采用轻量级但行而有效的计算方法;其次是对粒子飞行速度和位置进行限幅以适应实际情况。附图说明下面结合附图及实施例对本专利技术作进一步描述:图1为本专利技术聚类方法的流程图;图2为K-means方法的流程图;图3为PSO优化案例图;图4为PSO的收敛结果;图5为KMEANS、PSO、BPSOKM、DYPSOKM(本专利技术)聚类结果收敛速度效果图;图6为4种典型的聚类结果效果图。具体实施方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本专利技术而不限于限制本专利技术的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。实施实例:如图1所示,本专利技术的一种深度结合K-means和PSO的聚类方法主要分为数据处理、粒子初始化、算法迭代,算法评估四大部分。一、首先是数据处理部分,选取数据集,评估数据集分为有标签数据集和无标签数据集。选取的主要数据集特征如下表:二、使用K-means对粒子群算法中一个粒子进行初始化。K-means算法的主要流程图如图2所示。为展示K-means算法陷入局部最优的缺陷,设定K=4,运行K-means算法。K-means算法中对象与簇中心的距离为dist(ci,x)=||ci,x||、簇中心计算公式为判别准则SSE:上式中,||ci,x||表示对象和簇中心的欧拉距离,m表示簇ci的对象数量,SSE表示K个簇种误差平方和。根据适应度函数计算适应度值,更新粒子群算法迭代的学习部分和均值部分;适应度函数如下:mj,d(zp,mj)分别表示簇的中心和欧氏距离;Nc,Cj分别表示簇的总个数及分属于各个簇的对象数量。适应度函数与SSE本质上并无不同,同样是表征簇的聚合度的函数。粒子群算法的核心迭代方程为:Vi(t+1)=Vi(t)+c1r1(pbesti(t)-Xi(t))+c2r2(gbest(t)-Xi(t))Xi(t+1)=X(t)+V(t+1)其中,c1,c2是学习因子,r1,r2是[0,1]间的随机数,Vi(t)和Xi(t)分别表示粒子i第t代的速度和位置,pbesti(t)和gbesti(t)分别表示粒子i第t代的历史最优位置和种群最优位置。粒子更新速度由3部分决定。第一部分是粒子上代最优位置,能够平衡算法的全局搜索和局部开发能力;第二部分是粒子历史最优部分,第三部分是全局最优部分,分别表现了粒子向历史学习和社会学习趋向。简称为自知部分、历史部分、社会部分。这正是粒子群算法群体智能的体现。三、利用簇构建多种群PSO算法,用簇中心代表一个簇,更新粒子速度和位置;利用均值聚类中表现出的多种群特性,构建多种群粒子群算法对粒子进行迭代,以提高聚类效果。每一个簇代表一个种群,而且每个簇的中心能粗密度地代表一个簇,用一个簇的中心代表一个簇很多情况下能够起到相当好的效果,可以起到计算复杂度以本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201710247343.html" title="深度结合K‑means和PSO的聚类方法原文来自X技术">深度结合K‑means和PSO的聚类方法</a>

【技术保护点】
一种深度结合K‑means和PSO的聚类方法,其特征在于,包括以下步骤:S01:使用K‑means算法对粒子群算法中的粒子进行初始化;S02:根据适应度函数计算适应度值,更新粒子群算法迭代的学习部分和均值部分;S03:利用簇构建多种群PSO算法,用簇中心代表一个簇,更新粒子速度和位置;S04:判断是否满足迭代停止条件,若满足,输出最优粒子;否则返回步骤S02,继续迭代。

【技术特征摘要】
1.一种深度结合K-means和PSO的聚类方法,其特征在于,包括以下步骤:S01:使用K-means算法对粒子群算法中的粒子进行初始化;S02:根据适应度函数计算适应度值,更新粒子群算法迭代的学习部分和均值部分;S03:利用簇构建多种群PSO算法,用簇中心代表一个簇,更新粒子速度和位置;S04:判断是否满足迭代停止条件,若满足,输出最优粒子;否则返回步骤S02,继续迭代。2.根据权利要求1所述的深度结合K-means和PSO的聚类方法,其特征在于,所述步骤S02中适应度函数为:mj,d(zp,mj)分别表示簇的中心和欧氏距离,Nc,Cj分别表示簇的总个数及分属于各个簇的对象数量。3.根据权利要求1所述的深度结合K-means和PSO的聚类方法,其特征在于,所述步骤S02中粒子群算法的核心迭代方程为:Vi(t+1)=Vi(t)+c1r1(pbesti(t)-Xi(t))+c2r2(gbest(t)-Xi(t))Xi(t+1)=X(t)+V(t+1)其中,c1,c2是学习因子,r1,r2是[0,1]间的随机数,Vi(t)和Xi(t)分别表示粒子i第t代的速度和位置,pbesti(t)和gbesti(t)分别表示粒子i第t代的历史...

【专利技术属性】
技术研发人员:黄刘生柯钦徐宏力
申请(专利权)人:中国科学技术大学苏州研究院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1