基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码

这篇具有很好参考价值的文章主要介绍了基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码


摘要:本文主要介绍如何用蝠鲼觅食算法优化BP神经网络,利用鸢尾花数据,做一个简单的讲解。

1.鸢尾花iris数据介绍

本案例利用matlab公用的iris鸢尾花数据,作为测试数据,iris数据是特征为4维,类别为3个类别。数据格式如下:

特征1 特征2 特征3 类别
单组iris数据 5.3 2.1 1.2 1

3种类别用1,2,3表示。

2.数据集整理

iris数据总共包含150组数据,将其分为训练集105组,测试集45组。如下表所示:

训练集(组) 测试集(组) 总数据(组)
105 45 150

类别数据处理:原始数据类别用1,2,3表示为了方便神经网络训练,类别1,2,3分别用1,0,0;0,1,0;0,0,1表示。

当进行数据训练对所有输入特征数据均进行归一化处理。

3.蝠鲼觅食优化BP神经网络

3.1 BP神经网络参数设置

通常而言,利用智能算法一般优化BP神经网络的初始权值和阈值来改善BP神经网络的性能。本案例基于iris数据,由于iris数据维度不高,采用简单的BP神经网络。神经网络参数如下:

基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码,智能优化算法应用,机器学习,# BP神经网络,神经网络,分类,人工智能

图1.神经网络结构

神经网络参数如下:

%创建神经网络
inputnum = 4;     %inputnum  输入层节点数 4维特征
hiddennum = 10;     %hiddennum  隐含层节点数
outputnum = 3;     %outputnum  隐含层节点数
net = newff( minmax(input) , [hiddennum outputnum] , { 'logsig' 'purelin' } , 'traingdx' ) ;
%设置训练参数
net.trainparam.show = 50 ;
net.trainparam.epochs = 200 ;
net.trainparam.goal = 0.01 ;
net.trainParam.lr = 0.01 ;

3.2 蝠鲼觅食算法应用

蝠鲼觅食算法原理请参考:https://blog.csdn.net/u011835903/article/details/112390588

蝠鲼觅食算法的参数设置为:

popsize = 10;%种群数量
    Max_iteration = 15;%最大迭代次数
lb = -5;%权值阈值下边界
ub = 5;%权值阈值上边界
%  inputnum * hiddennum + hiddennum*outputnum 为阈值的个数
%  hiddennum + outputnum 为权值的个数
dim =  inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum ;%  inputnum * hiddennum + hiddennum*outputnum维度

这里需要注意的是,神经网络的阈值数量计算方式如下:

本网络有2层:

第一层的阈值数量为:4*10 = 40; 即inputnum * hiddennum;

第一层的权值数量为:10;即hiddennum;

第二层的阈值数量为:3*10 = 30;即hiddenum * outputnum;

第二层权值数量为:3;即outputnum;

于是可知我们优化的维度为:inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum = 83;

适应度函数值设定:

本文设置适应度函数如下:
f i t n e s s = a r g m i n ( T r a i n D a t a E r r o r R a t e + T e s t D a t a E r r o r R a t e ) fitness = argmin(TrainDataErrorRate + TestDataErrorRate) fitness=argmin(TrainDataErrorRate+TestDataErrorRate)
其中TrainDataErrorRate,TestDataErrorRate分别为训练集和测试集的错误分类率。适应度函数表明我们最终想得到的网络是在测试集和训练集上均可以得到较好结果的网络。

4.测试结果:

从蝠鲼觅食算法的收敛曲线可以看到,整体误差是不断下降的,说明蝠鲼觅食算法起到了优化的作用:
基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码,智能优化算法应用,机器学习,# BP神经网络,神经网络,分类,人工智能
基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码,智能优化算法应用,机器学习,# BP神经网络,神经网络,分类,人工智能
基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码,智能优化算法应用,机器学习,# BP神经网络,神经网络,分类,人工智能文章来源地址https://www.toymoban.com/news/detail-725582.html

5.Matlab代码

