一、大甘蔗鼠算法介绍
大甘蔗鼠算法(Greater Cane Rat Algorithm,GCRA)由Jeffrey O. Agushaka等人于2024年提出,该算法模拟大甘蔗鼠的智能觅食行为。
参考文献
[1]Agushaka J O, Ezugwu A E, Saha A K, et al. Greater Cane Rat Algorithm (GCRA): A Nature-Inspired Metaheuristic for Optimization Problems[J]. Heliyon, 2024.
二、RBF神经网络介绍
径向基函数(Radial Basis Function, RBF)神经网络是一种前馈型人工神经网络,它使用径向基函数作为激活函数来处理输入数据。RBF网络以其出色的函数逼近能力而闻名,能够对非线性问题进行建模和解决,广泛应用于分类、回归、模式识别和时间序列预测等领域。
基本结构
RBF网络通常由三层组成:
- 输入层:负责接收输入数据,不进行任何处理。
- 隐含层:包含多个神经元,每个神经元对应一个径向基函数。这些函数通常以高斯函数的形式存在,用于测量输入数据与中心点之间的距离。
- 输出层:将隐含层的输出进行线性组合,得到最终的输出结果。
优点
- 强大的逼近能力:RBF网络能够逼近任何连续函数到任意精度。
- 训练速度快:一旦隐含层参数确定,输出层的训练可以快速完成。
- 泛化能力强:适当的参数选择可以提高网络的泛化能力。
缺点
- 参数选择困难:中心点和宽度的选择对网络性能有很大影响,但这些参数的选择往往没有明确的指导。
- 容易过拟合:如果隐含层神经元过多,网络可能会对训练数据过拟合。
RBF神经网络的扩散速度主要受其径向基函数的宽度参数(σ)影响,这个参数也被称为扩展速度或扩散因子 。扩散速度决定了RBF网络对输入变化的响应范围和敏感度。具体来说,较大的σ值意味着函数的扩散速度较快,影响范围更广,对输入数据的局部变化不太敏感;而较小的σ值则导致函数的扩散速度较慢,影响范围较小,对输入数据的局部变化更加敏感 。
在RBF网络中,每个隐含层节点的激活函数都以一个中心点为中心,当输入数据点接近这些中心点时,相应的激活值会更高,远离中心点时激活值则会下降。因此,扩散速度可以被视为网络在特征空间中对输入变化的响应速度,这与基函数的宽度参数密切相关 。
在实际应用中,需要对不同的σ值进行尝试,以确定既能覆盖足够大的输入范围,又不会导致各个神经元的输入向量响应区域重叠的最优扩散速度 。通过这种方式,可以确保RBF神经网络在保持快速学习和良好泛化能力的同时,对输入数据的变化做出适当的响应。
三、部分代码
以5个输入,2个输出的数据集为例,采用大甘蔗鼠算法优化RBF神经网络的扩散速度,实现多数入多输出数据的预测误差最小。可以自行更改数据集
%% 优化算法求解RBF神经网络的最优扩散速度
pop = 20; %种群数量
Max_iter = 30; %最大迭代次数
lb = 0.00001; %下边界
ub = 1; %上边界
dim = 1; %维度
fobj=@(X)fobj(X,p_train,t_train,p_test,t_test);
[ Best_score, Best_P,curve] = GCRA(pop, Max_iter, lb, ub, dim, fobj);
%% 适应度曲线
figure
semilogy(1 : length(curve), curve,'k-', 'LineWidth', 2.5);
legend('GCRA-RBF', 'FontSize', 13);
xlabel('迭代次数', 'FontSize', 10);
ylabel('适应度值', 'FontSize', 10);
四、部分结果
五、完整MATLAB代码
见下方名片