基于粒子群优化的BP神经网络

合集下载

粒子群优化BP神经网络用于重复记录检测

粒子群优化BP神经网络用于重复记录检测

进化 的思想应用到重复记录检测 中,避开了传统方法计算属性权重的问题。理论分析和 实验表 明:该方法不仅具
有 好 的检 测 精 度 ,而 且 具 有 很 好 的 时 间效 率 ,能 够 有 效 地 解 决 大 数 据 量 的相 似 重 复记 录 检 测 问题 。 关 键 词 :重 复 记 录 检 测 ;B P神 经 网络 ;粒 子群 算 法 ;智 能检 测
I fr t nS i c n n ie r gC l g , o t nr l ies , h n S a4 0 8 , ia no mai ce e dE gn ei ol e S uhCe ta v ri C a g h 1 0 3 Chn ) o n a n e Un y t
第 2 卷第 5 9 期
V_ .9 0 2 1 N O5 .
文 章编号 : 1 0 -5 22 1 )50 5 -4 0 80 6 ( 0 00 -9 90
辽宁工程技术大学学报 ( 自然科学版 )
J u n l a n n c nia i r i ( tr l cin ce ) o r a Li o i g Te h c l of Un ve st S y Nau a e
M A i ng ' X a
r . p r me to m p t r Hu a n e n to a o o i s 1De a t n f Co u e, n nI tr ai n l Ec n m c i e st , a g h 1 0 2 Ch n ; . Un v r iy Ch n s a 4 0 1 , i a 2
摘 要 :针 对 数 据 规 模 的扩 大 ,重 复 记 录 检 测 效 率 往 往 不 能 进 一 步 提 升 的 问题 ,提 出 一种 粒 子群 优化 B P神 经 网

基于量子粒子群优化的BP神经网络的汽轮机振动故障诊断研究

基于量子粒子群优化的BP神经网络的汽轮机振动故障诊断研究
彭双 飞 ( 州交 通 大 学 自动 化 与 电气 工 程 学 院 , 肃 兰 州 7 0 7 ) 兰 甘 30 0
P n ua g fi (colo tmain& El ti lE gneigo mmhuJatn e g Sh n —e S ho fAuo t o e r a n ier fL c c n o ioo g
K yw od : a tm— e a e at l S am p i z t n( S ) Pn u a n t rs fu i n s e r s Qu nu b h v P rc w r O t ai QP O ; e r l wok ;a lda o i d ie mi o B e t g s C C n m b r T 3 27 L u e : P 0 D c me t o eA ou n  ̄ d : A t l 10 — 1 72 1 ) - 0 1 0 r c I 0 3 0 0 (0 00 0 2 — 3 i e D: 8
从 而 确 定 必 要 对 策 的技 术 。其 基 本 宗 旨就 是 运 用 当 代 一 切 科 学 技 术 的 新 成 就 , 现 机 械 设 备 的隐 患 , 发 以期 对 设 备 事 故 防 范 于 未 然 ቤተ መጻሕፍቲ ባይዱ设 备 故 障诊 断技 术 是 近 四十 年 来 发 展 起 来 的适 应 工
断。实 例证 明 . 它是一 种高 效 , 可靠 的诊断 方法 。
关键 词 : 子粒 子群 ; P神经 网络 ; 障诊 断 量 B 故
中 圈分 类号 :P 0 . T32 7
文献标识码 : A
文章 编 号 :03 00 ( 1)8 02 -3 10 - 172 0 -0 10 0 0
Abs r t To i p o ig h ag os d sp e a c r cy o he s e m u bie dag os y t . i a erpr p e t o tac : m r vn t e di n e e d nd ac u a ft t a t r n i n e s sem t s p p o os s a me h d h

基于改进粒子群算法的BP神经网络模型研究

基于改进粒子群算法的BP神经网络模型研究

算法上下波动幅度较大 , 多次出现水平不变. 改进
第 l期
姚 尔果 , : 于 改进 粒子 群算 法的 B 等 基 P神 经 网络模 型研 究
19 0
的 DS P O算法 不易 陷入 局部最 优 , 以进 行 全局 寻 可
优 , 找全局 最优点. 寻
平缓 , 拟合 性较好 . 真 结果 证 明 了 经改 进 的粒 子 仿
( )根 据 ( ) ( ) 5 , 6 5 3 , 4 ,( ) ( )式 不 断 的更 新
粒子位 置和速 度.
[ ] 徐晋. 2 一种前馈神经网络综合快速学 习算 法[ ] 内蒙古工 J.
业大学学报 , 0 3, 2( : 3 2 0 2 3) 22—26 3.
( )粒子 适应 度 函数 值 满 足 预 设精 度 或 迭 代 6
粒子 i 在搜 索位 置 上进化 的程度 , 表示 了粒子 的 目
其 中

() 为 第 粒子 在第 t 迭代 时对应 的 f) 个 次
函 数 值 it) = 厂 () 啦() () ( t , t, () ) t,. () 为 最优粒 子在第 ) 次迭 代时 对应 的 函数 值 () =mi ( t) t) n x() . f
持值为0时, 已经找到了最优值或者算法停滞. 粒子 改进 的惯性权 重 按 照下式 变化 :
( £+1 =C × ()a t+1 C E ( ,) ( ) ) t/ ( ), O 1 6
由图 3和 图 4可 以看 出 , P O算法 具有更 快 的收 DS 敛性 , 曲线基本 趋 于单 调 下 降状 态 , 其 而标 准 P O S
和较好 的拟 合性 能.
参考 文献 :

