粒子群算法和遗传算法比较
遗传算法与粒子群算法的优劣对比研究

遗传算法与粒子群算法的优劣对比研究引言:遗传算法和粒子群算法是两种常用的优化算法,它们在解决复杂问题和优化搜索中发挥着重要作用。
本文将对这两种算法进行对比研究,分析它们的优劣势,以及在不同问题领域的适用性。
一、遗传算法的基本原理和特点遗传算法是一种模拟自然选择和进化过程的优化算法。
它通过模拟生物进化中的选择、交叉和变异等过程,逐步搜索最优解。
遗传算法的基本流程包括初始化种群、选择操作、交叉操作和变异操作。
其中,选择操作根据适应度函数选择优秀个体,交叉操作模拟生物的交叉遗传,变异操作引入随机性,增加搜索的多样性。
遗传算法具有以下特点:1. 并行搜索能力强:遗传算法可以同时搜索多个解,从而加快了搜索速度。
2. 全局搜索能力强:遗传算法通过不断的选择、交叉和变异操作,可以跳出局部最优解,寻找全局最优解。
3. 适应性强:遗传算法能够根据问题的特点,自适应地调整搜索策略,提高搜索效率。
二、粒子群算法的基本原理和特点粒子群算法是一种模拟鸟群觅食行为的优化算法。
它通过模拟粒子在解空间中的移动和信息交流,逐步搜索最优解。
粒子群算法的基本流程包括初始化粒子群、更新粒子速度和位置、更新全局最优解和个体最优解。
其中,粒子的速度和位置更新受到个体历史最优解和全局历史最优解的影响。
粒子群算法具有以下特点:1. 局部搜索能力强:粒子群算法通过个体历史最优解的引导,可以有效地进行局部搜索。
2. 收敛速度快:粒子群算法通过粒子之间的信息交流,可以迅速收敛到最优解的附近。
3. 参数设置简单:粒子群算法的参数设置相对简单,不需要过多的调参。
三、遗传算法与粒子群算法的对比研究1. 搜索能力对比:遗传算法具有较强的全局搜索能力,能够跳出局部最优解,寻找全局最优解。
而粒子群算法则更适合进行局部搜索,对于复杂问题的全局搜索能力相对较弱。
2. 收敛速度对比:粒子群算法由于粒子之间的信息交流,能够迅速收敛到最优解的附近,收敛速度较快。
而遗传算法由于引入了交叉和变异操作,搜索过程中存在一定的随机性,收敛速度相对较慢。
粒子群算法与遗传算法的比较

粒子群算法介绍优化问题是工业设计中经常遇到的问题,许多问题最后都可以归结为优化问题•为了解决各种各样的优化问题,人们提出了许多优化算法,比较著名的有爬山法、遗传算法等•优化问题有两个主要问题:一是要求寻找全局最小点,二是要求有较高的收敛速度•爬山法精度较高,但是易于陷入局部极小•遗传算法属于进化算法(Evolutionary Algorithms)的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解•遗传算法有三个基本算子:选择、交叉和变异•但是遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验.1995年Eberhart博士和kennedy博士提出了一种新的算法;粒子群优化(Particle Swarm Optimization -PSO) 算法.这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。
粒子群优化(Particle Swarm Optimization - PSO) 算法是近年来发展起来的一种新的进化算法(Evoluti on ary Algorithm - EA) .PSO 算法属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质.但是它比遗传算法规则更为简单,它没有遗传算法的交叉” (Crossover)和变异”(Mutation)操作.它通过追随粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),由Eberhart博士和迭代搜寻最优值。
但是它没有遗传算法用的交叉(crossover)以及变异(mutation),而是粒子在解空间追随最优的粒子进行搜索。
同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。
无功优化中粒子群、遗传算法的简要对比

