资源简介
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
- 上一篇:PMSM 电流环闭环
- 下一篇:matlab实现 中值滤波去除基线漂移
相关资源
- matlab实现 中值滤波去除基线漂移
- 拥有matlab用户界面的卡尔曼滤波程序
- MATLAB中为GUI添加背景图片的方法
- 数字锁相环的MATLAB仿真源码
- matlab(边界提取链码生成差分链码生
- 用MATLAB编写的小波去噪程序
- 无线传感器网络仿真代码
- matlab——PSO算法以及两种适应度函数
- 基于纹理的图像检索源码matlab
- matlab实现了图像通信中的全搜索算法
- Win7下MATLAB_7.0地址和详细安装+汉化包
- 乘同余法产生M序列的matlab源程序
- 广义霍夫变换的MATLAB源码
- matlab轮廓匹配的物体识别系统
- JPEG2000MATLAB代码
- matlab 图像离散余弦变换(源代码)
- 六自由度机器人避障问题的MATLAB仿真
- Matlab混沌工具箱
- 空间球拟合程序Matlab
- 信道估计的matlab仿真
- 基于matlab的数字图像处理论文
- 基于DTW语音识别matlab代码
- 质心定位算法MATLAB仿真
- 蚁群算法求解旅行商最优路径问题
- AR参数模型功率谱估计仿真程序
- MATLAB样例之雅克比迭代法
- 快速人脸定位matlab程序
- B样条弹性配准matlab
- bp算法 matlab实现 图像分类
- matlab2010b破解文件,lisensce,序列号
评论
共有 条评论