✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。
更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)
⛄一、秃鹰搜索算法优化森林算法BEH-RF风电功率回归预测简介
1 秃鹰搜索算法
秃鹰遍布于北美洲地区, 飞行中视力敏锐, 观察能力优秀. 以捕食鲑鱼为例, 秃鹰首先会基于个体和种群到鲑鱼的浓度来选择搜索空间, 朝一个特定区域飞行; 其次在选定搜索空间内搜索水面, 直到发现合适的猎物; 最后秃鹰会逐渐改变飞行高度, 快速向下俯冲, 从水中成功捕获鲑鱼等猎物.BES 算法以秃鹰捕食猎物的行为进行模拟, 将其分为选择搜索空间、搜索空间猎物和俯冲捕获猎物三个阶段, 数学模型如下所示:
选择搜索空间: 秃鹰随机选择搜索区域, 通过判断猎物数目来确定最佳搜寻位置, 便于搜索猎物,该阶段秃鹰位置 Pi,new 更新由随机搜索的先验信息乘以 α 来确定.
式中:α 表示控制位置变化参数, 变化范围为 (1.5,2);r 为 (0,1) 间随机数;Pbest 为当前秃鹰搜索确定的最佳搜索位置;Pmean 为先前搜索结束后秃鹰的平均分布位置;Pi 为第 i 只秃鹰位置.
搜索空间猎物 (探索): 秃鹰在选定搜索空间内以螺旋形状飞行搜索猎物, 加速搜索进程, 寻找最佳俯冲捕获位置.
2 随机森林算法原理
随机森林算法是一种集成学习算法,它通过同时使用多个决策树对数据集进行训练,并通过投票机制或平均化方式来得出最终的预测结果。随机森林算法具有很高的准确性和鲁棒性,可以有效地避免过拟合问题,可以处理高维度数据,可以评估特征的重要性。但是,随机森林算法对于少量数据集表现不佳,结果不够直观,训练时间较长,对于分类不平衡的数据集表现不佳。在应用随机森林算法时,需要进行数据预处理、构建随机森林分类模型和模型评估等步骤
3 随机森林算法步骤
步骤如下:
1、从原始数据集中使用自助采样法(bootstrap)随机抽取n个样本,作为新的训练集。
2、随机选择k个特征,建立一个决策树模型。
3、重复步骤1和步骤2,建立多个决策树模型。
4、对于分类问题,采用投票法(majority voting);对于回归问题,采用平均法(averaging)。
5、对新的数据进行预测,将多个决策树的结果进行综合,得到最终的预测结果。
4 基本描述
4.1 Matlab基于秃鹰搜索算法优化森林算法BES-RF的数据多输入单输出回归预测(完整源码和数据)
4.2 BES选择最佳的RF核函数参数;
4.3 多特征输入单输出的回归预测。程序内注释详细,excel数据,直接替换数据就可以用。
4.4 程序语言为matlab,程序可出预测效果图,迭代优化图,相关分析图,运行环境matlab2019b及以上。评价指标包括:R2、RPD、MSE、RMSE、MAE、MAPE等。
4.5 代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
⛄二、部分源代码
clear all
clc
rng(‘default’);
%% 导入数据,‘sheet1’
input=xlsread(‘./叶轮数据说明/4米平均风速-风速条件.xlsx’,‘Sheet1’,‘B3:G12002’);
output=xlsread(‘./叶轮数据说明/4米平均风速-状态.xlsx’,‘Sheet1’,‘F3:F12002’);
N=length(output); %全部样本数目
testNum=round(N*0.9); %设定测试样本数目
trainNum=N-testNum; %计算训练样本数目
% 随机生成训练集、测试集
k = randperm(size(input,1));
% 训练集——1900个样本
P_train=input(k(1:trainNum)😅‘;
T_train=output(k(1:trainNum))’;
% 测试集——100个样本
P_test=input(k(trainNum+1:testNum)😅‘;
T_test=output(k(trainNum+1:testNum))’;
%% 归一化
% 训练集
[Pn_train,inputps] = mapminmax(P_train,-1,1);
Pn_test = mapminmax(‘apply’,P_test,inputps);
% 测试集
[Tn_train,outputps] = mapminmax(T_train,-1,1);
Tn_test = mapminmax(‘apply’,T_test,outputps);
Pn_train = Pn_train’;
Pn_test = Pn_test’;
Tn_train = Tn_train’;
Tn_test = Tn_test’;
%% 定义北方苍鹰优化参数
pop=20; %种群数量
Max_iteration=30; % 设定最大迭代次数
dim = 2;%维度,即树个数和最小叶子点树
lb = [1,1];%下边界
ub = [50,20];%上边界
fobj = @(x) fun(x,Pn_train,Tn_train,Pn_test,Tn_test);
[Best_score,Best_pos,NGO_curve]=BES(pop,Max_iteration,lb,ub,dim,fobj); %开始优化
figure
plot(NGO_curve,‘linewidth’,1.5);
grid on
xlabel(‘迭代次数’)
ylabel(‘适应度函数’)
title(‘BES-随机森林收敛曲线’)
disp([‘寻优得到的树个数:’,num2str(round(Best_pos(1)))])
disp([‘最小叶子节点:’,num2str(round(Best_pos(2)))])
%用得到的最优参数,训练随机树
numTrees = round(Best_pos(1));
minLeafSize = round(Best_pos(2));
model = TreeBagger(numTrees,Pn_train,Tn_train,‘Method’,‘regression’,‘MinLeafSize’,minLeafSize);
Tn_sim1 = predict(model, Pn_train);
Tn_sim2 = predict(model, Pn_test);
% 反归一化
T_sim1 = mapminmax(‘reverse’,Tn_sim1,outputps);
T_sim2 = mapminmax(‘reverse’,Tn_sim2,outputps);
error1 = T_sim1’ - T_train;
error2 = T_sim2’ - T_test;
%% 传统随机森林
model = TreeBagger(20,Pn_train,Tn_train,‘Method’,‘regression’,‘MinLeafSize’,1);
Tn_sim11 = predict(model, Pn_train);
Tn_sim22 = predict(model, Pn_test);
% 反归一化
T_sim11 = mapminmax(‘reverse’,Tn_sim11,outputps);
T_sim22 = mapminmax(‘reverse’,Tn_sim22,outputps);
error11 = T_sim11’ - T_train;
error22 = T_sim22’ - T_test;
%% 结果对比
figure
plot(T_train,‘rs-’,‘linewidth’,1)
hold on
plot(T_sim1,‘b-o’,‘linewidth’,1)
plot(T_sim11,‘k-s’,‘linewidth’,1)
xlabel(‘训练集样本编号’)
ylabel(‘训练集输出’)
title(‘BES-RF和RF训练集输出’)
axis tight
legend(‘期望输出’,‘BES-RF’,‘RF’)
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]仝卫国,郭超宇,赵如意.基于改进麻雀算法优化LSSVM的再循环箱浆液密度预测模型[J].电子测量技术. 2022,45(01)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合