龙空技术网

基于MATLAB的BP神经网络预测计算GUI界面

云龙派 5409

前言:

现在我们对“bp神经网络算法应用”可能比较看重,小伙伴们都想要分析一些“bp神经网络算法应用”的相关知识。那么小编同时在网络上收集了一些关于“bp神经网络算法应用””的相关资讯,希望兄弟们能喜欢,姐妹们快快来学习一下吧!

BP(BackPropagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hiddenlayer)和输出层(outputlayer)。

BP(BackPropagation)神经网络可用于数据的预测,是经常使用的预测方法之一。

基于MATLAB的BP神经网络预测计算的GUI界面如下:

加载数据——输入样本数据个数、训练数据个数、预测数据个数、中间层隐藏节点个数、网络输入维度、网络输出维度,x轴坐标名称、y轴坐标名称——点击开始计算即可出现结果,同时会在当前文件夹下生成预测数据的excel文件和两个图片1.png、2.png。需要完整GUI程序,可以进行赞赏后截图(40元及以上),进行联系,几小时内会回复。界面编程不易,还请见谅!

GUI界面的主要程序

function pushbutton1_Callback(hObject, eventdata, handles)% hObject    handle to pushbutton1 (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)global datatry    delete(allchild(handles.axes1));    delete(allchild(handles.axes2));endset(handles.text14,'string','正在训练中');set(handles.uitable1,'data',data);warning off;samnum = str2num(get(handles.edit6,'string'));testsamnum =str2num(get(handles.edit7,'string'));forcastsamnum = str2num(get(handles.edit8,'string'));hiddenunitnum =str2num(get(handles.edit9,'string'));indim = str2num(get(handles.edit10,'string'));outdim =str2num(get(handles.edit11,'string'));str1 = get(handles.edit12,'string');str2 = get(handles.edit13,'string');hj=data;X=hj(1:samnum,outdim+1:end-1)';D=hj(1:samnum,outdim)';test=D;p = X;t = D;[samin,minp,maxp,tn,mint,maxt] = premnmx(p,t);rand('state',sum(100*clock))noisevar = 0.01;noise = noisevar*randn(1,samnum);samout = tn + noise;testsamin = samin;testsamout = samout;maxepochs = 50000;lr = 0.035;e0 = 0.65*10^(-3);w1 = 0.5*rand(hiddenunitnum,indim)-0.1;b1 = 0.5*rand(hiddenunitnum,1)-0.1;w2 = 0.5*rand(outdim,hiddenunitnum)-0.1;b2 = 0.5*rand(outdim,1)-0.1;errhistory = [];for i = 1:maxepochs    hiddenout = logsig(w1*samin+repmat(b1,1,samnum));    networkout = w2*hiddenout+repmat(b2,1,samnum);    error = samout-networkout;    sse = sumsqr(error);    errhistory = [errhistory sse];    if sse<e0           break;    end    delta2 = error;    delta1 = w2'*delta2.*hiddenout.*(1-hiddenout);    dw2 = delta2*hiddenout';    db2 = delta2*ones(samnum,1);    dw1 = delta1*samin';    db1 = delta1*ones(samnum,1);    w2 = w2+lr*dw2;    b2 = b2+lr*db2;    w1 = w1+lr*dw1;    b1 = b1+lr*db1;end

作 者 | 郭志龙

编 辑 | 郭志龙

校 对 | 郭志龙

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

标签: #bp神经网络算法应用 #bp神经网络预测模型实例图解视频