【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

时间:2022-12-14 13:55:57

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

????个人主页:Matlab科研工作室

????个人信条:格物致知。

⛄ 内容介绍

【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

为了提高短期光伏发电预测的准确性,文中采用深度置信网络(DBN)建立了各模型函数的预测模型.通过分析各模型函数的特征,建立了光伏发电模型的功率预测.传统的基于神经网络的功率预测难以训练多层网络,影响其预测精度.DBN采用无监督贪婪逐层训练算法构建了一个在回归预测分析中具有优异性能的多隐层网络结构,已成为深度学习领域的研究热点.DBN参数采用哈里斯鹰优化算法(HHO)优化,避免出现由随机初始化导致的局部最优解现象,从而提高了DBN网络预测性能.最后,案例测试显示了所提出模型的有效性.

⛄ 部分代码

%% 基于哈里斯鹰优化DBN实现数据分类附matlab代码

clc;

clear;

close all;

addpath('./HHO')

addpath('./DeepBeliefNetworksToolbox')

load('data_feature.mat');


trainX=double(train_X);

trainYn=double(train_Y);

testX=double(test_X);

testYn=double(test_Y);

[Params,CostFunction] = ParameterDefinition(train_X,train_Y);

%% 算法测试

% HHO

[particle1, GlobalBest1] =  Initialization(Params,CostFunction,'HHO');

[particle1,GlobalBest1] =  HHO(particle1,GlobalBest1,Params,CostFunction);

[er_HHO,trainY_out_HHO,testY_out_HHO] = Cost(GlobalBest1.Position);

figure

subplot(121)

plot(train_Y(1:100),'bs-','linewidth',2);hold on

plot(trainY_out_HHO(1:100),'ro-','linewidth',2)

xlabel('样本')

legend('DBN','HHO-DBN')

title('哈里斯鹰算法优化DBN训练集预测效果')

subplot(122)

plot(test_Y(1:100),'bs-','linewidth',2);hold on

plot(testY_out_HHO(1:100),'ro-','linewidth',2)

xlabel('样本')

legend('DBN','HHO-DBN')

title('哈里斯鹰算法优化DBN测试集预测效果')

⛄ 运行结果

【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

【DBN分类】基于哈里斯鹰算法优化深度置信网络HHO-DBN实现数据分类附matlab代码

⛄ 参考文献

[1]孙海禄, 王原, 王丽娜,等. 基于离散哈里斯鹰优化算法求解具有单连续变量的背包问题[J]. 计算机应用研究, 2022(007):039.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料