K-means优化算法(KO)-SCI一区高被引算法!公式原理详解与性能测评 Matlab代码免费获取

        声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

目录

原理简介

一、初始化

二、质心矢量位置的更新过程

三、开发策略

四、勘探策略

算法流程图

性能测评

参考文献

完整代码


K-means优化算法(K-means Optimizer, KO)是一种新型的元启发式算法(智能优化算法),灵感来源于使用K-means算法建立聚类区域的质心向量。不同于以往的动物园算法,该算法原理新颖,在优化算法中巧妙引入聚类算法,值得一试!该成果由Hoang-Le Minh于2022年9月发表在SCI一区顶刊《Knowledge-Baesd Systems上!

谷歌学术上引用量显示,该算法被引次数达到了86次,非常受欢迎!

原理简介

、初始化

随机初始化的公式可以用如下方式描述:

其中𝑋i表示𝑖th候选解,𝑙𝑏和𝑢𝑏分别表示搜索空间的下界和上界;rand为均匀分布在[0,1]范围内的随机数;N表示解决方案的数量。

二、质心矢量位置的更新过程

KO使用线性种群大小缩减(LPSR)方法。如Eq.(6)所示,随着迭代次数的增加,KO中的总体大小将以线性函数减小。

其中th是当前迭代,Tmax是迭代的最大次数。因此,第一次迭代时(t = 1)的总体规模为N,最后一次迭代时(t = Tmax)的总体规模为4。

在KO中,为了达到快速质量的搜索空间,聚类的数量与选择的质心的数量K = 3是同源的。如果我们将P (t)作为任意迭代的一组输入数据,我们可以利用K-means算法建立质心向量C(t),包括三行D列,由式(8)计算。

从图2可以看出,质心矢量位置总是在前一次迭代的最佳解周围生成。随着迭代次数的增加,这些位置越来越接近最佳解决方案。特别是,这些位置不与最佳解决方案重叠,因此它避免了坚持局部最优的能力。这些质心矢量位置与最优解一起建立了一种新的位置更新趋势。

三、开发策略

为了使KO的搜索空间多样化,除了每次迭代利用三个质心向量位置外,KO还增加了一个新的搜索区域,称为平均质心向量位置→C (t)mean,如式(12)所示。

通过模拟搜索代理群体如何向具有高概率挖掘新的全局最优值的搜索空间移动的过程,确保了挖掘策略的安全性。在KO中,高质量的搜索空间由一组向量定义:

(1)第一开发策略

其中w11、w12、w13是根据随机算法随机分布的值。它们可以是标量,也可以是标量向量。在KO中,w11被选为值在[0,2]范围内的标量数。此参数指定当前位置对下一个位置的影响。w12和w13作为标量向量,其取值范围为[0,1];fd1 (t)和fd2 (t),其值在[−2,2]范围内;r1、r2、r3、r4为值在[0,1]范围内的随机标量数。

(2)第二开发策略

其中w21是一个标量数,其值与第一个趋势中的w11在同一范围内。参数w22、w23、δk和βk是四个值在[0,1]范围内的向量。通过添加三个质心向量的位置→C(t)k(k = 1,2,3),使用Eq.(17)的搜索空间将变得更加灵活。

(3)第三开发策略

其中,w31、w32、w33与第一个趋势中的w11、w12、w13相同。

四、勘探策略

该算法的有效性取决于它在开发和探索之间找到平衡的能力。在KO中,勘探策略的运动基于两个趋势,每个趋势都基于一个随机选择过程,具有相等的概率。

(1)第一勘探策略

C (t)mean为利用公式(12)产生的质心向量→C(t)k(k=1,2,3)的位置,step为莱维飞行产生的步长。

(2)第二勘探策略

其中Lb和Ub分别是下界和上界。新的搜索空间增加了探索更高质量搜索空间的机会。通过这种方式,生成每个种群的新位置取代旧位置。然后,在每次迭代中利用的高质量搜索空间{Ω∗=→C(t)1,→C(t)2,→C(t)3,→C(t)mean,→P(t)best},这些新位置将移动到区域Ω∗以寻找其他希望更好的区域。

算法流程图

为了使大家更好地理解,这边给出作者算法的流程图,非常清晰!

如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

性能测评

原文作者以CEC2005和CEC2014这23个经典基准函数为例,并考虑了三个工程问题,并将其结果与其他算法的结果进行了比较,证明了KO在求解优化问题上的有效性和可靠性。

这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,设置种群数量为30,迭代次数为1000,和经典的粒子群优化算法PSO进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

可以看到,这个算法在大部分函数上均优于PSO算法,说明该算法性能还是比较不错的!大家应用到各类预测、优化问题中也是一个不错的选择~

参考文献

[1]Minh H L, Sang-To T, Wahab M A, et al. A new metaheuristic optimization based on K-means clustering algorithm and its application to structural damage identification[J]. Knowledge-Based Systems, 2022, 251: 109189.

完整代码

如果需要免费获得图中的完整测试代码,只需点击下方小卡片,再后台回复关键字,不区分大小写:

KO

也可点击下方小卡片,再后台回复个人需求(比如KO-SVM)定制以下KO算法优化模型(看到秒回):

1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、SAE、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、TCN、BiTCN、ESN、Transformer等等均可~

2.组合预测类:CNN/TCN/BiTCN/DBN/Transformer/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可(可任意搭配非常新颖)~

3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD、FMD等分解模型均可~

4.路径规划类:机器人路径规划、无人机三维路径规划、冷链物流路径优化、VRPTW路径优化等等~

5.优化类:光伏电池参数辨识优化、光伏MPPT控制、储能容量配置优化、微电网优化、PID参数整定优化、无线传感器覆盖优化、故障诊断等等均可~~

6.原创改进优化算法(适合需要创新的同学):原创改进2024年的K-means优化算法KO以及班翠鸟PKO、蜣螂DBO等任意优化算法均可,保证测试函数效果!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值