基于粒子群优化BP神经网络的台风灾损预测模型研究

基于粒子群优化BP神经网络的台风灾损预测模型研究
其 结果也 具有 较大 的偶 然性 和不稳 定性 。 基 于 现代 神 经科 学 的人 工 神 经 网 络 能 够 反 映
人 脑 的基 本 特 征 ,并 对 自然 神 经 网 络 进 行 抽 象 和 模 拟 。人 工 神 经 网络 可 以对 关 系复 杂 或 具 有 不 确
定 性 的 系统 进行 充 分 的 逼 近 ,通 过 训 练 样 本 学 习 获 得输 入 、输 出 的连 接 权 值 , 自学 习 能 力 对 解 决 大 复 杂度 的 问题 提 供 了 一 种 简 单 、有 效 的 办 法 。 B P网络 是 一 种 多 层 前 馈 的神 经 网 络 ,具 备 神 经
中图 分 类 号 :P 4 4 4;X 4 3 文 献 标 志码 :A 文 章 编 号 :1 0 0 0~8 1 1 X( 2 0 1 3 ) 0 4— 0 0 1 1— 0 6
测 ,并建 立基 于 G I S的台风 灾情 预测信 息 系统 。此
0 引言
台风 的 发 生 往 往 伴 随 着 暴 雨 、大 风 等 强 对 流 天气 ,并 容 易 引 发 山体 滑 坡 、洪 涝 等 其 他 自然 灾 害 。浙江 省东 濒 东 海 ,南 界 福 建 ,每 年 有 7~8个
( 南京信息工程大学 ,江苏 南京 2 1 0 0 4 4 )

要 :在对浙江省 台风灾 情实际情况研究 的基础上 ,选择 台风路径 预报 平均误差 、预 警能力指数 等 1 6个 因子
作为输入量 ,用粒 子群算法 ( P S O) 对 B P神 经 网络的参 数进 行优 化 ,以避 免陷入局 部 极小和 初始参 数 的抉择 问 题 ,提高模型 的精度和 收敛速度 ,从 而建立 了 P S O — B P模型 ,并 将模 型应用 于浙 江 台风灾情 的预测 。最后 ,对 P S O — B P网络模型与普通 B P模型 的台风灾 情 预测训 练效果 进行 对 比,使 用三个 台风数据测 试 已训练 好 的网络 , 模型 的预测结果显示 ,P S O — B P算法 相较 于 B P算法有更高的精度 ,能较好 的反应历年台风灾情的基本趋势 。 关键词 :防 台减灾 ;台风灾情 ;粒子群算 法 ;B P神经 网络 ;浙 江

基于粒子群算法的BP神经网络光伏电池建模

基于粒子群算法的BP神经网络光伏电池建模

