神经网络BP网鸢尾花分类问题资料下载.pdf
《神经网络BP网鸢尾花分类问题资料下载.pdf》由会员分享,可在线阅读,更多相关《神经网络BP网鸢尾花分类问题资料下载.pdf(20页珍藏版)》请在冰豆网上搜索。
)(iinfa=5/202013-4-24感知器网络感知器网络感知器的学习有教师的学习有教师学习算法将一组训练集送入网络,根据网络的实际输出与期望输出间的差别来调整连接权。
有导师学习算法的主要步骤包括:
1)从样本集合中取一个样本(Ai,Bi);
2)计算网络的实际输出O;
3)求D=Bi-O;
4)根据D调整权值W和阈值b;
5)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。
6/202013-4-24感知器网络感知器网络感知器的学习有教师的学习(规则)ate=目标输出目标输出实际输出实际输出训练目的:
t-a当e=0时,得到最优网络权值和阈值当e0时,实际输出小于目标输出,应增加网络权值和阈值当e0时,实际输出大于目标输出,应减少网络权值和阈值7/202013-4-24BPBPBPBP网网BP网反向传播网络(backpropagationnetwork)单层感知器网络只有一层神经元,简单,处理线性问题BP网络有多层神经元,复杂,非线性问题xxxx1111oooo1111输出层输出层隐藏层隐藏层输入层输入层xxxx2222oooo2222oooommmmxxxxnnnnWWWW
(1)
(1)
(1)
(1)WWWW
(2)
(2)
(2)
(2)WWWW(3)(3)(3)(3)WWWW(L)(L)(L)(L)BP网结构8/202013-4-24BPBPBPBP网网BP网结构9/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题要做的工作:
a)建立一个BP网络c)使用新的数据集模拟这个网络b)使用样本训练这个网络10/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题要做的工作:
a)建立一个BP网络网络层数每层的神经元数每层使用的转移函数使用的训练函数11/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题net=newff(PR,S,TF,BTF,BLF,PF,IPF,OPF,DDF)matlab提供newff函数用于创建一个BP网络每组输入向量的最大和最小值每组输入向量的最大和最小值每层神经元的个数每层神经元的个数每层使用转移函数每层使用转移函数训练函数训练函数BLF-权值和阈值学习函数,默认为learngdm.PF-网络性能函数,默认为mse.IPF-行输入处理单元矩阵OPF-行输出处理单元矩阵DDF-数据分割函数,默认为dividerand;
示例:
net=newff(minmax(input),103,logsigpurelin,traingdx);
12/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题训练样本读取训练数据f1,f2,f3,f4,class=textread(trainData.txt,%f%f%f%f%f,150);
训练神经网络net=train(net,input,output);
13/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题检验网络读取测试数据t1t2t3t4c=textread(testData.txt,%f%f%f%f%f,150);
模拟神经网络Y=sim(net,testInput)14/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题%读取训练数据f1,f2,f3,f4,class=textread(trainData.txt,%f%f%f%f%f,150);
%特征值归一化input,PS=mapminmax(f1,f2,f3,f4);
%构造输出矩阵s=length(class);
output=zeros(s,3);
fori=1:
soutput(i,class(i)=1;
end%创建神经网络net=newff(minmax(input),103,logsigpurelin,traingdx);
%设置训练参数net.trainparam.show=50;
%显示中间结果的周期net.trainparam.epochs=500;
%最大迭代次数net.trainparam.goal=0.01;
%神经网络训练的目标误差net.trainParam.lr=0.01;
%学习率15/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题%开始训练net=train(net,input,output);
%读取测试数据t1t2t3t4c=textread(testData.txt,%f%f%f%f%f,150);
%测试数据归一化testInput=mapminmax(t1,t2,t3,t4);
%仿真Y=sim(net,testInput);
%统计识别正确率s1,s2=size(Y);
hitNum=0;
s2m,Index=max(Y(:
i);
if(Index=c(i)hitNum=hitNum+1;
endendsprintf(识别率是%3.3f%,100*hitNum/s2)16/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题网络未经训练时的输出(隐层:
100,输出层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是8.000%)8.000%)8.000%)8.000%)17/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题训练后的训练样本输出(隐层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是100.000%)100.000%)100.000%)100.000%)18/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题训练后的测试样本输出(隐层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是94.667%)94.667%)94.667%)94.667%)19/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题一个隐层(隐层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是93.333%)93.333%)93.333%)93.333%)两个隐层(隐层:
20,20,输出层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是96.000%)96.000%)96.000%)96.000%)20/202013-4-24用用BPBPBPBP网实现鸢尾花分类问题网实现鸢尾花分类问题一个隐层(隐层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是96.000%)96.000%)96.000%)96.000%)两个隐层(隐层:
3)输出图示输出图示输出图示输出图示(识别率是识别率是识别率是识别率是96.000%)96.000%)96.000%)96.000%)