本推送分享基于matlab的反向传播神经网络(BPNN)案例:(数据来自MINIST集)。BPNN的原理不再介绍,仅介绍算法实现的过程。
注:本案例中所有内容从底层写起,不借助工具箱。
训练集已经整理成MATLAB标准数据格式,每一列代表一个训练样本(数字)。测试集具有同样的格式。
通过下方代码即可将数字图像显示出来:
从直接启动,并点击开始。
•如果不勾选左上角的,GUI界面上会利用图图已经训练好的模型进行测试,并绘制出测试结果。
预训练的模型参数在中。
•如果勾选左上角的后点开始,会提示用户输入训练参数:
直接从启动运行,会提示用户输入训练参数,并给出训练结果。此时可视化过程需要自行完成。
function [y] = activeFcn(w,b,x)
% 输出函数
y = w*x + b;
n = length(y);
for i =1:n
y(i)=1.0/(1+exp(-y(i)));
end
y;
end
反向传播算法
%更新公式的实现(反向传播算法)
o_update = (y-out_put).*out_put.*(1-out_put);
h_update = ((w')*o_update).*hid_put.*(1-hid_put);
outw_update = learnFactor*(o_update*(hid_put'));
outb_update = learnFactor*o_update;
hidw_update = learnFactor*(h_update*(x'));
hidb_update = learnFactor*h_update;
w = w + outw_update;
b = b+ outb_update;
w_h = w_h +hidw_update;
b_h =b_h +hidb_update;
•关注微信公众号“图通道”回复下载完整代码与数据集;
•打包图图的所有作品: https://mbd.pub/o/bread/mbd-YZaYm55t ;
•交流群:549621236;
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...