复杂 的物 理结构 , 直接面 向其外部 特性 , 不需 要光伏
电池 的 详 细 物 理 参 数 , 而 大 大 简 化 了 建 模 过 从
程 。文献 [ ] 用 B 3采 P神 经 网 络 对 光 伏 电 池 建 模 ,
从 图 中可以看 出 , 光伏 电池具 有 很强 的非线性
特 性 , 同 一 种 光 照 和 温 度 条 件 下 , 着 电 压 的 上 在 随
第3 0卷 第 2期
21 0 1年 4月
电 工 电 能 新 技 术
Ad a c d Te h oo y o e ti a g n e i g a d En r y v n e c n lg fEl crc lEn i e rn n e g
Vo . 0,No 2 13 .
播 ( P 神 经 网 络 建 模 方 法 。神 经 网络 具 有 很 强 的 非 线 性 拟 合 能 力 , 同 时 也 存 在 收 敛 速 度 慢 、 B ) 但 容
易陷入局 部极值 、 建模精度 不 高等 缺点 。本 文采 用粒子群 算法来优 化神 经网络 的 内部连接权 值 , 以
改善神经 网络的性 能 , 并基 于这种 改进 的神 经 网络构 建光伏 电池动 态模 型 。测试及仿 真结 果表 明,
7 O 6 0 5 O
芝 4 0
嚣o 3
2 0 1 0

行状 态 的瞬 态变化 , 且表达式 复杂 , 算繁琐 。而 并 计 实 际应用多 只针 对 光伏 电池 的外部 特性 , 对其 内部
机理 并无要求 , 以传统 数学 模 型并 不 一 定能 适应 所
工程上 的需要 ¨ 。
恶化 , 能源 紧缺和环 境保 护 已成 为 全球 面 临 的重 大 问题 , 低碳经济 已成 为世界各 国的重要 国策 , 开发 及 利用新 能源成 为 了各 国关 注 的焦点 。太 阳能作为 一 种取 之不尽且清 洁无 污 染 的能 源 , 为 了新 能 源领 成 域开发 和研 究 的重 点之一 。 光伏 电池可直 接 将太 阳能转 换 为 电能 , 是太 阳 能利用 的重 要组成 部分 。 目前 已有 的光伏 电池模型 多是基 于光 伏 电池 物理特性 所建立 的数学模 型 。这 些 模型虽能 表征光伏 电池 的内部原理却 不能有 效地

pso优化bp算法python代码

pso优化bp算法python代码

pso优化bp算法python代码PSO优化BP算法Python代码是基于粒子群算法(PSO)和BP(反向传播)神经网络算法的优化算法,用于解决分类和回归问题。

