人工智能粒子群优化三大算法

news2024/11/20 11:46:54

粒子群优化是以邻域原理(neighborhood principle)为基础进行操作的,该原理来源于社会网络结构研究中。驱动粒子群优化的特性是社会交互作用。群中的个体(粒子)相互学习,而且基于获得的知识移动到更相似于它们的、较好的邻近区域。邻域内的个体进行相互通信。

群是由粒子的集合组成的,而每个粒子代表一个潜在的解答。粒子在超空间流动,每个粒子的位置按照其经验和邻近粒子的位置而发生变化。速度矢量推动优化过程,并反映出社会所交换的信息。下面简单介绍一下三种不同的粒子群优化算法,它们对社会信息交换扩展程度是不同的。37e60d9491e84f1db77e207d304c1906.png

粒子群优化算法

1.个体最佳算法

对于个体最佳(individual best)算法,每一个体只把它的当前位置与自己的最佳位置pbest相比较,而不使用其他粒子的信息。具体算法如下:

(1)对粒子群P(t)初始化,使得t=0时每个粒子P∈P(t)在超空间中的位置X(t)是随机的。

(2)通过每个粒子的当前位置评价其性能f。

(3)比较每个个体的当前性能与其至今有过的最佳性能。

(4)改变每个粒子的速度矢量。

(5)转回第(2)步,重复递归直至收敛。

上述算法中粒子离开其先前发现的最佳解答越远,使该粒子(个体)移回它的最佳解答所需要的速度就越大。随机值P的上限为用户规定的系统参数。p的上限越大,粒子轨迹振荡就越大。较小的P值能够保证粒子的平滑轨迹。b327c028d038424a82e298e94ecb7514.png

 

粒子群优化算法

2.全局最佳算法

对于全局最佳(global best)算法,粒子群的全局优化方案gbest反映出一种被称为星形(stan)的邻域拓扑结构。在该结构中,每个粒子能与其他粒子(个体)进行通信,形成一个全连接的社会网络。用于驱动各粒子移动的社会知识包括全群中选出的最佳粒子位置,此外,每个粒子还根据先前已发现的最好的解答来运用它的历史经验。

对于全局最佳算法,粒子离开全局最佳位置和它自己的最佳解答越远,使该粒子回到它的最佳解答所需的速度变化也越大。

3.局部最佳算法

局部最佳(local best)算法用粒子群优化的最佳方案lbest反映一种称为环形(ring)的邻域拓扑结构。该结构中每个粒子与它的n个中间邻近粒子通信。如果n=2,那么一个粒子与它的中间相邻粒子的通信如下图所示。粒子受它们邻域的最佳位置和自己过去经验的影响。a76e16897b734ee9bfe8f922774bf25d.png

 

粒子群优化算法

以上三种算法的第(2)步检测各粒子的性能。其中,采用一个函数来测量相应解答与最佳解答的接近度。在进化计算中,称这种接近度为适应度函数。

粒子群优化已用于求解非线性函数的极大值和极小值,也成功地应用于神经网络训练。这时,每个粒子表示一个权矢量,代表一个神经网络。粒子群优化也成功地应用于人体颤抖分析,以便诊断帕金森(Parkinson)疾病。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/591251.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6.S081——补充材料——RISC-V架构中的异常与中断详解

0.briefly speaking 我在阅读Xv6源码过程中对很多概念感到困惑,想到也许会有其他人对此秉持同样的困惑,所以我将我的研究和学习过程总结下来并编篡成如下的博客。本篇博客想对RISC-V标准中有关中断和异常的概念进行一个梳理,考虑RISC-V标准的…

root 密码破解(rd.break)

在Linux系统中,忘记root密码时,可以用此方法进行暴力修改root密码 示例: 设置一个新的记不住的密码 $ echo cnakdnvf | passwd --stdin root $ poweroff 1.启动此虚拟机,选中以下行,并按 【 e 】进入内核编辑页面 …

【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】

Leetcode Leetcode -746.使用最小花费爬楼梯Leetcode -747.至少是其他数字两倍的最大数 Leetcode -746.使用最小花费爬楼梯 题目:给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择…

数电/数字电子技术期末考前突击复习(小白稳过,看这一篇就够了)

博主:命运之光 专栏:期末考试必过and不挂科and争高分😶‍🌫️还有其他科目的考试突击日后会陆续更新 ✨✨✨✨✨点赞,关注,收藏不迷路✨✨✨✨✨ 🦄前言:总结了期末数电大概率可能…

MySQL进阶 -存储引擎