粒子群算法和遗传算法用于无功优化的可行性和有效f 生 进行对比验证。 结果显
示, 基 于粒子群 算法 的无功 优化 , 收敛速 度更 快 , 编程简 单 , 计 算时 间短 , 易于推 广使用 , 能精 确地找 到全局 最优解 , 系统 的 网络损耗 明显降 低 , 电压值 稳定且有 了相 应的提 升 , 达 到了改 善 电压 质量 、 减少 网络损 耗和提 高 电压稳 定性 的无 功
优化 目的 。 鉴 于粒 子群算 法是一 种 更加优 秀 的算法 , 在 今后 的无功 优化 算法 设
计 中, 作者将 以粒 子群算法 为基础 , 去研 究如 何更好 的解决 无功优 化的 问题 , 很 多学者 已经提 出 了很多构 想 , 比如二进 制粒子 群法 , 小生境 粒子 群法 , 免疫粒 子 群法 等等 , 本 文 只是把 最基 本的粒 子群 算法 运用 到无功 优化 问题 , 在 以后 的研 究中, 应 该整合各 类思想 , 使 基于粒 子群算 法 的无 功优化 方案 更加科学 , 更 加合
I E E E 一 6 系统 有 功 网损 曲线 终 止代数 =1 0 0
点1 、 2 ) 、 2 条可调变压器支路( 支路3 — 5 、 4 — 6 ) 和2 个无功补偿点( 节点3 和4 ) 。 系
统 中 的发 电机 机端 电压是 连续变 化 的 ; 可调变压 器 的调节 间距为 2 . 5 %, 无 功补 偿容 量 间距 分别 为0 . 0 0 5 和0 . 0 0 5 5 。 本 文选 取群体 规模 N为2 0 0 , 迭代 次数 1 0 0 , 粒子群 算法 中惯 性权 重 w 取 常 值0 . 8 即可 , 用MAT L A B 语言 编 写无功 优化程 序 , 结果 如 图2 . 1 , 图2 . 2 * n 表2 . 1 。 由图2 . 1 和 图2 . 2 可知 , 粒子 群算法 可 以更 早的 收敛 , 得 到最 优解 , 遗传 算法
遗传算法、蚁群算法、粒子群算法的不足

遗传算法、蚁群算法、粒子群算法的不足在计算机科学领域中,遗传算法、蚁群算法和粒子群算法都是很常见的优化算法。
虽然它们在不同的问题领域中都有很好的应用效果,但是它们仍然存在一些不足之处。
首先是遗传算法。
虽然遗传算法在优化问题中往往能够找到全局最优解,但是它的计算复杂度较高,需要大量的计算资源和时间。
此外,遗传算法对于复杂的问题可能会陷入局部最优解,导致无法找到全局最优解。
其次是蚁群算法。
蚁群算法在解决旅行商问题等优化问题时表现出色,但是在解决其他类型的问题时可能会出现效果不佳的情况。
此外,蚁群算法需要大量的参数调整,如果参数设置不当,可能会导致算法性能下降。
最后是粒子群算法。
粒子群算法在解决连续优化问题时效果很好,但是对于离散优化问题则表现不佳。
此外,粒子群算法存在收敛速度较慢的问题,需要大量的迭代才能得到较好的优化结果。
总之,虽然遗传算法、蚁群算法和粒子群算法都有其优点,但是它们也存在一些不足之处,需要根据具体问题的特点选择合适的算法来解决。
- 1 -。
基于遗传进化和粒子群优化算法的入侵检测对比分析