以下是一些关键的Python代码段来实现此算法:1. 导入必要的库```pythonimport numpy as npimport random```2. 定义神经网络类```pythonclass NeuralNetwork:def __init__(self, inputs, hidden, outputs):self.input_nodes = inputsself.hidden_nodes = hiddenself.output_nodes = outputsself.weights_ih = np.random.randn(self.hidden_nodes, self.input_nodes)self.weights_ho = np.random.randn(self.output_nodes, self.hidden_nodes)self.bias_h = np.random.randn(self.hidden_nodes, 1)self.bias_o = np.random.randn(self.output_nodes, 1)```3. 定义激活函数sigmoid```pythondef sigmoid(x):return 1 / (1 + np.exp(-x))```4. 定义前向传播函数```pythondef feedforward(self, input_array):inputs = np.array(input_array, ndmin=2).Thidden_inputs = np.dot(self.weights_ih, inputs) +self.bias_hhidden_outputs = sigmoid(hidden_inputs)final_inputs = np.dot(self.weights_ho, hidden_outputs) + self.bias_ofinal_outputs = sigmoid(final_inputs)return final_outputs```5. 定义损失函数```pythondef mse_loss(self, input_array, target):inputs = np.array(input_array, ndmin=2).Ttargets = np.array(target, ndmin=2).Toutputs = self.feedforward(inputs)return np.mean((targets - outputs)**2)```6. 定义粒子类```pythonclass Particle:def __init__(self, dim):self.position = np.random.randn(dim, 1)self.velocity = np.random.randn(dim, 1)self.best_position = self.positionself.best_cost = float('inf')```7. 定义PSO算法类```pythonclass PSO:def __init__(self, cost_function, dimension, swarm_size, max_iter):self.cf = cost_functionself.dim = dimensionself.swarm_size = swarm_sizeself.max_iter = max_iterself.swarm = [Particle(self.dim) for i inrange(self.swarm_size)]self.best_swarm_position = self.swarm[0].positionself.best_swarm_cost = float('inf')```8. 定义更新粒子位置和速度的函数```pythondef update_particle(self, particle):w = 0.729c1 = 1.49445c2 = 1.49445r1 = random.random()r2 = random.random()new_velocity = w * particle.velocity + c1 * r1 * (particle.best_position - particle.position) + c2 * r2 * (self.best_swarm_position - particle.position)new_position = particle.position + new_velocityparticle.velocity = new_velocityparticle.position = new_position```9. 定义运行PSO算法的函数```pythondef run(self):for i in range(self.max_iter):for particle in self.swarm:cost = self.cf(particle.position)if cost < particle.best_cost:particle.best_position = particle.positionparticle.best_cost = costif cost < self.best_swarm_cost:self.best_swarm_position = particle.positionself.best_swarm_cost = costfor particle in self.swarm:self.update_particle(particle)```10. 实例化神经网络和PSO算法,运行PSO优化BP算法```pythonnn = NeuralNetwork(2, 3, 1)pso = PSO(nn.mse_loss, nn.weights_ih.size +nn.weights_ho.size + nn.bias_h.size + nn.bias_o.size, 20, 100) pso.run()```以上是使用Python实现PSO优化BP算法的主要代码段。

改进粒子群算法对BP神经网络的优化

改进粒子群算法对BP神经网络的优化

粒 子 群 优 化 算 法 (a t l S r Op i z - P ri e wa m t c mia t n P O 最初是 由 E e h r 士和 k n e y博士 i 。S ) o b r at博 end
于 19 5年提 出并成 功地 用于函数优化…,后来 又进 9
B P网络是一 种有效 的 自学习神经 网络 , 具有一些 独特 的性质 :信息 的分 布式存储和并行处理 ,具 有 自 组织、 自学 习能 力等 ,已经被广泛应 用于模式识 别、
n to l v r o e l tto si o e sow o v r e c d t e lc le te au so a iina o n y o e c met i a n n b t t l c n e g n e a o a xr me v e ft d t l h mi i h h n h l r o
因此 ,B 网络 的优化 改进 成为 了研究 的热 点之 P
行 了有效 的拓展 ,是 计 算智 能领 域 除蚁 群优 化 算法
( n oo yOpi z t n AC t9 的另外一种群 A t ln t C mia i , O) 11 o 2,
知识 工程、智能控 制等 方面。 尽管在诸 多应 用领 域取 得 了巨大的成功 ,然而仍存在着一些 问题 :() 习算 1学 法的收敛速 度慢 ;() 2 局部极 小问题 ;() P神经网络 3B
i p o e a tce s r p m i a o i utn o sy m r v d p ril wa m o t z t n sm l e u l .Th e u ts owst a e i r v d ag rtm a i i a e r s l h h tt mp o e lo i dutw ihso P nt oki po oe . h e dl sbsdo e w ih b t c: e t dt ajs e t fB e r s rp sd T enw mo e i ae n t e t r h o g w h g ajs ns frdt n Pa o tm b nn esu t eadc n et nw ihs f Pn t okad d t t o aio a B l rh yt igt rcu n o nc o e to ew r n u me t i l gi u h t r i g B

基于改进粒子群优化算法的BP预测模型

基于改进粒子群优化算法的BP预测模型

