php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 668|回复: 0

机器学习:布谷鸟算法PSO

[复制链接]

3068

主题

3078

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7768
贡献
0
注册时间
2021-4-14
最后登录
2024-11-1
在线时间
752 小时
QQ
发表于 2022-6-20 22:42:05 | 显示全部楼层 |阅读模式
【代码名称】:机器学习:布谷鸟算法PSO

【代码介绍】:01 算法背景
布谷鸟算法(Cuckoo search algorithm,CS),顾名思义,肯定是和布谷鸟有关。没错,这个算法就是英国学者 Xin-She Yang 和 Suash Deb 于2009年模仿布谷鸟育雏行为而提出的一种新兴基于自然元启发式算法。

布谷鸟这种鸟很懒,不会筑巢,自己生娃自己不会孵,直接扔到其他种类鸟的鸟巢中,但是有时候会被宿主鸟妈妈发现不是自己的蛋,然后就会被抛弃,甚至放弃这个巢。但是布谷鸟一般会比其他的鸟更早破壳,他们还有另外一种隐藏技能,幼鸟会模仿宿主鸟孩子的叫声来骗取鸟妈妈的信任,同时他们还会本能地把其他的蛋推下巢,从而获得更多的食物。

因此,我们可以这样理解:鸟巢=蛋=问题解,蛋能否成功被宿主鸟孵化并茁长成长是衡量问题解好坏的唯一标准 。布谷鸟在寻找鸟巢下蛋的过程就是在D维空间中寻找解的过程,而鸟巢的好坏象征着解的好坏。

02 算法原理
在自然界中,布谷鸟寻找适合自己产卵的鸟窝位置是随机的或是类似随机的方式,为了模拟布谷鸟寻窝的方式,首先,需要设定以下3个理想的状态

(1)布谷鸟一次只产一个卵,并随机选择鸟窝来孵化它;

(2)在随机选择的一组鸟窝中,最好的鸟窝将会被保留到下一代;

(3)可利用的鸟窝数量n是固定的,一个鸟窝的主人能发现一个外来鸟蛋的概率Pa∈[0,1]

可能会有人会问,怎么随机去寻找鸟窝的位置。因为更新位置的方法十分重要,关系到后面算法收敛的速度。那这个时候,我们就不得不提到另外一个概念——“莱维飞行”。一些研究证明,使用莱维飞行(Levy Flight)的方式可以让布谷鸟更有效地去寻找全局最优解而不至于陷入局部最优解中。

作者:大山海经
链接:https://www.jianshu.com/p/b4b9264810de
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【代码截图】:

【代码下载】: 布谷鸟算法.zip (911 Bytes, 下载次数: 0)





上一篇:weber法求解齿轮时变刚度
下一篇:FMCW雷达仿真点目标回波,并RD成像处理
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-1 08:09 , Processed in 0.168250 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表