O t i t n( S )w r ue pi i ls r gadcm aa v nls a s o pe d nt saa s ,b a pi z i P O ee sdt ot z c t i n o prt eaayi w sa ocm le .I h nl i i r m ao o m e u en i s l t i ys n y
Z N o gyn I i ,H U Me- HE G H n —ig,N n L O iu ,WA G Y ‘ j N u
( .C lg o p t c ne h nqn nvrt,C og i 0 00 hn ; 1 oeeo Cm ue Si c,C og i U i sy h nqn 4 0 3,C ia l f r e g ei g
0 引言
人侵检测技术是安全防御体 系 的一个 重要组 成部分 , 是
1 遗传 算法在入侵检 测 中的应用
遗传算法 主要 以两类 方式应用 于入侵检测 中: 是直 接 一 使用遗传算法产生 出分 类规则 。 ; 是用遗 传算法 来选择 二
K e o ds g nei l o tm ; pa t l wa i pt ia in; i t so ee to ; cu trng e ou in; o tm ia in y w r : e tc a g r h i ri e s rn o i z to c m nr in d tc in u lse i ; v lto p i z to
中 图 分 类 号 : P 9 .8 T 3 3 0 文 献 标 志 码 : A
Co pa a i e s ud n e o uto a y g n tc a g r t m n m r tv t y o v l i n r e e i l o ih a d pa tc e s r p i i a i n n i t u i n d t c i n r i l wa m o tm z to i n r s o e e to
遗传算法与其他优化算法的比较分析

遗传算法与其他优化算法的比较分析介绍:在计算机科学领域,优化算法是一类用于解决最优化问题的方法。
随着计算机技术的发展,优化算法在实际应用中发挥着重要的作用。
本文将对遗传算法与其他优化算法进行比较分析,探讨它们的优势和不足之处。
一、遗传算法的基本原理遗传算法是模拟生物进化过程的一种优化算法。
它通过模拟自然界中的遗传、交叉和变异等过程,逐步搜索最优解。
遗传算法的基本原理包括编码、选择、交叉和变异等步骤。
编码将问题转化为染色体的形式,选择通过适应度函数筛选出较优的个体,交叉将两个个体的染色体进行交换,变异则是对染色体进行随机变动。
二、遗传算法的优势1. 广泛适用性:遗传算法适用于各种类型的问题,包括线性和非线性问题、连续和离散问题等。
这使得它在实际应用中具有广泛的适用性。
2. 全局搜索能力:遗传算法通过随机性和多样性的搜索策略,能够在搜索空间中找到全局最优解,避免陷入局部最优解。
3. 并行性:遗传算法的并行性较强,可以通过多线程或分布式计算等方式提高求解效率。
三、遗传算法的不足之处1. 参数调整困难:遗传算法中的参数设置对算法的性能影响较大,但很难确定最优的参数取值。
不同的问题需要不同的参数设置,这增加了算法的复杂性。
2. 运算时间较长:由于遗传算法的搜索过程是通过迭代进行的,因此在求解复杂问题时,运算时间较长。
这限制了其在某些实时性要求较高的应用中的应用。
3. 可能陷入局部最优解:虽然遗传算法具有全局搜索能力,但在某些情况下,由于搜索空间较大或问题的特殊性,遗传算法可能会陷入局部最优解。
四、与其他优化算法的比较1. 粒子群算法:粒子群算法是一种模拟鸟群觅食行为的优化算法。
与遗传算法相比,粒子群算法更加注重个体之间的信息共享,具有较快的收敛速度。
但在解决复杂问题时,遗传算法更具优势。
2. 模拟退火算法:模拟退火算法通过模拟固体物体冷却过程中的原子运动,搜索最优解。
与遗传算法相比,模拟退火算法更注重局部搜索能力,对于复杂问题的全局搜索能力较弱。
粒子群优化算法及其应用研究【精品文档】(完整版)

摘要在智能领域,大部分问题都可以归结为优化问题。
常用的经典优化算法都对问题有一定的约束条件,如要求优化函数可微等,仿生算法是一种模拟生物智能行为的优化算法,由于其几乎不存在对问题的约束,因此,粒子群优化算法在各种优化问题中得到广泛应用。
本文首先描述了基本粒子群优化算法及其改进算法的基本原理,对比分析粒子群优化算法与其他优化算法的优缺点,并对基本粒子群优化算法参数进行了简要分析。
根据分析结果,研究了一种基于量子的粒子群优化算法。
在标准测试函数的优化上粒子群优化算法与改进算法进行了比较,实验结果表明改进的算法在优化性能明显要优于其它算法。
本文算法应用于支持向量机参数选择的优化问题上也获得了较好的性能。
最后,对本文进行了简单的总结和展望。
关键词:粒子群优化算法最小二乘支持向量机参数优化适应度目录摘要 (I)目录 (II)1.概述 (1)1.1引言 (1)1.2研究背景 (1)1.2.1人工生命计算 (1)1.2.2 群集智能理论 (2)1.3算法比较 (2)1.3.1粒子群算法与遗传算法(GA)比较 (2)1.3.2粒子群算法与蚁群算法(ACO)比较 (3)1.4粒子群优化算法的研究现状 (4)1.4.1理论研究现状 (4)1.4.2应用研究现状 (5)1.5粒子群优化算法的应用 (5)1.5.1神经网络训练 (6)1.5.2函数优化 (6)1.5.3其他应用 (6)1.5.4粒子群优化算法的工程应用概述 (6)2.粒子群优化算法 (8)2.1基本粒子群优化算法 (8)2.1.1基本理论 (8)2.1.2算法流程 (9)2.2标准粒子群优化算法 (10)2.2.1惯性权重 (10)2.2.2压缩因子 (11)2.3算法分析 (12)2.3.1参数分析 (12)2.3.2粒子群优化算法的特点 (14)3.粒子群优化算法的改进 (15)3.1粒子群优化算法存在的问题 (15)3.2粒子群优化算法的改进分析 (15)3.3基于量子粒子群优化(QPSO)算法 (17)3.3.1 QPSO算法的优点 (17)3.3.2 基于MATLAB的仿真 (18)3.4 PSO仿真 (19)3.4.1 标准测试函数 (19)3.4.2 试验参数设置 (20)3.5试验结果与分析 (21)4.粒子群优化算法在支持向量机的参数优化中的应用 (22)4.1支持向量机 (22)4.2最小二乘支持向量机原理 (22)4.3基于粒子群算法的最小二乘支持向量机的参数优化方法 (23)4.4 仿真 (24)4.4.1仿真设定 (24)4.4.2仿真结果 (24)4.4.3结果分析 (25)5.总结与展望 (26)5.1 总结 (26)5.2展望 (26)致谢 (28)参考文献 (29)Abstract (30)附录 (31)PSO程序 (31)LSSVM程序 (35)1.概述1.1引言最优化问题是在满足一定约束条件下,寻找一组参数值,使得系统的某些性能指标达到最大或者最小。
遗传算法,粒子群算法和蚁群算法的异同点

遗传算法,粒子群算法和蚁群算法的异同点
遗传算法、粒子群算法和蚁群算法是三种不同的优化算法,它们的异同点如下:
1. 原理不同:
遗传算法是一种模拟自然进化过程的优化算法,主要利用遗传和交叉等运算来产生下一代候选解,通过适应度函数来评价每个候选解的好坏,最终选出最优解。
粒子群算法基于对群体智能的理解和研究,模拟了鸟群或鱼群等动物群体的行为,将每个解看作一个粒子,粒子通过跟踪历史最佳解的方式来更新自己的位置与速度,直到达到最佳解。
蚁群算法是基于模拟蚂蚁在食物和家之间寻找最短路径的行为,将每个解看作一只蚂蚁,通过随机选择路径并留下信息素来搜索最优解。
2. 适用场景不同:
遗传算法适用于具有较大搜索空间、多个可行解且无法枚举的问题,如旅行商问题、无序机器调度问题等。
粒子群算法适用于具有连续参数、寻求全局最优解的问题,如函数优化、神经网络训练等。
蚁群算法适用于具有连续、离散或混合型参数的优化问题,如
路径规划、图像分割等。
3. 参数设置不同:
遗传算法的参数包括个体数、交叉概率、变异概率等。
粒子群算法的参数包括粒子数、权重因子、学习因子等。
蚁群算法的参数包括蚂蚁数量、信息素挥发率、信息素初始值等。
4. 收敛速度不同:
遗传算法需要较多的迭代次数才能得到较优解,但一旦找到最优解,一般能够较好地保持其稳定性,不太容易陷入局部最优。
粒子群算法的收敛速度较快,但对参数设置较为敏感,可能会陷入局部最优。
蚁群算法的收敛速度中等,能够较好地避免局部最优,但也容易出现算法早熟和陷入局部最优的情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
粒子群算法和遗传算法比较优化问题是工业设计中经常遇到的问题,许多问题最后都可以归结为优化问题. 为了解决各种各样的优化问题,人们提出了许多优化算法,比较著名的有爬山法、遗传算法等.优化问题有两个主要问题:一是要求寻找全局最小点,二是要求有较高的收敛速度. 爬山法精度较高,但是易于陷入局部极小. 遗传算法属于进化算法( Evolutionary Algorithms) 的一种,它通过模仿自然界的选择与遗传的机理来寻找最优解. 遗传算法有三个基本算子:选择、交叉和变异. 但是遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验.1995 年Eberhart 博士和kennedy 博士提出了一种新的算法;粒子群优化(Partical Swarm Optimization -PSO) 算法. 这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。
粒子群算法1. 引言粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),有Eberhart博士和kennedy博士发明。
源于对鸟群捕食的行为研究,PSO同遗传算法类似,是一种基于叠代的优化工具。
系统初始化为一组随机解,通过叠代搜寻最优值。
但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。
而是粒子在解空间追随最优的粒子进行搜索。
详细的步骤以后的章节介绍同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。
目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域2. 背景: 人工生命"人工生命"是来研究具有某些生命基本特征的人工系统. 人工生命包括两方面的内容1. 研究如何利用计算技术研究生物现象2. 研究如何利用生物技术研究计算问题我们现在关注的是第二部分的内容. 现在已经有很多源于生物现象的计算技巧. 例如, 人工神经网络是简化的大脑模型. 遗传算法是模拟基因进化过程的.现在我们讨论另一种生物系统- 社会系统. 更确切的是, 在由简单个体组成的群落与环境以及个体之间的互动行为. 也可称做"群智能"(swarm intelligence). 这些模拟系统利用局部信息从而可能产生不可预测的群体行为例如floys 和boids, 他们都用来模拟鱼群和鸟群的运动规律, 主要用于计算机视觉和计算机辅助设计.在计算智能(computational intelligence)领域有两种基于群智能的算法. 蚁群算法(ant colony optimization)和粒子群算法(particle swarm optimization). 前者是对蚂蚁群落食物采集过程的模拟. 已经成功运用在很多离散优化问题上.粒子群优化算法(PSO) 也是起源对简单社会系统的模拟. 最初设想是模拟鸟群觅食的过程.但后来发现PSO是一种很好的优化工具.3. 算法介绍如前所述,PSO模拟鸟群的捕食行为。
设想这样一个场景:一群鸟在随机搜索食物。
在这个区域里只有一块食物。
所有的鸟都不知道食物在那里。
但是他们知道当前的位置离食物还有多远。
那么找到食物的最优策略是什么呢。
最简单有效的就是搜寻目前离食物最近的鸟的周围区域。
PSO从这种模型中得到启示并用于解决优化问题。
PSO中,每个优化问题的解都是搜索空间中的一只鸟。
我们称之为“粒子”。
所有的例子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。
然后粒子们就追随当前的最优粒子在解空间中搜索PSO 初始化为一群随机粒子(随机解)。
然后通过叠代找到最优解。
在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。
第一个就是粒子本身所找到的最优解。
这个解叫做个体极值pBest. 另一个极值是整个种群目前找到的最优解。
这个极值是全局极值gBest。
另外也可以不用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。
在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置v[] = v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[]) (a)present[] = persent[] + v[] (b)v[] 是粒子的速度, persent[] 是当前粒子的位置. pbest[] and gbest[] 如前定义rand () 是介于(0,1)之间的随机数. c1, c2 是学习因子. 通常c1 = c2 = 2.程序的伪代码如下For each particle____Initialize particleENDDo____For each particle________Calculate fitness value________If the fitness value is better than the best fitness value (pBest) in history____________set current value as the new pBest____End____Choose the particle with the best fitness value of all the particles as the gBest____For each particle________Calculate particle velocity according equation (a)________Update particle position according equation (b)____EndWhile maximum iterations or minimum error criteria is not attained在每一维粒子的速度都会被限制在一个最大速度Vmax,如果某一维更新后的速度超过用户设定的Vmax,那么这一维的速度就被限定为Vmax4. 遗传算法和PSO 的比较大多数演化计算技术都是用同样的过程1. 种群随机初始化2. 对种群内的每一个个体计算适应值(fitness value).适应值与最优解的距离直接有关3. 种群根据适应值进行复制4. 如果终止条件满足的话,就停止,否则转步骤2从以上步骤,我们可以看到PSO和GA有很多共同之处。
两者都随机初始化种群,而且都使用适应值来评价系统,而且都根据适应值来进行一定的随机搜索。
两个系统都不是保证一定找到最优解但是,PSO 没有遗传操作如交叉(crossover)和变异(mutation). 而是根据自己的速度来决定搜索。
粒子还有一个重要的特点,就是有记忆。
与遗传算法比较, PSO 的信息共享机制是很不同的. 在遗传算法中,染色体(chromosomes) 互相共享信息,所以整个种群的移动是比较均匀的向最优区域移动. 在PSO中, 只有gBest (or lBest) 给出信息给其他的粒子,这是单向的信息流动. 整个搜索更新过程是跟随当前最优解的过程. 与遗传算法比较, 在大多数的情况下,所有的粒子可能更快的收敛于最优解5. 人工神经网络和PSO人工神经网络(ANN)是模拟大脑分析过程的简单数学模型,反向转播算法是最流行的神经网络训练算法。
进来也有很多研究开始利用演化计算(evolutionary computation)技术来研究人工神经网络的各个方面。
演化计算可以用来研究神经网络的三个方面:网络连接权重,网络结构(网络拓扑结构,传递函数),网络学习算法。
不过大多数这方面的工作都集中在网络连接权重,和网络拓扑结构上。
在GA中,网络权重和/或拓扑结构一般编码为染色体(Chromosome),适应函数(fitness function)的选择一般根据研究目的确定。
例如在分类问题中,错误分类的比率可以用来作为适应值演化计算的优势在于可以处理一些传统方法不能处理的例子例如不可导的节点传递函数或者没有梯度信息存在。
但是缺点在于:在某些问题上性能并不是特别好。
2. 网络权重的编码而且遗传算子的选择有时比较麻烦最近已经有一些利用PSO来代替反向传播算法来训练神经网络的论文。
研究表明PSO 是一种很有潜力的神经网络算法。
PSO速度比较快而且可以得到比较好的结果。
而且还没有遗传算法碰到的问题这里用一个简单的例子说明PSO训练神经网络的过程。
这个例子使用分类问题的基准函数(Benchmark function)IRIS数据集。
(Iris 是一种鸢尾属植物) 在数据记录中,每组数据包含Iris花的四种属性:萼片长度,萼片宽度,花瓣长度,和花瓣宽度,三种不同的花各有50组数据. 这样总共有150组数据或模式。
我们用3层的神经网络来做分类。
现在有四个输入和三个输出。
所以神经网络的输入层有4个节点,输出层有3个节点我们也可以动态调节隐含层节点的数目,不过这里我们假定隐含层有6个节点。
我们也可以训练神经网络中其他的参数。
不过这里我们只是来确定网络权重。
粒子就表示神经网络的一组权重,应该是4*6+6*3=42个参数。
权重的范围设定为[-100,100] (这只是一个例子,在实际情况中可能需要试验调整).在完成编码以后,我们需要确定适应函数。
对于分类问题,我们把所有的数据送入神经网络,网络的权重有粒子的参数决定。
然后记录所有的错误分类的数目作为那个粒子的适应值。
现在我们就利用PSO来训练神经网络来获得尽可能低的错误分类数目。
PSO本身并没有很多的参数需要调整。
所以在实验中只需要调整隐含层的节点数目和权重的范围以取得较好的分类效果。
6. PSO的参数设置从上面的例子我们可以看到应用PSO解决优化问题的过程中有两个重要的步骤: 问题解的编码和适应度函数PSO的一个优势就是采用实数编码, 不需要像遗传算法一样是二进制编码(或者采用针对实数的遗传操作.例如对于问题f(x) = x1^2 + x2^2+x3^2 求解, 粒子可以直接编码为(x1, x2, x3), 而适应度函数就是f(x). 接着我们就可以利用前面的过程去寻优.这个寻优过程是一个叠代过程, 中止条件一般为设置为达到最大循环数或者最小错误PSO中并没有许多需要调节的参数,下面列出了这些参数以及经验设置粒子数: 一般取20 – 40. 其实对于大部分的问题10个粒子已经足够可以取得好的结果, 不过对于比较难的问题或者特定类别的问题, 粒子数可以取到100 或200粒子的长度: 这是由优化问题决定, 就是问题解的长度粒子的范围: 由优化问题决定,每一维可是设定不同的范围Vmax: 最大速度,决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度,例如上面的例子里,粒子(x1, x2, x3) x1 属于[-10, 10], 那么Vmax 的大小就是20学习因子: c1 和c2 通常等于 2. 不过在文献中也有其他的取值. 但是一般c1 等于c2 并且范围在0和4之间中止条件: 最大循环数以及最小错误要求. 例如, 在上面的神经网络训练例子中, 最小错误可以设定为1个错误分类, 最大循环设定为2000, 这个中止条件由具体的问题确定.全局PSO和局部PSO: 我们介绍了两种版本的粒子群优化算法: 全局版和局部版. 前者速度快不过有时会陷入局部最优. 后者收敛速度慢一点不过很难陷入局部最优. 在实际应用中, 可以先用全局PSO找到大致的结果,再有局部PSO进行搜索.另外的一个参数是惯性权重, 由Shi 和Eberhart提出, 有兴趣的可以参考他们1998年的论文(题目: A modified particle swarm optimizer)。