到了这里,关于基于蝠鲼觅食优化的BP神经网络(分类应用) - 附代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于改进莱维飞行和混沌映射的粒子群优化BP神经网络分类研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 基于改

    2024年02月10日
    浏览(53)
  • 改进的减法优化器算法优化BP神经网络---回归+分类两种案例

    今天采用前一阵改进最为成功的智能优化算法---融合黄金正弦的减法优化器算法(GSABO)优化BP神经网络。该算法不仅是2023年较新的算法,而且改进后的收敛速度和寻优精度都是极佳!点击链接跳转GSABO算法:融合黄金正弦,十种混沌映射,搞定!把把最优值,本文思路可用于所

    2024年02月16日
    浏览(76)
  • BP神经网络优化 | MATLAB基于遗传算法优化BP神经网络(GA-BP)的预测模型(含完整代码)

    文章目录 前言 一、遗传算法描述 二、优化思路 三、完整代码 预测结果  首先需要安装一下遗传算法工具箱,可参考这篇博客 MATLAB遗传算法工具箱安装包及安装方法(图解)_周杰伦今天喝奶茶了吗的博客-CSDN博客_matlab遗传算法工具箱安装 本模型可以结合自己的数据集进行

    2024年02月02日
    浏览(58)
  • 基于遗传算法优化BP神经网络的滑坡稳定性预测,BP神经网络的详细原理

    目录 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 遗传算法原理 遗传算法主要参数 遗传算法流程图 完整代码包含数据下载链接: 遗传算法优化BP神经网络的MATALB代码,遗传算法优化BP神经网络

    2024年02月05日
    浏览(55)
  • 基于堆优化算法优化的BP神经网络(预测应用) - 附代码

    摘要:本文主要介绍如何用堆优化算法优化BP神经网络并应用于预测。 本案例数据一共2000组,其中1900组用于训练,100组用于测试。数据的输入为2维数据,预测的输出为1维数据 2.1 BP神经网络参数设置 神经网络参数如下: 2.2 堆优化算法应用 堆优化算法原理请参考:https://b

    2024年02月11日
    浏览(36)
  • 路径规划算法:基于蝠鲼觅食优化的路径规划算法- 附代码

    摘要:本文主要介绍利用智能优化算法蝠鲼觅食算法来进行路径规划。 蝠鲼觅食算法原理请参考:https://blog.csdn.net/u011835903/article/details/112390588 1.1 环境设定 在移动机器人的路径优化中,每个优化算法的解代表机器人的一条运动路径。优化算法会通过优化计算在众多路径中找

    2024年02月07日
    浏览(44)
  • 基于遗传算法的BP神经网络优化算法(matlab实现)

            BP网络是一类多层的前馈神经网络。它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法。BP算法是Rumelhart等人在1986年提出来的。由于它的结构简单,可调整的参数多,训练算法也多,而且可操作性好,BP神经网

    2024年01月16日
    浏览(54)
  • 基于野狗算法优化的BP神经网络(预测应用) - 附代码

    摘要:本文主要介绍如何用野狗算法优化BP神经网络并应用于预测。 本案例数据一共2000组,其中1900组用于训练,100组用于测试。数据的输入为2维数据,预测的输出为1维数据 2.1 BP神经网络参数设置 神经网络参数如下: 2.2 野狗算法应用 野狗算法原理请参考:https://blog.csdn.

    2024年02月11日
    浏览(44)
  • 分类预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据分类预测

    效果一览 基本介绍 Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据分类预测(Matlab完整程序和数据) 1.最大互信息系数MIC(数据特征选择算法)的分类预测,MIC特征选择分类预测,多输入单输出模型。 2.多特征输入模型,直接替换数据就可以用。 3.语

    2024年02月13日
    浏览(42)
  • 基于白冠鸡算法优化的BP神经网络(预测应用) - 附代码

    摘要:本文主要介绍如何用白冠鸡算法优化BP神经网络并应用于预测。 本案例数据一共2000组,其中1900组用于训练,100组用于测试。数据的输入为2维数据,预测的输出为1维数据 2.1 BP神经网络参数设置 神经网络参数如下: 2.2 白冠鸡算法应用 白冠鸡算法原理请参考:https://b

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包