
1 算法介绍针对传统预测深孔加工中钻削力精度不高的问题以及BP神经网络本身存在的缺陷,提出了BAS-BP神经网络预测模型.文章基于天牛须算法与BP神经网络相互结合,利用天牛须算法计算优化BP神经网络中的初始权值与阀值,从而建立BAS-BP神经网络的预测模型.并与传统BP神经网络预测模型进行对比.结果表明BAS-BP神经网络克服了训练时间长,收敛速度慢的缺点,预测精度明显提高.2 部分代码%% 用天牛须算法来优化BP的权值和阈值,数据样本为测试数据非论文实际数据样本60个其中每个样本具有401个特征值NIR为样本的光谱数据octane为60*1的辛烷值数据 % 1.0版本 %% 清空环境变量 clear all close all clc tic %% 加载数据 load spectra_data.mat % 随机产生训练集和测试集 temprandperm(size(NIR,1)); %训练集——50个样本 PNIR(temp(1:50),:); Toctane(temp(1:50),:); %测试集——10个样本 P_testNIR(temp(51:end),:); T_testoctane(temp(51:end),:); Nsize(P_test,2); Msize(P,2); %% 归一化 [P, ps_input] mapminmax(P,0,1);%p_train归一化处理范围为[0,1]默认情况下为[-1,1] P_test mapminmax(apply,P_test,ps_input);%对P_test采用相同的映射 [T, ps_output] mapminmax(T,0,1); %% inputnumsize(P,1); outputnumsize(T,1); hiddennum9;%初始隐含层神经元个数 %% 创建网络 netnewff(P,T,hiddennum); net.trainParam.epochs 1000; net.trainParam.goal 1e-3; net.trainParam.lr 0.01; bestX(inputnum*hiddennumhiddennumhiddennum*outputnum1:inputnum*hiddennumhiddennumhiddennum*outputnumoutputnum); %% 网络权值赋值 net.iw{1,1}reshape(w1,hiddennum,inputnum); net.lw{2,1}reshape(w2,outputnum,hiddennum); net.b{1}reshape(B1,hiddennum,1); net.b{2}reshape(B2,outputnum,1); %% 训练网络 nettrain(net,P,T); %% 测试 YYsim(net,P); figure(2) plot(1:length(YY),YY,bo-) hold on plot(1:length(YY),T,r*-) legend(预测值,真实值) %% 可视化 figure(1) %plot(x_store(1,:),x_store(end,:),r-o) hold on, plot(x_store(1,:),fbest_store,b-.) xlabel(Iteration) ylabel(BestFit) toc3 仿真结果4 参考文献[1]王杰. 基于天牛须搜索算法的神经网络并行优化研究及预测应用[D].杭州电子科技大学,2020.[2]牛庆,曹爱民,陈潇一,周冬.基于花朵授粉算法和BP神经网络的短期负荷预测[J].电网与清洁能源,2020,36(10):28-32.[3]刘晓峰, 苗鸿宾, 温静媛. 基于BAS-BP神经网络的钻削力预测[J]. 组合机床与自动化加工技术, 2019, 000(008):49-52.