效果一览
基本介绍
[独家原创] NRBO-Transformer-Bil STM回归Matlab代码基于牛顿拉夫逊优化算法优化Transfor
mer结合双向长短期记忆神经网络(BiL STM)的数据回归预测(可以更换为分类/单、多变量时序预测/
回归,购买前私我),Matlab代码, 可直接运行,适合小白新手
NRBO优化的超参数为:隐藏层节点数、正则化系数、初始化学习率
1.程序已经调试好,无需更改代码替换数据集即可运行! ! !数据格式为excel!
2.Transformer作为一种创新的神经网络结构,深受欢迎。采用Transformer编码器对光伏、负荷
数据特征间的复杂关系以及时间序列中的长短期依赖关系进行挖掘,可以提高光伏功率、负荷预测
的准确性。
3.NRBO作为24年新算法,表现出较强的性能,购买前可以更换为其他算法,需要私信
1、运行环境要求MATLAB版本为2023b及其以 上[ 如果没有可私信我,我赠送]
2、评价指标包括:R2、MAE、MSE、RPD、RMSE等,图很多,符合您的需要
3、代码中文注释清晰,质量极高
4、赠送测试数据集,可以直接运行源程序。替换你的数据即可用适合新手小白
程序设计
- 完整程序和数据获取方式私信博主回复Matlab基于Transformer-GRU多变量时间序列多步预测。
% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%% 数据平铺
%% 模型
numChannels = or_dim;
maxPosition = 256*2;
numHeads = 4;
numKeyChannels = numHeads*32;
layers = [
sequenceInputLayer(numChannels,Name="input")
positionEmbeddingLayer(numChannels,maxPosition,Name="pos-emb");
additionLayer(2, Name="add")
options = trainingOptions(solver, ...
'Plots','none', ...
'MaxEpochs', maxEpochs, ...
'MiniBatchSize', miniBatchSize, ...
'Shuffle', shuffle, ...
'InitialLearnRate', learningRate, ...
'GradientThreshold', gradientThreshold, ...
'ExecutionEnvironment', executionEnvironment);
参考资料
[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501