• 大小: 5KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-31
  • 语言: Matlab
  • 标签: BP  Matlab  

资源简介

2个matlab BP分类代码

资源截图

代码片段和文件信息

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  2015-10-31 11:00  2个BPMatlab例子\BP\
     文件        1724  2015-10-31 16:56  2个BPMatlab例子\BP\BP.m
     文件        1424  2015-10-23 14:29  2个BPMatlab例子\BP\Iris-test.txt
     文件        1425  2015-10-23 14:29  2个BPMatlab例子\BP\Iris-train.txt
     目录           0  2018-11-14 17:00  2个BPMatlab例子\bp_class\
     文件        1332  2015-01-13 17:14  2个BPMatlab例子\bp_class\BP_demo.m
     文件        2210  2015-01-13 16:54  2个BPMatlab例子\bp_class\irisdata.mat

评论

共有 条评论