目录 存储引擎MySQL的体系结构存储引擎简介InnoDB存储引擎MyISAM存储引擎Memory存储引擎InnoDB,MyISAM和Memory的区别存储引擎的选择小结 存储引擎 MySQL的体系结构 MySQL的体系结构图: MySQL服务端的体系结构(MySQL Server)&am…

自动化测试经典面试题-定位不到元素

元素定位常见的面试相关问题 一、元素定位1、Selenium/Appium定位方法有几种?分别是?2、如何通过子元素定位父元素 二、元素定位不到1、定位不到元素是什么原因导致的?2、如何定位动态元素3、有的元素就加载页面上,但是你却定位不…

Rust 笔记:有限状态机原理/状态模式 及其 在Rust 编程中的应用

Rust 笔记、设计模式 有限状态机原理及其在Rust 编程中的应用 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 :291148484163.com 本文地址:https://blog.csdn.ne…

chatgpt赋能python:Python中拷贝的介绍

Python 中拷贝的介绍 在 Python 中,拷贝是一个十分常见而且必要的操作。拷贝可以在许多情况下被使用,例如在创建测试数据、编写一个新的算法时,或者是在处理多维数据结构的程序中。由于 Python 中的对象是动态类型的,因此在拷贝时…

IDEA 安装配置步骤详解

引言 IntelliJ IDEA 是一款功能强大的集成开发环境,它具有许多优势,适用于各种开发过程。本文将介绍 IDEA 的主要优势,并提供详细的安装配置步骤。 介绍 IntelliJ IDEA(以下简称 IDEA)之所以被广泛使用,…

Linux系统下imx6ull QT编程—— C++基础(一)

Linux QT编程 文章目录 Linux QT编程前言一、 C的输入输出方式1.cout语法形式2.cin语法形式3.C之命名空间 namespace 前言 学习 C的面向对象编程,对学习 Qt 有很大的帮助 一、 C的输入输出方式 效率上,肯定是 C 语言的 scanf 和 printf 的效率高&#…

回归预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现SSA-CNN-GRU麻雀算法优…

代码随想录算法训练营第五十七天 | 回文

647. 回文子串 文档讲解:代码随想录 (programmercarl.com) 视频讲解:动态规划,字符串性质决定了DP数组的定义 | LeetCode:647.回文子串_哔哩哔哩_bilibili 状态:不会做。 思路 确定dp数组(dp table&#xf…

黑马Redis视频教程实战篇(一)

目录 一、短信登录 1.1、导入黑马点评项目 (1)导入黑马点评sql脚本 (2)导入后端项目 (3)导入前端项目 1.2、基于Session实现登录流程 1.3 、实现发送短信验证码功能 1.4 、实现登录拦截功能 1.5 、隐…

C语言——每日一题

1.倒置字符串 倒置字符串 要将每一个单词逆序输出,首先可以将整个字符串内容都逆序输出,然后再将字符串中的每一个单词再进行逆序。 例如:逆序 i like beijing. 先逆序成:.gnijieb ekil i 再将每个单词逆序: beij…

chatgpt赋能python:Python中字符串的转换方法

Python中字符串的转换方法 作为一门非常强大的编程语言,Python在字符串的处理上也有着非常丰富的功能。在Python中,字符串是非常重要的数据类型之一,也是最常用的数据类型之一。字符串在Python中有着很多的用途,比如表示文本数据…

驱动LSM6DS3TR-C实现高效运动检测与数据采集(3)----获取ID

概述 一旦传感器被正确初始化,可以通过SPI或I2C接口向传感器发送读取命令,并接收传感器返回的数据。这个读取过程包括获取LSM6DS3TR传感器提供的加速度计和陀螺仪数据,以及传感器对应的温度信息。 获取数据状态 STATUS_REG (1Eh)是该传感器…

破解mysql用户的密码

假如mysql数据库中有一个 prod_blb 用户,你作为root管理员,想知道它的密码,又不想修改它的密码。这个时候就只能通过获取到 prod_blb 用户加密的密码进程破译 1、MYSQL加密方式 MYSQL数据库的认证密码有两种方式,MYSQL 4.1版本之…

python笔记16_实例练习_二手车折旧分析p1

python数据分析练习,具体数据不放出。 分析实践很简单。目的不是做完,而是讲清楚每一步的目的和连带的知识点(所以才叫学习笔记) 0.数据准备 原始数据格式:csv文件 原始数据结构: 数据格式 字段名 int…

使用Python处理PDF文件的简介与实践

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

ol中不同区域加载不同底图

概述 写一篇水文&#xff0c;讲讲如果在openlayers中实现不同的区域加载不同的底图。 效果 实现 通过tileUrlFunction实现不同切片地址的请求。 <!DOCTYPE html> <html><head><title>XYZ</title><link rel"stylesheet" href&qu…