正在加载图片...
.1190. 北京科技大学学报 第30卷 的改进,本文提出了粒子群优化算法(PS0),并在 体的误差对比数据如表1所示. 此基础上对BP网络的权值、阈值进行了优化, (开始 2.2BP-IPSO算法优化神经网络 采用改进的粒子群优化算法训练神经网络时, 初始BP网络的权值和阙值 首先初始神经网络层数、输入神经元个数1、隐含 初始粒子速度、位置及粒子的个体极值、全局最值、邻域极值 层神经元个数n2、输出神经元个数n3:将连接权 W(在输入层和隐含层之间)、连接权V(在隐含 计算粒子的适应度 层和输出层之间)、隐含层的阈值、输出层的阈值 Y设置为在[一1,1]之间的随机值,其中i∈[1, 计算粒子间的距离与 大于衡值刀 最大距离的比值 ],j∈[1,n2],k∈[1,n3],粒子群优化算法的最 小于阅值n 大迭代次数设为tmas,本文中tma=300,误差最小 用改进粒子群算法更新粒子 用标准粒子群 值为Emim,即BP-IPSO的误差.,当前连接权值和阈 的个体极值、全局最值、 算法更新粒子 邻域极值 的个体极值、 选代次数 全局最值 值设置为随机给定的初始值.根据粒子群规模,确 加1 定粒子的初始速度和位置, 所有粒子计算完成 计算每一个网络在训练集上产生的均方误差 Y (mean square error,MSE),并以此作为目标函数,构 均方差小于设定精度 造适应度函数,计算个体的适应度: N Ns(别=多列 (7) 迭代次数小于 输出粒子的 最大选代次数 位置序列 式中,y:为目标值,y:为预测值,n为样本数,均方 Y 误差越小说明模型的精度越高· 最优值用梯度下降法 结束 进行二次寻优 适应度函数定义为: f(x)=E(x). (8) 图1BP-IPSO算法流程图 利用适应度函数来判断是否需要更新粒子的 Fig.1 Flowchart of BP-IPSO algorithm P%、h和9·之后,更新每一粒子不同分量上的飞 行速度,直到PS0的迭代次数达到最大迭代次数 12r 或训练误差小于Emim·如果训练完成后误差未达到 1.0 ◆预测值 Emim,用梯度下降法调整W、V、(和Y山,直到 一目标值 训练达到误差Emin或迭代次数达到最大时,算法结 0.6 束 0.4 算法的具体流程图如图1所示, 0.2 3 实验验证 0.2 3.1对标准数据集的实验验证 0.410864=20246810 X 采用sinc函数和UCI机器学习数据库中的波 士顿住房问题数据集[12]进行方法有效性验证,sic 图2BP-IPSO算法对sie函数的预测与目标值的对比 函数y=sinx/x+N(0,o2),x∈[-10,10],在x Fig.2 Comparison of actual and predicted values of sine function by BP-IPSO 的范围内分别取400个点作为训练样本,噪声方差 62=0.1(高斯白噪声),用无噪声的100个点作为测 表1三种方法的均方误差的比较 试样本.取20次实验的平均值作为测试误差,BP- Table 1 Comparison of normalized mean square error among the three IPS0网络结构为1一8一1,即输入层有1个输入节 methods 点,隐含层有8个输入节点,输出层有1个输出节 方法 sinc函数 波士顿住房数据 点.图2给出BP-IPSO的预测结果.以均方误差 品 0.0321 0.0732 作为评判指标,与标准的BP神经网络及支持向量 SVM 0.0019 0.0297 机(support vector machine,SVM)算法进行比较,具 BP-IPSO 0.0008 0.0208的改进‚本文提出了粒子群优化算法(IPSO)‚并在 此基础上对 BP 网络的权值、阈值进行了优化. 2∙2 BP-IPSO 算法优化神经网络 采用改进的粒子群优化算法训练神经网络时‚ 首先初始神经网络层数、输入神经元个数 n1、隐含 层神经元个数 n2、输出神经元个数 n3.将连接权 Wij(在输入层和隐含层之间)、连接权 V jk (在隐含 层和输出层之间)、隐含层的阈值 θj、输出层的阈值 γk 设置为在 [—1‚1] 之间的随机值‚其中 i∈ [1‚ n1]‚j∈[1‚n2]‚k∈[1‚n3].粒子群优化算法的最 大迭代次数设为 tmax‚本文中 tmax=300‚误差最小 值为 Emin‚即 BP—IPSO 的误差.当前连接权值和阈 值设置为随机给定的初始值.根据粒子群规模‚确 定粒子的初始速度和位置. 计算每一个网络在训练集上产生的均方误差 (mean square error‚MSE)‚并以此作为目标函数‚构 造适应度函数‚计算个体的适应度: MSE(^yi)= 1 n ∑ n i=1 ( yi—^yi) 2 (7) 式中‚yi 为目标值‚^yi 为预测值‚n 为样本数.均方 误差越小说明模型的精度越高. 适应度函数定义为: f ( x)= E( x). (8) 利用适应度函数来判断是否需要更新粒子的 pb、lb 和 gb.之后‚更新每一粒子不同分量上的飞 行速度‚直到 IPSO 的迭代次数达到最大迭代次数 或训练误差小于 Emin.如果训练完成后误差未达到 Emin‚用梯度下降法调整 Wij、V jk、θj 和γk [11]‚直到 训练达到误差 Emin或迭代次数达到最大时‚算法结 束. 算法的具体流程图如图1所示. 3 实验验证 3∙1 对标准数据集的实验验证 采用 sinc 函数和 UCI 机器学习数据库中的波 士顿住房问题数据集[12]进行方法有效性验证.sinc 函数 y=sin x/x + N(0‚σ2)‚x ∈[—10‚10]‚在 x 的范围内分别取400个点作为训练样本‚噪声方差 σ2=0∙1(高斯白噪声)‚用无噪声的100个点作为测 试样本.取20次实验的平均值作为测试误差.BP— IPSO 网络结构为1—8—1‚即输入层有1个输入节 点‚隐含层有8个输入节点‚输出层有1个输出节 点.图2给出 BP—IPSO 的预测结果.以均方误差 作为评判指标‚与标准的 BP 神经网络及支持向量 机(support vector machine‚SVM)算法进行比较‚具 体的误差对比数据如表1所示. 图1 BP—IPSO 算法流程图 Fig.1 Flowchart of BP—IPSO algorithm 图2 BP—IPSO 算法对 sinc 函数的预测与目标值的对比 Fig.2 Comparison of actual and predicted values of sinc function by BP—IPSO 表1 三种方法的均方误差的比较 Table1 Comparison of normalized mean square error among the three methods 方法 sinc 函数 波士顿住房数据 BP 0∙0321 0∙0732 SVM 0∙0019 0∙0297 BP—IPSO 0∙0008 0∙0208 ·1190· 北 京 科 技 大 学 学 报 第30卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有