品牌建设评价,企业网站优化面向什么工作,个人网站能干嘛,搜索引擎大全网址基于卷积优化优化的BP神经网络#xff08;分类应用#xff09; - 附代码 文章目录 基于卷积优化优化的BP神经网络#xff08;分类应用#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.卷积优化优化BP神经网络3.1 BP神经网络参数设置3.2 卷积优化算法应用 4.测试结果…基于卷积优化优化的BP神经网络分类应用 - 附代码 文章目录 基于卷积优化优化的BP神经网络分类应用 - 附代码1.鸢尾花iris数据介绍2.数据集整理3.卷积优化优化BP神经网络3.1 BP神经网络参数设置3.2 卷积优化算法应用 4.测试结果5.Matlab代码 摘要本文主要介绍如何用卷积优化算法优化BP神经网络利用鸢尾花数据做一个简单的讲解。 1.鸢尾花iris数据介绍
本案例利用matlab公用的iris鸢尾花数据作为测试数据iris数据是特征为4维类别为3个类别。数据格式如下
特征1特征2特征3类别单组iris数据5.32.11.21
3种类别用123表示。
2.数据集整理
iris数据总共包含150组数据将其分为训练集105组测试集45组。如下表所示
训练集组测试集组总数据组10545150
类别数据处理原始数据类别用123表示为了方便神经网络训练类别123分别用100010001表示。
当进行数据训练对所有输入特征数据均进行归一化处理。
3.卷积优化优化BP神经网络
3.1 BP神经网络参数设置
通常而言利用智能算法一般优化BP神经网络的初始权值和阈值来改善BP神经网络的性能。本案例基于iris数据由于iris数据维度不高采用简单的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/130000907
卷积优化算法的参数设置为
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) fitnessargmin(TrainDataErrorRateTestDataErrorRate) 其中TrainDataErrorRateTestDataErrorRate分别为训练集和测试集的错误分类率。适应度函数表明我们最终想得到的网络是在测试集和训练集上均可以得到较好结果的网络。
4.测试结果
从卷积优化算法的收敛曲线可以看到整体误差是不断下降的说明卷积优化算法起到了优化的作用
5.Matlab代码