资源简介
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
相关资源
- 偏最小二乘回归算法
- 光纤色散计算
- 基于HOG和LBP的行人检测代码
- RNN变体——最小门限递归神经网络M
- mimo信道容量及和速率的仿真代码
- 小波重构+高频滤波
- 电偶极子磁场在静态和高速运动状态
- 维纳滤波应用
- mimo-odfm仿真
- BP神经网络鲍鱼年龄预测.zip
- 图像分割效果评价
- 基于分数阶傅里叶变换的相位迭代图
- SAR经典的wk成像算法.zip
- 遗传算法小车避障问题
- RBF神经网络 实现非线性函数回归
- 选址分配-遗传算法
- 33节点潮流计算代码
- PID控制Matalb经典算法
- 2018年国赛b题代码RGV动态调度
- 各种体制雷达信号仿真
- 模糊控制与bp神经网络范例
- bpaieee39节点程序
- LeNet-5论文完整版
- 心电信号预处理去噪
- 7-band EQ均衡器算法
- 永磁同步电机直接转矩控制仿真-矩阵
- 各种智能算法程序以求函数最值为例
- 模糊PI控制器回馈好朋友的帮助帮助其
- 希尔伯特变换求瞬时幅度相位和频率
- 基于miniprogramwebpackloader的小程序脚手
评论
共有 条评论