( C o mp u t e S c i e n c e a n d T e c h n o l o g y , Un i v e r s i t y o f S c i e n c e a n d T e c h n o l o g y o f C h i n a , H e f e i 2 3 0 0 2 7 , C h i n a )
进 以及激励 函数 的改进 等【Байду номын сангаас6 j =第三种 :基于 P S O 的改
进 B P 算法 [ 1 ,本文 也就基于 第三种方法对 其进行 改
进 的.
关 系 的数 学方 程 .它 的学 习规 则是 使用 最速 下 降法 ,
通 过反 向传 播来不 断调整 网络 的权值和 阈值,使 网络 的误差平方 和最小,但是 由于梯度 下降算法 的固有缺 陷,标准 的 B P 学 习算 法通 常具有收敛速度 慢且容 易
mo d i f y t he wa y t o c a l c ul a t e t he i n e r t i a we i g h t ,a nd us e t he i mp r o v e d PS O a l g o r i t h m i n s t e a d of t h e g r a d i e n t d e s c e n t a l g o r i t h m, Ma k e t hi s c ha n g e s i t wi l l n o t f a l l i n t o l o c a l mi n i mu m. An d u s e t h i s wa y t o f o r e c a s t t h e we a he t r , t h r o u g h t h e
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于粒子群优化的BP神经网络
【摘要】人工神经网络的优化学习是其研究中的一个重要课题。

将粒子群优化算法用于BP神经网络的学习,将粒子优化算法的全局搜索和BP神经网的局部搜索相结合,并设计一网络实例加以训练,达到了比较满意的效果。

【关键词】粒子群优化算法BP神经网络BP算法BP网络(Back Propagation Network)是用途最为广泛的一类神经网络,具有很强的信息处理能力。

但是,由于BP算法的基本思想是最小二乘法,采用的是梯度搜索技术,难免存在收敛速度慢、局部极小等问题。

粒子群优化算法(Particle Swarm Optimaziton,简称PSO )是由Kennedy J和Eberhart R C于1995年提出的一种优化算法,源于对鸟群和鱼群群体运动行为的研究。

由于其容易理解,易于实现,不要求目标函数和约束条件是可微的,并能以较大概率求得全局最优解,目前已在许多优化问题中得到成功应用。

由于它具有并行计算的特点,而且可以提高计算速度。

因此,可以用粒子群优化算法来优化BP网络。

一、BP神经网络及其算法
BP网络是一种具有三层或三层以上的单向传播的多层前馈网络,其拓扑结构如图1。

图1 拓扑结构图
BP算法的执行步骤如下:
(1)对各层权系数置一个较小Wij的非零随机数。

(2)输入一个样本X=(X1,X2,…,x n),以及对应期望输出) Y=(y1,y2,…,yn)。

(3)计算各层的输出。

