- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
神经网络的简单原理
人工神经网络是根据人的认识过程而开发出的一种算法。假如我们现在只有一些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入与输出之间的未知过程看成是一个“网络”,通过不断地给这个网络输入和相应的输出来“训练”这个网络,网络根据输入和输出不断地调节自己的各节点之间的权值来满足输入和输出。这样,当训练结束后,我们给定一个输入,网络便会根据自己已调节好的权值计算出一个输出。这就是神经网络的简单原理。
神经元和神经网络的结构
如上所述,神经网络的基本结构如下图所示:
神经网络一般都有多层,分为输入层,输出层和隐含层,层数越多,计算结果越精确,但所需的时间也就越长,所以实际应用中要根据要求设计网络层数。
神经网络中每一个节点叫做一个人工神经元,他对应于人脑中的神经元,两者的结构比较如下图:
加权求和阈值神经元模型
加权求和阈值
神经元模型
一个人工神经元一般有多个输入和一个输出,另外有一个激发函数,不同的激发函数对应了不同的网络,也决定了网络的用途。
神经网络的分类
神经网络按照网络结构和激发函数的不同可分为许多种,我们在此只是对感知器和BP网络进行简介。
感知器:
最早也是最简单的一种神经网络,它的神经元激发函数为阶跃函数,其神经元结构如下图:
感知器主要用于分类。
BP网络:
应用得最为广泛,最为重要的一种神经网络。这种网络一般有多层,网络结构如下:
OutputUnitsweightsHiddenUnitsweightsInputUnits
OutputUnits
weights
HiddenUnits
weights
InputUnits
BP网络的激发函数一般采用S型函数,如正切或对数函数,其神经元结构如下:
BP网络的用途十分广泛,可用于以下方面:
函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数
模式识别:用一个特定的输出矢量将它与输入矢量联系起来
分类:把输入矢量以所定义的合适方式进行分类
数据压缩:减少输出矢量维数以便于传输或存储
采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。
%例1采用动量梯度下降算法训练BP网络。
%训练样本定义如下:
%输入矢量为
%p=[-1-231
% -115-3]
%目标矢量为t=[-1-111]
closeall
clear
clc
%
%NEWFF——生成一个新的前向神经网络,函数格式:
%net=newff(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)takes,
%PR--Rx2matrixofminandmaxvaluesforRinputelements
%(对于R维输入,PR是一个Rx2的矩阵,每一行是相应输入的边界值)
%Si--第i层的维数
%TFi--第i层的传递函数,default='tansig'
%BTF--反向传播网络的训练函数,default='traingdx'
%BLF--反向传播网络的权值/阈值学习函数,default='learngdm'
%PF--性能函数,default='mse'
%
%TRAIN——对BP神经网络进行训练,函数格式:%train(NET,P,T,Pi,Ai,VV,TV),输入参数:
%net--所建立的网络
%P--网络的输入
%T--网络的目标值,default=zeros
%Pi--初始输入延迟,default=zeros
%Ai--初始网络层延迟,default=zeros
%VV--验证向量的结构,default=[]
%TV--测试向量的结构,default=[]
%返回值:
%net--训练之后的网络
%TR--训练记录(训练次数及每次训练的误差)
%Y--网络输出
%E--网络误差
%Pf--最终输入延迟
%Af--最终网络层延迟
%
%SIM——对BP神经网络进行仿真,函数格式:
%[Y,Pf,Af,E,perf]=sim(net,P,PiAi,T)
%参数与前同。
%
%
%定义训练样本
%P为输入矢量
echoon
P=[-1,-2, 3,1;
-1, 1, 5,-3];
%T为目标矢量
T=[-1,-1,1,1];
%创建一个新的前向神经网络
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')
% %训练函数:t
文档评论(0)