神经网络指导.docx
- 文档编号:19805501
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:18
- 大小:104.35KB
神经网络指导.docx
《神经网络指导.docx》由会员分享,可在线阅读,更多相关《神经网络指导.docx(18页珍藏版)》请在冰豆网上搜索。
神经网络指导
第三部分神经网络控制技术
一感知机
1)感知机概念
感知机是最早被设计并被实现的人工神网络。
感知器是一种非常特殊的神经网络,它在人工神经网络的发展历史上有着非常重要的地位,尽管它的能力非常有限,主要用于线性分类。
图1单神经元结构模型
概念:
(P125)x1…xn为输入信号;
w1...wn表示连接权系数,即权值,连接权;
y为输出;
θ为阈值(阀值);
模型可描述为:
响应函数为:
或
f(•)也称为变换函数,活化函数(activationfunction),激发函数。
2)感知器的工作方式:
学习阶段——修改权值(例:
根据“已知的样本”对权值不断修改;――有导师学习)
工作阶段——计算单元变化,由响应函数给出新输入下的输出。
感知机的学习算法
样本:
X={X1,X2……Xp}
Y={y1,y2……yp}
学习的过程,主要根据“样本”来修正权值W,阈值θ
3)响应函数(激活函数)
响应函数(激活函数)的基本作用:
(1).控制输入对输出的激活作用;
(2).对输入、输出进行函数转换;
(3).将可能无限域的输入变换成指定的有限范围内的输出。
1).阈值单元
单层感知器:
✓两个输入x1和x2。
✓一个阈值(阀值)θ
✓两个待调整的权值W1和W2
✓
决策函数为
✓样本集分别属于2类。
4)工作阶段理解的例题
x1为考试成绩、x2为平时成绩,将x1、x2作为两个输入,构建两输入、单输出的感知机实现成绩评定系统其权值w1=0.7、w2=0.3,阈值θ=60。
求下列成绩的评定结果。
X1
70
30
60
80
x2
50
90
59
40
解:
x1
70
30
60
80
x2
50
90
59
40
Net(
)
70*0.7+50*0.3-60
=7>0
30*0.7+90*0.3-60
=-12<0
60*0.7+59*0.3-60
=-0.3<0
80*0.7+40*0.3-60
=8>0
y
1
0
0
1
练习
2设一平面上有两类点,使用横坐标x1和纵坐标x2作为两个输入,构建两输入、单输出的感知机。
若权值w1=-40、w2=22,阈值θ=6000,求下列样本的识别结果。
x1
70
30
60
80
x2
50
90
59
40
感知器的建立:
学习阶段——修改权值(例:
根据“已知的样本”对权值不断修改;――有导师学习)
工作阶段——计算单元变化,由响应函数给出新输入下的输出。
举例:
用感知器实现“与”的功能
解:
设x1,x2为两输入,取值为逻辑0或1
y为输出,即x1,x2与运算后的结果。
用感知器实现“与”的功能,即用此设计好的感知器可以相当于“与门”完成与运算。
也就是确定此感知器中的3个参数“w1,w2,θ”。
举例:
用感知器实现“与”的功能
1)设w1=0;w2=0;θ=0;
2)输入x={x1,x2}
输出y
样本:
x1=0011
x2=0101
y=0001
即
,
时
y1=0,y2=0,y3=0,y4=1;
3)计算感知机在ui作用下的输出yi
由模型可描述为:
j=1,2n=2i=1,2,3,4,用矩阵表示为
s1=(w1,w2)×u1-θ=(0,0)×
-0=0;
s2=(w1,w2)×u2-θ=(0,0)×
-0=0;
s3=(w1,w2)×u3-θ=(0,0)×
-0=0;
s4=(w1,w2)×u4-θ=(0,0)×
-0=0;
由响应函数
Y=[1111],即y1=y2=y3=y4=1;
4)调整权值和阈值
由ei(t)=(di-yi(t))
e(t)=(-1,-1,-1,0)
求E(t)=
=-3,设η=0.5
w1(t+1)=w1(t)+η∑(di-yi(t))×x1’)
=0+0.5×(-1,-1,-1,0)×(0,0,1,1)’=-0.5;
w2(t+1)=w2(t)+η∑(di-yi(t))×x2’)
=0+0.5×(-1,-1,-1,0)×(0,1,0,1)’=-0.5;
θ(t+1)=θ(t)+(|E(t)|)1/2=0+1.732=1.732;
由此w1=-0.5,w2=-0.5,θ=1.732;
返回3)重新计算,直到E满足要求。
%建立一个感知机网络,使其能够完成“与”的功能
%感知机神经网络学习阶段
%自编程,没用mat工具箱
err_goal=0.001;lr=0.9;
max_expoch=10000;
X=[0011;0101];T=[0001];
[M,N]=size(X);[L,N]=size(T);
Wij=rand(L,M);y=0;b=rand(L);
forepoch=1:
max_expoch
NETi=Wij*X;
forj=1:
N
fori=1:
L
if(NETi(i,j)>=b(i))
y(i,j)=1;
else
y(i,j)=0;
end
end
end
E=(T-y);EE=0;
forj=1:
N
EE=EE+abs(E(j));
end
if(EE Wij=Wij+lr*E*X';%%调整权值 b=b+sqrt(EE);%%调整阈值 end epoch,Wij,b %第二阶段工作期,验证网络 X1=X; NETi=Wij*X1;[M,N]=size(X1); forj=1: N fori=1: L if(NETi(i,j)>=b(i)) y(i,j)=1; else y(i,j)=0; end end end y 算法步骤: 1)设输入变量为x1,x2…,xm;(j=1,2,…,m),设置权系数初值wj(wj一般取[-1,1]之间的随机小数); 2)确定学习样本,即给定输入/输出样本对, 输入: u={u1,u2……un}, (i=1,2,…,n) 输出: d={d1,d2……dn},(i=1,2,…,n) 3)分别计算感知机在ui作用下的输出yi ; t指第t次计算并调整权值。 4)调整权值和阈值 (1)求ei(t)=di-yi(t) (2)求E(t)= 若E(t)≠0,调整权值; wj(t+1)=wj(t)+η∑([di-yi(t)]xji),写出矩阵为W(t+1)=W(t)+η∑([di-yi(t)]ui); θ(t+1)=θ(t)+(E(t))2返回3 若E(t)满足要求则结束。 η: 训练步长,一般0<η<1,η大收敛快,易振荡,η小,收敛慢,不易振荡 初始化: initp训练: trainp仿真: simup 初始化: initp可自动产生[-1,1]区间中的随机初始权值和阈值,例: [w,b]=initp(2,8)或[w,b]=initp(p,t) 训练: trainp感知器网络学习和仿真的过程 tp=[disp_freqmax_epoch]; (显示频率和训练的最大步数) [w,b,te]=trainp[w,b,p,t,tp]; Train函数完成每一步训练后,返回新的网络权值和阈值,并显示已完成的训练步数ep及误差te 注意: 使用trainp函数并不能保证感知器网络在取训练所得到的权值和阈值时就可以顺利达到要求,因此,训练完成后,最好要验证一下: a=simup[p,w,b]; ifall(a==t),disp(‘Itworks! ’),end %直接利用mat工具箱(initptrainpsimup) clearall NNTWARNOFF p=[0011; 0101] t=[0001] [w1,b1]=initp(p,t)%初始化 [w1,b1,epoches,errors]=trainp(w1,b1,p,t,[-1]);%训练 %%%%%%%%%%计算完毕 figure (2); ploterr(errors) a1=simup(p,w1,b1);%%%%%%仿真 a1 ifall(a==t),disp(‘Itworks! ’); e=t-a1; k=1: 1: 4; figure(3); plot(k,e) 3感知机的特点 1)多输入,单输出 2)激活函数/传递函数为二值,一般为阶跃函数或符号函数 3)输出为二值: 0/1或-1/1 4) =f(u) 习题1 1)看懂课堂中2个实现“与”功能的程序: yu1.m和yu2.m 2)模仿实现“与”功能的程序yu2.m,编写能实现2个变量及3个变量的“或”功能程序,要求: a)给出完整的程序,并对重要的函数及语句给于解释说明,程序中要用语句画出训练误差图,分类图等。 b)在实验报告中,画出设计的网络的结构图,并在图中标出训练好的权值阈值。 4感知机的局限: 感知机只能对线性可分离的模式进行正确的分类。 当输入模式是线性不可分时,则无论怎样调节突触的结合强度(连接权值)和阈值的大小也不可能对输入进行正确的分类。 解决方法: 构造多层感知机网络,即含有隐层的网络,但只能修改最后一层权值阈值。 %%%%%直接利用mat工具箱(initptrainp) clearall NNTWARNOFF p=[0011; 0101]; t=[0110]; s1=9; [w1,b1]=initp(p,s1);%%%初始化第一层权值及阈值 [w2,b2]=initp(s1,t);%初始化第二层(隐层)权值及阈值 A1=simup(p,w1,b1);%网络第一层输出 [w2,b2,epoches,errors]=trainp(w2,b2,A1,t,[-1]); %%%%%%%%%%学习完毕,即网络建立完毕 w2 b2 figure (2) ploterr(errors) a1=simup(p,w1,b1);%网络第一层输出 a2=simup(a1,w2,b2);%网络第一层输出 e=t-a2; k=1: 1: 4; figure(3) plot(k,e) %网络第一层的权值及阈值不做修改,只有隐层的的权值及阈值进行不断学习及修改。 %%%先设定(任意选取w1b1),初始化W2B2,再让W2B2不断学习修正 %%%%也是直接利用mat工具箱 p=[0011; 0101]; t=[0110]; w1=[1-1; 1-1] b1=[-0.5;0.5] [w2,b2]=initp(2,t); A1=simup(p,w1,b1);%网络输出 [w2,b2,epoches,errors]=trainp(w2,b2,A1,t,[-1]); w2 b2 figure (2) ploterr(errors) a1=simup(p,w1,b1); a2=simup(a1,w2,b2); a2 e=t-a2; k=1: 1: 4; figure(3) plot(k,e) 二bp网络 脐橙可食率自动估测的研究 脐橙营养丰富是深受人们喜爱的水果之一,对脐橙进行品质检测和分级对提高脐橙种植和销售水平都具有重要意义。 在脐橙的品质检测和分级中可食率是一项重要的指标,同时果实中可食部分占整个果实的比例也是顾客挑选脐橙,判断果实品质优良的标准之一。 目前对脐橙的研究多侧重于通过机器视觉提取脐橙特征参数进行自动分级及果实糖度、酸度的检测等,而对脐橙可食率的研究并不多。 因此,对脐橙可食率估测方法的研究将提高脐橙品质检测和分级的效果。 1脐橙的重量、体积和可食率 脐橙可食率是指果实的可食部分占整个果实的比例,而脐橙去皮后的部分基本都属于可食部分,但去皮后脐橙不易储藏及运输,因此,对脐橙可食率的估测只能在不破坏果实完整性的状态下进行。 从一个脐橙的外观,可以很方便的获取到其重量和体积两个特征参数,且从消费者挑选脐橙的经验来看,果型整齐端正,大小适中,果皮薄的脐橙所含水分较高,可食部分也较多,因此,可以通过脐橙果实的重量和体积估测脐橙的可食率。 随机选用20个脐橙,通过电子秤测得其重量,利用排水法得到其体积,再将脐橙去皮后称量可食部分的重量得到实际可食率,用上述20个脐橙的重量与可食率,体积与可食率进行相关分析,结果如表1所示。 表1重量、体积与可食率相关性 Table1Thecorrelationofweight、volumeandediblepart 重量 体积 可食率 重量 1 体积 0.744 1 可食率 -0.370 -0.303 1 从表中可知,脐橙重量与可食率间相关系数为-0.370,体积与可食率间相关系数为-0.303,相关系数的绝对值都较小,属于弱相关,即脐橙重量与可食率间线性相关程度并不高,同理体积与可食率线性相关程度也较低,且为负相关。 因此,用线性拟合无法通过重量和体积有效估测脐橙的可食率。 2基于神经网络的脐橙可食率估测 显然通过重量和体积估测脐橙的可食率必须采用非线性的方法。 在现有的各种估测算法中,人工神经网络中的BP网络,可以通过对样本数据的学习来映射数据中存在的多元非线性关系,被广泛应用于识别、预测等领域。 BP网络是一种多层前馈网络,由于任何一个连续的函数映射可以通过一个三层BP网络来实现,因而采用三层BP网络来进行脐橙可食率的估测。 在脐橙可食率估测中,将脐橙子体积和重量两个特征作为网络的输入,网络隐层的神经元个数在训练学习过程中确定,估测的可食率作为网络的输出。 通过已知脐橙体积、重量、可食率的样本学习,确定隐层的神经元个数与相应的网络连接权值,最终建立脐橙可食率估测的神经网络模型。 表1相关分析中使用的20个脐橙的重量和体积如表2所示,将体积数据进行归一化处理后,用前17个脐橙的数据作为训练样本,脐橙的重量和体积作为输入,实际可食率作为输出,采用2×5×1的BP网络结构,建立BP网络脐橙可食率估测模型,其中隐层采用S型激活函数,输出层采用线性激活函数。 利用建立好的模型对20个脐橙的可食率进行估测,结果如表2。 表2脐橙可食率估测 Table2Theestimationofnavelorangeediblepart 序号 重量/kg 体积/cm3 实际可食率 预估可食率 误差 1 0.182 159.091 82.42% 84.35% 2.34% 2 0.212 204.545 80.19% 81.17% 1.22% 3 0.201 204.545 82.59% 80.77% -2.20% 4 0.252 250.000 76.19% 74.48% -2.24% 5 0.202 204.545 84.16% 80.80% -3.99% 6 0.212 181.818 84.91% 85.79% 1.04% 7 0.175 136.364 82.86% 77.97% -5.90% 8 0.264 250.000 71.97% 73.42% 2.02% 9 0.159 127.273 72.33% 75.74% 4.72% 10 0.159 184.091 80.50% 82.82% 2.88% 11 0.175 213.636 81.14% 79.65% -1.84% 12 0.181 225.000 77.35% 78.31% 1.24% 13 0.171 200.000 80.70% 81.28% 0.72% 14 0.151 195.455 85.43% 81.94% -4.09% 15 0.215 238.636 75.35% 77.66% 3.07% 16 0.223 236.364 78.48% 77.42% -1.34% 17 0.178 202.273 78.09% 80.98% 3.70% 预估: 18 0.145 165.909 79.31% 83.50% 5.28% 19 0.149 154.545 81.88% 83.63% 2.14% 20 0.151 156.818 80.13% 83.75% 4.51% 由表2可知,BP网络拟合可食率的最大误差为4.72%,最小误差为-5.9%,均方差为3.19%,对样本的拟合效果较好。 最后三个脐橙数据并未参加网络训练,用所建立的估测模型对这三个脐橙进行可食率估测,误差不超过6%,估测准确率在94%以上。 由上述神经网络估测方法,用与可食率线性相关程度较低的重量和体积来估测却能达到较高的准确率,说明BP神经网络可以较好的描述重量、体积与可食率之间的非线性关系,该估测方法具有一定的实用价值。 3结论 脐橙可食率的研究对于提高脐橙购买需求和销售水平具有现实的意义。 利用脐橙重量和体积两个特征参数,通过建立BP网络模型,估测脐橙可食率。 实验表明,提出的方法对脐橙可食率估测准确率较高,对可食率的估测具有一定指导意义。 附件程序: a=xlsread('E: \orange.xls'); p=a(: 1: 2)'; t=a(: 3)'; net=newff([min(p(: 1))max(p(: 1));min(p(: 2))max(p(: 2))],[501],{'tansig','purelin'},'trainlm'); net.trainParam.epochs=1000; net.trainParam.goal=0.00001; LP.lr=0.1; net=train(net,p,t); out=sim(net,p); b=a; b(: 4)=out'; b(: 5)=b(: 3)-b(: 4); abs(out-t) xlswrite('E: \orange2.xls',b); save'E: \mynet.mat'net %loadmynet.matnet w1=net.iw{1,1} w2=net.lw{2,1} b1=net.b{1} b2=net.b{2} 实验要求 实验三神经网络---感知机 实验内容: 1)看懂《教学辅导材料》中实现“与”功能的程序 2)编写能实现“或”功能的感知机程序,要求: a)给出完整的程序,并对重要的函数及语句给于解释说明,程序中要用语句画出训练误差图,分类图等 b)在实验报告中,画出设计的网络的结构图(几层,几个神经元等),并在图中标出训练好的权值阈值。 实验四神经网络----双层感知机 实验内容: 1)用双层感知机实现“同或”功能 2)编写程序,设计网络,实现下面功能: 四个变量: x1,x2,x3,x4 正常状态: xi(i=1……4)四个变量均正常 轻微故障: 只有一个变量不正常(故障) 严重故障: 有任何两个变量不正常 禁止使用: 任何三个变量不正常 设计网络能实现,对任意给定,网络能判断出目前系统处于何种故障状态。 (利用MAT中的神经网络函数编程) 实验五神经网络----bp网络 实验内容: 1编写程序,设计bp神经网络,实现下面功能: 四个变量: x1,x2,x3,x4 正常状态: xi(i=1……4)四个变量均正常 轻微故障: 只有一个变量不正常(故障) 严重故障: 有任何两个变量不正常 禁止使用: 任何三个变量不正常 设计网络能实现,对任意给定,网络能判断出目前系统处于何种故障状态。 (利用MAT中的神经网络函数编程) 2芒果体积自动检测 芒果是一种深受人们喜爱的水果,其体积是芒果分级中的一个重要指标。 然而在我国,水果品质检测大部分仍停留在靠人工感官进行识别判断的原始阶段,这种主观判定效率低,误差大。 基于视觉的计算机检测具有速度快、信息量大、检测准确的优点。 通过拍摄芒果图片,利用图像处理技术,得到芒果二值图和芒果截面积。 要求根据芒果截面积,通过bp神经网络对芒果体积自动估测。 附件: 实验芒果截面积及芒果实际体积对应表 编号 芒果实际 体积(cm3) 芒果截面积对 应像素点个数 1 82 111828 2 86 112513 3 76 95168 4 100 132131 5 84 114039 6 80 97809 7 88 105475 8 96 115618 9 72 86502 10 84 103128 11 68 80806 12 72 94151 13 80 97279 14 78 96392 15 76 94029 16 86 108581 17 74 89621 18 92 109230 19 76 95080 20 74 95255 21 84 106635 22 74 91591 23 82 101339 24 70 89401
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 指导