对于第k 层第i个神经元的输出有:Uki=∑WijXk-1i,Xki=f(Uki)(一般为sigmoid 函数,即f(x)=1/(1-epx(-x))。

(4)求各层的学习误差dki。

对于输出层,有,k=m,dmi=Xmi(1-Xmi)(Xmi-Ymi)。

对于其他各层,有dxi=Xki(1-Xki)∑Wijdk+1i。

(5)修正权系数Wij。

Wij (t+1)=Wij-η&#8226;dki&#8226;Xk-1j。

(6)当求出各层权系数之后,可判别是否满足要求。

如果满足要求,则算法结束;如果未满足要求,则返回(3)执行。

二、粒子群优化算法
粒子群优化算法与其它进化算法相类似,也采用“群体”与“进化”的概念,所不同的是,粒子群算法不像其它进化算法那样对于个体使用进化算子,而是将每个个体看作是在维搜索空间中的一个没有质量和体积的粒子,并在搜索空间中以一定的速度飞行,每个粒子的飞行速度由其本身的飞行经验和群体的飞行经验调整。

假设在一个n维的目标搜索空间中,有个粒子组成一个群落,其中第i个粒子在n维搜索空间中的位置表示为一个n维向量,每个粒子的位置代表一个潜在
的解。

设xi=(xi1,xi2,…xin)为粒子的当前位置;为粒子i当前飞行的速度;pi=(pi1,pi2,…pin)为粒子所经历的最好位置,也就是粒子所经历过的具有最好适应值的位置,称为个体最优位置;pg=(pg1,pg2,…pgn)为整个粒子群迄
今为止搜索到的最优位置,称为全局最优位置。

将带入目标函数就可以计算出其适应值,根据适应值的大小衡量的优劣。

每个粒子的位置和速度按下述2个公式进行迭代。

(1)vij(t+1)=wvij(t)+c1r1j(t)(pij(t)-xij(t))+c2r2j(t)(pgj(t)-xij(t))
(2)xij(t+1)=xij(t)+vij(t+1)
其中,下标j表示粒子的第j维(j=1,2,…,n)表示第i个粒子(i=1,2,…,n)t表示第t代,c1 、c2 为加速度常数,通常在0~2间取值,c1调节粒子向自身最优位置飞行的步长,c2调节粒子向全局最优位置飞行的步长。

r1j~U(0,1),r(2j)(0,1)为两个相互独立的随机函数。

为了减小在进化过程中粒子离开搜索空间的可能性,通常限定于一定范围内,即vij∈[-vmax;vmax]。

如果问题的搜索空间限定在[-xmax,xmax]内,则可设定。

迭代中若粒子的位置和速度超出了对其限定的范围,则取边界值。

代表第个粒子目前位置到其迄今为止搜索到的最优位置的距离,pgj(t)-xij(t)代表第个粒子目前位置到整个粒子群迄今为止搜索到的最优位置的距离。

公式(1)用于计算粒子的速度,如当前是t时刻,则粒子在t+1时刻速度是由当前时刻的速度、当前位置与该粒子的局部最优位置的距离、当前位置与全局最优位置的距离共同决定的;公式(2)用于计算粒子速度更新后的位置,它由粒子当前位置和粒子更新后的速度决定。

所有粒子的初始位置和速度随机产生,然后根据上述2个公式进行迭代,不断变化它们的速度和位置,直到找到满意解或达到最大的迭代次数为止(粒子的位置即是要寻找的解)。

三、优化实例
相比BP算法具有较强的信息处理能力,但是它的收敛速度很慢,又难以避免的存在局部极小问题,而且BP网络结构的确定也缺乏有效的方法。

粒子群算法计算简单,它根据目标函数计算适值,对问题依赖性小;多点并行操作,有效的防止搜索过程收敛于局部最优解;概率决定寻优规则,采用高效启发式搜索,而非盲目或随机的搜索;具有并行计算的特点,可通过大规模并行计算提高计算速度,但是,从粒度计算角度来讲,粒子群算法属于粗粒度计算(尽管可细粒度实现),是一种全局搜索优化,要得到精确解存有困难,有必要采用某种局部搜索方法弥补此不足,因此,我们决定用粒子群算法来优化BP神经网络,使粒子群算法和BP算法互为补偿。

可以采用优化神经网络的结构、算法和权值等,本例采用优化权值的方式来训练一个1-4-1的BP神经网络,使其逼近正弦函数。

利用matlab6.5进行编程。

算法流程见图2。

参数设置如下:这个实例取学习因子c1=1.5,c2=2.5,惯性权重ω=1.4,ω将随着迭代次数的增加而逐渐减小,当ω小于0.4时,将令ω=0.4,即不再减小,以保证迭代后期粒子能够在一定空间探索更好的解。

本分别用标准粒子群优化算法做2次实验,它们的群体规模都是:50和100,其他参数不变,网络训练50个单位时间,训练目标为误差小于0.008,其他参数采用默认值。

训练完毕得到网络的训练情况:(1)Fpoch 200/561,MSE 0.006 978 29/0.009,Gradient 0.046 123 4/1e-006(优化网络)。

(2)Fpoch 561/561,MSE 0.026 228 2/0.008,Gradient 0.146 69 /1e-006(标准网络)。

由图3可看出,粒子群优化的神经网在191个单位时间时由于目标误差达到,停止训练,而BP神经网在500个单位时间时误差为0.02222242,远没有达到目标误差0.008。

粒子群优化的神经网效果明显好于标准BP神经网络。

单纯用粒子群算法或BP算法训练神经网络,都存在某些不足。

本文将二者有机的结合,使其互为补偿,取得了很好的训练效果。

参考文献:
[1] 张颖,刘艳秋.V 软计算方法V[M]. 北京:科学出版社,2002.
[2]罗四维.V 遗传算法神经网络的学习算法[J]. 北方交通大学学报.
[3]徐宗本,张讲社,郑亚林.V 计算智能中的仿生学V 理论与算法[M].北京:科学出版社,2003.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

相关文档
最新文档