单目标应用:基于北方苍鹰优化算法NGO的RBF神经网络数据分类(提供MATLAB代码)

178 篇文章 17 订阅
144 篇文章 82 订阅

一、北方苍鹰优化算法NGO

北方苍鹰优化算法(Northern Goshawk Optimization,NGO)由MOHAMMAD DEHGHANI等人于2022年提出,该算法,该算法模拟了北方苍鹰捕猎过程(猎物识别和攻击、追逐及逃生)。北方苍鹰优化算法NGO

苍鹰是中小型猛禽。体长可达60厘米,翼展约1.3米。头顶、枕和头侧黑褐色,枕部有白羽尖,眉纹白杂黑纹;背部棕黑色;胸以下密布灰褐和白相间横纹;尾灰褐,有4条宽阔黑色横斑,尾方形。飞行时,双翅宽阔,翅下白色,但密布黑褐色横带。雌鸟显著大于雄鸟。食肉性,主要以森林鼠类、野兔、雉类、榛鸡、鸠鸽类和其他小型鸟类为食。栖息于不同海拔高度的针叶林、混交林和阔叶林等森林地带,也见于山施平原和丘陵地带的疏林和小块林内。视觉敏锐,善于飞翔。白天活动。性甚机警,亦善隐藏。通常单独活动,叫声尖锐洪亮。见于整个北半球温带森林及寒带森林
在这里插入图片描述

二、RBF神经网络

1988年,Broomhead和Lowc根据生物神经元具有局部响应这一特点,将RBF引入神经网络设计中,产生了RBF(Radical Basis Function)。1989年,Jackson论证了RBF神经网络对非线性连续函数的一致逼近性能。RBF的基本思想是:用RBF作为隐单元的“基”构成隐藏层空间,隐含层对输入矢量进行变换,将低维的模式输入数据变换到高维空间内,使得在低维空间内的线性不可分的问题在高维空间内线性可分。RBF神经网络结构简单、训练简洁而且学习收敛速度快,能够逼近任意非线性函数,因此已被广泛应用于时间序列分析、模式识别、非线性控制和图形处理等领域。

RBF神经网络学习算法需要优化的参数有3个:基函数的中心、方差以及隐含层到输出层的权值。

基于高斯核的RBF神经网络拓扑结构:

第一层输入层:由信号源节点构成,仅起到数据信息的传递作用,对输入信息不做任何变换

第二层隐含层:节点数视需要而定。隐含层神经元核函数(作用函数)是高斯函数,对输入信息进行空间映射的变换。

第三层输出层,对输入模式做出响应。输出层神经元的作用函数为线性函数,对隐含层神经元输出的信息进行线性加权后输出,作为整个神经网络的输出结果。
在这里插入图片描述

三、Wine数据集

Wine葡萄酒数据集是来自UCI上面的公开数据集,这些数据是对意大利同一地区种植的葡萄酒进行化学分析的结果,这些葡萄酒来自三个不同的品种。该分析确定了三种葡萄酒中每种葡萄酒中含有的13种成分的数量。从UCI数据库中得到的这个wine数据记录的是在意大利某一地区同一区域上三种不同品种的葡萄酒的化学成分分析。数据里含有178个样本分别属于三个类别,这些类别已经给出。每个样本含有13个特征分量(化学成分),分析确定了13种成分的数量,然后对其余葡萄酒进行分析发现该葡萄酒的分类。
wine葡萄酒数据集

在这里插入图片描述

在wine数据集中,这些数据包括了三种酒中13种不同成分的数量。文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一个属性是类标识符,分别是1/2/3来表示,代表葡萄酒的三个分类。后面的13列为每个样本的对应属性的样本值。剩余的13个属性是,酒精、苹果酸、灰、灰分的碱度、镁、总酚、黄酮类化合物、非黄烷类酚类、原花色素、颜色强度、色调、稀释葡萄酒的OD280/OD315、脯氨酸。其中第1类有59个样本,第2类有71个样本,第3类有48个样本。

具体属性描述如下表:

在这里插入图片描述

Wine部分数据如下:前13列为输入,最优1列为输出标签
在这里插入图片描述

四、数值实验

构件13-5-1的RBF神经网络,并通过北方苍鹰优化算法NGO优化其基函数的中心方差以及隐含层到输出层的权值。部分代码如下:

close all
clear
clc
global inputnum hiddennum outputnum TrainNum 
inputnum=13;%神经网络输入层神经元个数(输入样本维度)
hiddennum=5;%神经网络隐藏层神经元个数(可以自己修改) 
outputnum=1;%神经网络输出层神经元个数(输出样本维度)
TrainNum=178;%训练集数目 
%% 北方苍鹰优化算分NGO优化RBF神经网络,目标函数是均方误差MSE
SearchAgents_no=50; % Number of search agents 种群大小(可以修改)
Function_name='F1'; 
Max_iteration=50000; % Maximum numbef of iterations 最大迭代次数(可以修改)
[lb,ub,dim,fobj]=fun_info(Function_name);% 在fun_info.m中可以查看上下限及目标函数
[fMin,bestX,NGO_curve]=NGO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);  %北方苍鹰优化算分NGO优化RBF神经网络的参数 bestX是最优参数
save bestX bestX %保留北方苍鹰优化算法NGO优化RBF神经网络得到的最优参数
save NGO_curve NGO_curve
%% 画出北方苍鹰优化算分NGO优化RBF神经网络的均方误差随迭代次数的图
figure
semilogy(NGO_curve,'Color','g')
title('Objective space')
xlabel('Iteration');
ylabel('MSE');
grid on
box on
legend('NGO')
display(['The best solution obtained by NGO is : ', num2str(bestX)]);
display(['The best optimal value of the objective funciton found by NGO is : ', num2str(fMin)]);%fMin越小说明NGO优化RBF神经网络效果越好
Predata;%预测
%%

预测效果如下:
在这里插入图片描述

分类准确率为:95.506%

五、参考代码

完整代码见评论区或添加博主微信私聊

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值