金枪鱼群优化算法TSO优化BiLSTM-ATTENTION实现风力发电功率预测(matlab)
TSO-BiLSTM-Attention金枪鱼群算法优化长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。
金枪鱼群优化算法(Tuna Swarm Optimization,TSO)是一种元启发算法,该算法的灵感来自金枪鱼群的合作觅食行为,包含螺旋觅食和抛物线觅食两种策略。TSO算法在单目标问题上具有收敛速度快、求解精度高等特点,是一种不错的优化算法。其主要思想是通过模拟金枪鱼群的觅食行为,来寻找最优解。
1.评价指标包括:RMSE、MAE、MAPE等,图很多,出图结果如图所示,可完全满足您的需求
2. 金枪鱼群优化算法也可以替换成其他算法,比如麻雀、鹈鹕、蜣螂等等,也可定制改进~
3.直接替换Excel数据即可用,适合新手小白
4.附赠风力发电功率测试数据,可直接运行
5.商品只是提供模型,价格不包含讲解,发货后可保证运行,但程序类商品不支持退换
6.由于每个人的数据集都是独一无二的,因此预测效果不同,无法保证替换数据就一定得到您满意的结果~
部分主函数代码如下:
X = xlsread('风电场预测.xlsx');
X = X(1:2000,:); %选取部分数据
disp('…………………………………………………………………………………………………………………………')
disp('TSO_BiLSTM_ATTENTION预测')
disp('由于数据量大,程序运行较慢,请耐心等待!')
disp('…………………………………………………………………………………………………………………………')
% TSO参数设置
pop=10; % 种群数量
Max_iter=10; % 最大迭代次数
dim=3; % 优化BiLSTM的3个参数
lb = [15,30,0.001];%下边界
ub = [150,500,0.1];%上边界
fobj = @(x) fobj(x,X) ;
[Best_score,Best_pos,curve]=TSO(pop,Max_iter,lb,ub,dim,fobj);
% 绘制进化曲线
figure
plot(curve,'r-','linewidth',1)
xlabel('进化代数')
ylabel('均方根误差MSE')
legend('最佳适应度')
title('TSO-LSTM-ATTENTION的进化收敛曲线')
disp('')
disp(['最优隐藏单元数目为 ',num2str(round(Best_pos(1)))]);
disp(['最优最大训练周期为 ',num2str(round(Best_pos(2)))]);
disp(['最优初始学习率为 ',num2str((Best_pos(3)))]);
实验结果如下:
部分数据集如下: