优化初始权值及阈值为啥可以提高bp神经网络识别率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化初始权值及阈值为啥可以提高bp神经网络识别率相关的知识,希望对你有一定的参考价值。

回答的好继续加分

bp的学习过程就是不断的网络训练工程,而训练的就是利用权值和阈值的激活函数计算输出的。权值与输入相乘,经过激活函数计算出的值与阈值比较,达到阈值的可输出,不满足的则返回继续训练。因此可以提高识别率。 参考技术A BP神经网络的识别是由训练误差大小来决定的,优化初始权值及阈值可以减小训练误差,提高训练速度和精度,最终提高bp神经网络识别率

数据预测基于matlab鸟群算法优化BP神经网络数据预测含Matlab源码 1772期

一、鸟群算法优化BP神经网络简介

1 BP 神经网络
BP神经网络是一种按误差逆向传播算法训练的多层前馈网络, 主要由输入层、中间层和输出层组成, 拓扑结构如图1所示. BP 神经网络是通过不断对样本进行训练, 并调整网络的权值与阈值, 使输出值与期望值间的误差最小. BP 神经网络算法主要包括两部分: 信号正向传播与误差反向传播. 其算法示意图如图2所示.

图 1 三层前馈神经网络

图 2 BP 神经网络学习算法示意图
BP 神经网络算法学习过程: 正向传播时, 样本信号通过输入层、隐含层和输出层被逐层处理, 网络的权值不变, 且同层的神经元只作用于后一层的神经元.当输出值达不到预期值时, 则进行误差反向传播. 误差反向传播时, 误差信号通过从输出层向隐含层、输入层逐层传播. 通过误差不断调整网络的权值与阈值, 使均方误差最小, 从而使得输出值更接近期望值.

2 鸟群算法 (BSA)
鸟类主要是通过觅食行为、警戒行为和飞行行为 3 种行为共享信息, 而获取生存优势. 鸟群算法的灵感起于鸟群, 它是基于信息共享机制及搜索策略而发展起来的一种新型全局优化算法. xti(i = 1,2,··· ,N) 设鸟 N 群规模为, 搜索空间的维数为 D, 第 i 只鸟在觅食空间中第 t 时刻的位置可表示为 .针对极小值优化问题, 最小适应度值所对应的鸟个体所处的空间位置即为待优化问题的最优解. BSA 算法的数学模型如下[15]. P (P ∈ (0 , 1))如果一个在 (0,1) 范围内均匀分布的随机数小于
, 那么鸟将进行觅食行为; 否则, 鸟将进行保持警戒行为.觅食行为的数学描述为:

警戒行为的数学式描述为:

飞行行为中生产者和索取者的行为数学描述分别为:

上述公式符号说明如表 3 所示.
BSA 算法与 PSO 算法均是模仿鸟群在自然界中的行为提出的, 其中 PSO 算法只是单纯的模仿了鸟群的觅食行为, 而 BSA 算法模仿了觅食行为、警戒行为和飞行行为 3 种行为. BSA 算法是一种先天的集成算法, PSO 算法则是在适当简化下的 BSA 算法的特殊情况, 其觅食公式与 PSO 算法公式的相似, 所以 BSA 算法具有 PSO 算法的优势, 即收敛速度快、全局搜索能力强、鲁棒性能好等优点. BSA 算法又模仿了鸟类的警觉行为和生产者的行为, 所以又具有自己的特征. 因 BSA 算法具有 4 种搜索策略, 使其能灵活调整不同搜索策略并更易于扩展, 可看出它具有良好的多样性和稳定性. 相对 PSO 算法易陷入局部最优解与易早熟收敛的劣势, BSA 算法则更加稳定且可避免早熟收敛. 总之, BSA 算法的性能优于 PSO 算法, 具有更高的精度、效率、稳定性、收敛性和鲁棒性能.

3 BSA 算法优化 BP 神经网络
BSA 算法优化 BP 神经网络的基本思想是: 利 用 BSA 算法的全局搜索能力, 优化 BP 神经网络初始的权值和阈值, 也就是决策变量, 其中每一组决策变量均包含在鸟群个体所处的空间位置中. 然后, 通过适应度函数来衡量个体所处空间位置的优劣度, 并利用鸟群觅食过程中的觅食行为、警戒行为和飞行行为等策略不断更新个体空间位置, 直至获取最佳的个体空间位置, 即获得待优化问题的最佳决策变量.
表 3 公式符号说明
BSA-BP 算法预测 PMV 指标主要包括以下几个部分: 确定训练样本数据、设计 BP 神经网络结构、利用 BSA 算法优化 BP 神经网络初始的权值和阈值、训练优化后的网络. 具体实现步骤如下:
步骤 1. 确定训练样本数据. 确定所需输入变量的取值范围; 然后, 根据 PMV 指标的数学模型, 利用
MATLAB 软件编辑 PMV 指标的计算程序, 获取相当数量的样本数据; 最后, 经过预处理, 作为 BP 神经网络的训练样本和测试样本数据.
步骤 2. 设计 BP 神经网络结构. 依据标准 BP 神经网络模型以及 PMV 指标的数学模型, 确定 BP 神经网络的层数、每层的神经元数, 以及其他参数.
步骤 3. 确定 BSA 算法中各参数. 包括初始化种群规模 N、搜索空间维数 D、最大迭代次数 T、飞行间隔 FQ、觅食概率 P、常量 C、S、a1、a2、FL 以及随机初始化鸟群个体空间位置 xti.
步骤 4. 计算 BSA 算法的适应度函数值, 将样本的均方误差作为适应度函数, 找到最小的适应度值, 并保留当前最好个体空间位置. 判断算法终止条件是否满足, 若满足则转至步骤 6, 否则执行步骤 5.
步骤 5. BSA 算法优化 BP 神经网络初始的权值和阈值. 依据 BSA 算法的步骤, 不断迭代进行寻优, 直到迭代停止, 输出全局最优值, 也就是最优网络初始的权
值和阈值, 并将其赋给 BP 神经网络.
步骤 6. 训练 BSA 算法优化后的 BP 神经网络. 网络经训练结束后, 将得到最佳的 PMV 指标预测模型.
上面所述的实现步骤可见图 3

二、部分源代码

%% 初始化
clear
close all
clc
warning off



三、运行结果



四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.
[6]郭彤颖,陈露.基于鸟群算法优化BP神经网络的热舒适度预测[J].计算机系统应用. 2018,27(04)

以上是关于优化初始权值及阈值为啥可以提高bp神经网络识别率的主要内容,如果未能解决你的问题,请参考以下文章

优化预测基于matlab粒子群算法优化BP神经网络预测含Matlab源码 F003期

优化预测基于matlab粒子群算法优化BP神经网络(多输入多输出)含Matlab源码 1418期

BP神经网络中初始权值和阈值的设定

matlab训练BP神经网络,nntool中如何设置,权值,激活函数的修改等问题

ENAS:首个权值共享的神经网络搜索方法,千倍加速 ICML 2018

第一章 BP神经网络