《人工神经网络是一个非线性的有向图..ppt》由会员分享,可在线阅读,更多相关《人工神经网络是一个非线性的有向图..ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ANNArtificial Neural Networks人工神经网络是一个非线性的有向图,图人工神经网络是一个非线性的有向图,图中含有可以通过改变权大小来存放模式的中含有可以通过改变权大小来存放模式的加权边,并且可以从不完整的或未知的输加权边,并且可以从不完整的或未知的输入找到模式。入找到模式。擅长两个方面:擅长两个方面:对对大大量量的的数数据据进进行行分分类类,并并且且只只有有较较少少的的几几种种情况;情况;必须学习一个复杂的必须学习一个复杂的非线性映射非线性映射。目前应用:目前应用:人们主要将其用于语音、视觉、知识处理、辅人们主要将其用于语音、视觉、知识处理、辅助决策等方面。助决策等方面
2、。在数据压缩、模式匹配、系统建模、模糊控制、在数据压缩、模式匹配、系统建模、模糊控制、求组合优化问题的最佳解的近似解求组合优化问题的最佳解的近似解(不是最佳(不是最佳近似解)等方面也有较好的应用。近似解)等方面也有较好的应用。xnwnx1w1x2w2net=XW人工神经元模拟生物神经元的人工神经元模拟生物神经元的一阶特性一阶特性。输入:输入:X=(x1,x2,xn)联接权:联接权:W=(w1,w2,wn)T网络输入:网络输入:net=xiwi向量形式:向量形式:net=XW4、S形函数形函数 2023/3/76a+bo(0,c)netac=a+b/21、BP算法的出现算法的出现非循环多级网络的
3、训练算法非循环多级网络的训练算法UCSD PDP小小组组的的Rumelhart、Hinton和和Williams1986年年独独立地给出了立地给出了BP算法清楚而简单的描述算法清楚而简单的描述1982年,年,Paker就完成了相似的工作就完成了相似的工作1974年,年,Werbos已提出了该方法已提出了该方法2、弱弱点点:训训练练速速度度非非常常慢慢、局局部部极极小小点点的的逃逃离离问问题题、算法不一定收敛。算法不一定收敛。3、优点:、优点:广泛的适应性和有效性。广泛的适应性和有效性。输出函数分析输出函数分析应该将应该将net的值尽量控制在收敛比较快的范围内的值尽量控制在收敛比较快的范围内可可
4、以以用用其其它它的的函函数数作作为为激激活活函函数数,只只要要该该函函数数是处处可导的是处处可导的2023/3/780.5f(net)0.25o011(0,0.5)net(0,0)o网络的拓扑结构网络的拓扑结构2023/3/79x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnW(1)W(2)W(3)W(L)网络的拓扑结构网络的拓扑结构2023/3/710 x1o1输出层输出层隐藏层隐藏层输入层输入层x2o2omxnWV2 2、向后传播阶段、向后传播阶段误差传播阶段:误差传播阶段:(1)计计算算实实际际输输出出Op与与相相应应的的理理想想输输出出Yp的的差;差;(2)按极小化误差的方
5、式调整权矩阵。)按极小化误差的方式调整权矩阵。(3)网络关于第)网络关于第p p个样本的误差测度:个样本的误差测度:2023/3/711(4)网络关于整个样本集的误差测度:网络关于整个样本集的误差测度:2023/3/7121、输出层权的调整、输出层权的调整wpq=wpq+wpqwpq=qop=fn(netq)(yq-oq)op=oq(1-oq)(yq-oq)opwpqANpANq第第L-1层层第第L层层wpq2 2、隐藏层权的调整、隐藏层权的调整 2023/3/713ANpANqANhvhppk-11kwp1wpqqkwpmmk第第k-2层层第第k层层第第k-1层层基本基本BP算法算法neti
6、=x1w1i+x2w2i+xnwni2023/3/714clcclc;clear;close all;ld=200;x=rand(2,ld);x=(x-0.5)*3;x1=x(1,:);x2=x(2,:);F=20+x1.2-10*cos(2*pi*x1)+x2.2-10*cos(2*pi*x2);net=newff(minmax(x),5,1,tansig,purelin,trainlm);net.trainParam.epochs=5000;net.trainParam.goal=1e-3;net.trainParam.lr=0.05;net.trainParam.mc=0.8;net,t
7、r=train(net,x,F);interval=0.1;x1,x2=meshgrid(-1.5:interval:1.5);F=20+x1.2-10*cos(2*pi*x1)+x2.2-10*cos(2*pi*x2);mesh(x1,x2,F);Surf(x1,x2,F);interval=0.1;i,j=meshgrid(-1.5:interval:1.5);row=size(i);tx1=i(:);tx1=tx1;tx2=j(:);tx2=tx2;tx=tx1;tx2;%testingty=sim(net,tx);v=reshape(ty,row);figuresubplot(1,3,2)mesh(i,j,v);