资源简介
BP神经网络算法,直接可运行,注释详细,可帮助理解,内含详细的代码说明,方便大家阅读,内含3个程序,可参考学习

代码片段和文件信息
clc;
clear all;
close all;
InNeuron=4; %输入神经元节点
HiddenNeuron=10; %隐层神经元节点
OutNeuron=3; %输出神经元节点
lr=0.01; %学习效率
E=0.0000001; %目标误差
MaxTextTimes=10000; %最多训练次数
%读入两个文件
Train=load(‘Iris-test.txt‘);
Train %查看训练集
Train=Train(:1:4);
Train=Train‘;
Test=load(‘Iris-train.txt‘);
Test %查看检测集
Test=Test(:1:4);
Test=Test‘;
%标准化输出
SamOut=[repmat([1;0;0]125) repmat([0;1;0]125) repmat([0;0;1]125)];%三种类型的花及相应输出
SamIn=Train;%开始训练
%归一化
[Trainps]=mapminmax(Train01);
Test=mapminmax(Test01);
%设置权值与阈值(rand随机产生)
W1=rand(HiddenNeuronInNeuron);
B1=rand(HiddenNeuron1);
W2=rand(OutNeuronHiddenNeuron);
B2=rand(OutNeuron1);
%误差记录
ErrHistory=[];
for step=1:MaxTextTimes
HiddenOut=logsig(W1*Train); %隐含层输出
NetworkOut=logsig(W2*HiddenOut); %输出层输出
Error=SamOut-NetworkOut;%误差
SSE=sumsqr(Error);%平方求和
ErrHistory=[ErrHistory SSE];
if SSE %调整权值和阈值
delta2=NetworkOut.*(1-NetworkOut).*(SamOut-NetworkOut);
w=W2;
W2= W2+lr*(HiddenOut*delta2‘)‘;
B2=w;%阈值
delta1=HiddenOut.*(1-HiddenOut).*(W2‘*delta2);%调整隐含层加权系数
w=W1;
W1=W1+lr*(Train*delta1‘)‘;
B1=w;
end
HiddenOut=logsig(W1*Test); %使用logsig激活函数求出隐含层输出最终结果
NetworkOut=logsig(W2*HiddenOut); %使用logsig激活函数求出输出层输出最终结果
%将输出层最终结果和目标输出结果对应起来
NetworkOut(find(NetworkOut<=0.5))=0;
NetworkOut(find(NetworkOut>=0.5))=1;
NetworkOut%输出网络结果
%通过匹配求解出成功率
Result =~sum(abs(NetworkOut-SamOut));
Percent = sum(Result)/length(Result)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-18 10:37 BP_CODE\
目录 0 2019-04-18 10:36 BP_CODE\1\
文件 1724 2015-10-31 16:56 BP_CODE\1\BP.m
文件 1424 2015-10-23 14:29 BP_CODE\1\Iris-test.txt
文件 1425 2015-10-23 14:29 BP_CODE\1\Iris-train.txt
目录 0 2019-04-18 10:37 BP_CODE\2\
文件 1332 2015-01-13 17:14 BP_CODE\2\BP_demo.m
文件 2210 2015-01-13 16:54 BP_CODE\2\irisdata.mat
目录 0 2019-04-18 10:37 BP_CODE\3\
文件 541 2018-04-21 21:52 BP_CODE\3\BP.m
文件 3754 2019-04-16 09:54 BP_CODE\3\BPNet.m
文件 1535 2018-04-21 21:50 BP_CODE\3\BP_train.m
文件 2848 2017-12-17 19:18 BP_CODE\3\Iris.txt
相关资源
- Rademacher系列的CHL模型中的精确半BPS黑
- CNN-SVM模型在抽油机井故障诊断中的应
- bp神经网络源代码,可直接运行
-
imx6qSBP的jli
nk初始化脚本 - 连续hopfield神经网络解决TSP问题
- BCG帮助手册,完整版_修正
- 编程实现二维DCT变换
- 改进的BP神经网络算法
- 图像二值化
- 用FFT对信号进行频谱分析
- 基于bp神经网络的表情识别
- Tone-Reservation
- QGA 量子遗传算法
- BFSK/BPSK-BER 蒙特卡洛仿真程序
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 神经网络仿真工具源代码
-
UnityWebPla
yer及UnityWebPla yerFull -
UnityWebPla
yerFull - 带电粒子的横向动量高达100 GeV / c在
- 使用卷积神经网络在e + e-对撞机上改
- 用labview编写的一个神经网络Vi图
- PbPb碰撞中D介子的核修饰因子
- N = 4 $$ \\ mathcal {N} = 4 $$ Chern-Simons-ma
- FABP2基因54位点多态性与结直肠癌易感
- 简单二阶互联系统的非线性动力学分
- 佳能canon lbp3000激光打印机驱动 for w
- BPMN2.0 Modeler for Visio
- 基于改进的SOM神经网络在产品配置中
- Rademacher和BPS混合黑洞
评论
共有 条评论