人工神经网络笔记-粒子群优化(Partical Swarm Optimization

关于粒子群优化的内容可以通过搜索得到。

下面主要是个人对于粒子群优化的一点理解,以及应用于BP神经网络中做权重的调整

原文在:http://baike.baidu.com/view/1531379.htm

引用下面一些内容

===============我是引用的分界线=================
粒子根据如下的公式来更新自己的 速度和新的位置
v[] = w * v[] + c1 * rand() * (pbest[] - present[]) + c2 * rand() * (gbest[] - present[])
present[] = persent[] + v[]
v[] 是粒子的速度, w是惯性权 重,persent[] 是当前粒子的位置. pbest[] and gbest[] 如前定义 rand () 是介于(0, 1)之间的随 机数. c1, c2 是学习因子. 通常 c1 = c2 = 2.
===============我是引用的分界线 =================

一般用X表示粒子的位置,V表示粒子的速度

X和V都是向量,因此很容易地就会和BP神经网络的权重联想到一起。

在看PSO和BP神经网络如何结合起来使用的过程中,我一直比较疑惑的就是到底是让X代替权重,还是 用V代替权重。或者是用X和V的乘积的。经过多方面的探讨,基本达成共识的就是 用X代替权重。

因为一个粒子就代表了一组权重,如果只是利用一个粒子的话。。。那么gbest[]和pbest[]就没有多 大的意义了,起码是只要一个就可以了。因此很多人就把粒子的数目做成10-30个之间。也就是这个结合 PSO的BP神经网络有10-30组权重了。一般意义上的BP神经网络就只有一组权重而已。那么这种思想对于 神经网络来说就是不只是依赖一组权重来进行最优解的搜索,而是利用多组权重来进行搜索。这样能跳 出局部最小的机会已经大了很多了。非常不错的思想。不过计算量已经比一般的BP大很多了,起码变量 已经比原来的多了。不过庆幸的是这些变量都是可控制的向量。需要调整的只是几个参数而已。

研究粒子群优化(Partical Swarm Optimization - PSO) 主要是因为之前做的BP神经网络在维度达到 100多的时候很容易陷入局部最小,所以不得不考虑如何优化了。

本来想用模拟退火算法来做权重的调整的。但是看了粒子群优化(Partical Swarm Optimization - PSO) 之后觉得这种思想更优。到底是哪里更好了?呵呵。说不出。只是一种感性的理解罢了。

PS:

我毕竟不是学数学的,我毕竟不是读计算机的,神经网络里面包含的思想与理论很多时候都超出了我 的理解。神经网络这么多年的发展,这么多前辈的努力成果,不是我等小辈能马上明白的。顿时感觉压 力很大。但是当我对他产生了强烈的兴趣的时候,一种无形的力量驱动着我去不断地去求知。不为什么 ,只为我喜欢的,我就是想知道。^_^

时间: 2024-11-18 18:11:25

人工神经网络笔记-粒子群优化(Partical Swarm Optimization的相关文章

粒子群优化算法简介

好好学数学. 一.问题来源 经朋友介绍,帮一个伙计做了下PSO的优化.......赚点生活费而已. 欢迎大家和我联系做算法类项目,QQ:1198552514 二.背景介绍 2.1 人工生命 人工生命:研究具有某些生命基本特征的人 工系统.包括两方面的内容: 1.研究如何利用计算技术研究生物现象: 2. 研究如何利用生物技术研究计算问题. 我们关注的是第二点.已有很多源于生物现象的计算技巧,例如神经网络和遗传算法.现在讨论另一种生物系统---社会系统:由简单个体组成的群落和环境及个体之间的相互行为

c-用 粒子群优化算法/细菌觅食算法 求解下列方程 C 或者C++语言或者Java都可以!

问题描述 用 粒子群优化算法/细菌觅食算法 求解下列方程 C 或者C++语言或者Java都可以! 使用 粒子群优化算法/细菌觅食算法 求解或者优化下列方程,使用C语言或者C++语言或者Java都可以! 解决方案 http://www.pudn.com/downloads311/sourcecode/math/detail1379743.html 解决方案二: 粒子群优化算法的JAVA实现 解决方案三: http://msdn.microsoft.com/zh-cn/magazine/hh8824

粒子群优化灰色模型在电力负荷预测的matlab代码

问题描述 粒子群优化灰色模型在电力负荷预测的matlab代码 呢位大神能够帮忙,本人是个萌妹子,近期正在做毕业论文,就差实现这个程序了,是在是写不出代码来,望好心的大神能帮帮忙,妹子感激不尽 解决方案 http://wenku.baidu.com/link?url=q8wsyuWGatozTiBPUeycKtIvKw4pTeGyomAqqoABGKXZL9oB5XiEtAySJwC82D_mi4P8Dd5yLRjaxRh4HORyrw9q4X9zIhF8wsrpvQVxG1a

关于粒子群优化算法的测试程序代码

问题描述 关于粒子群优化算法的测试程序代码 Griewank.Schaffer.Cosine mixture.Michalewicz.Rosenbrock.多峰函数这几个 函数的测试代码,例如sphere函数的这种格式: function f = fitness(x) a = size(x,2); %[x,y] = meshgrid(-100:1:100); f=0; for i = 1:a f=f+x(i)^2; end

基于模拟退火粒子群优化算法的拆卸序列规划,如何界定边界约束图模型?

问题描述 基于模拟退火粒子群优化算法的拆卸序列规划,如何界定边界约束图模型? 基于模拟退火粒子群优化算法的拆卸序列规划,如何界定边界约束图模型?基于模拟退火粒子群优化算法的拆卸序列规划,如何界定边界约束图模型?基于模拟退火粒子群优化算法的拆卸序列规划,如何界定边界约束图模型? 解决方案 http://wenku.baidu.com/link?url=5MxC_9OOvvyxQ5TRfs_L9RKyQFJB6mhUoxyL8aGp7uop7HobxlVeh4xfDghUvU_JE1fkzU5dh3

一种基于粒子群优化的虚拟资源分配方法

一种基于粒子群优化的虚拟资源分配方法 周相兵 针对云计算环境下存在虚拟化资源利用率不高.延迟.性能衰减等问题,提出一种基于粒子群的虚拟资源分配优化方法.根据云计算优势,对虚拟化资源进行描述及状态定义,分析了虚拟环境下的服务质量(quality of services,QoS)组成和计算方法;同时通过用户与云提供商收益最大化的平衡关系,建立一种虚拟化操作方法,以确保虚拟化资源被合理分配和回收;采用粒子群算法使用户和虚拟服务提供方都能趋于收益平衡.在此基础上设计的一款云播放器与直接嵌入到Web播放器

人工神经网络笔记-径向基函数(Radial Basis Function- RBF)

RBF 网络起源于数值分析中的多变量插值的径向基函数方法,其所具有的最佳逼近特性是传统BP 网 络所不具备的. 三层的RBF 网络具有可以逼近任意函数的能力. 假设网络中的输入节点隐层节点输出节点数分别为N,L,M .隐含层的作用是对输入模式进行变换将低 维的模式输入数据转换到高维空间内以利于输出层进行分类识别. 最常用的径向基函数是高斯核函数 ,形式为 k(||x-xc||)=exp{- ||x-xc||^2/(2*σ)^2) } 其中xc为 核函数中心,σ为函数的宽度参数 , 控制了函数的径

遗传算法、贪婪算法、粒子群算法、蚂蚁算法概念简介

遗传算法 遗传算法是计算数学中用于解决最佳化的搜索算法,是进化算法的一种.进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传.突变.自然选择以及杂交等.遗传算法通常实现方式为一种计算机模拟.对于一个最优化问题,一定数量的候选解(称为个体)的抽象表示(称为染色体)的种群向更好的解进化.传统上,解用二进制表示(即0和1的串),但也可以用其他表示方法.进化从完全随机个体的种群开始,之后一代一代发生.在每一代中,整个种群的适应度被评价,从当前种群中随机地选择多个个体(基于它们的适应

粒子群算法(8)---混合粒子群算法的实现

混合粒子群算法将全局粒子群算法与局部粒子群算法结合,其速度更新采用公 式 其中G(k+1)是全局版本的速度更新公式,而L(k+1)是局部版本的速度更新 公式,混合粒子群算法采用H(k+1)的公式. 位置更新公式 因为是局部版本与全局版本相结合,所以,粒子群的初始化函数应该与局部版 本的相同,这里就不列出了,参看粒子群算法(7)中的LocalInitSwarm函数. 关键还是混合粒子群算法的单步更新函数,函数名为HybridStepPso 代码如下: function [ParSwarm,OptS