MATLAB博大精深,工具箱种类丰富,所以,学习matlab一定要利用好它的帮助系统。我这里只是窥探一下其中一角。
人工神经网络,是对人类大脑系统的一阶特性的一种描述。它是一个数学模型,可以用电子线路来实现,也可以用计算机程序来模拟,是人工智能研究的一种方法。在人工神经网络的发展中,对生物神经系统从不同的角度进行了不同层次的描述和模拟,提出了各种各样的神经网络模型。本章首先对人工神经网络的基本原理进行介绍,然后重点介绍了常用的感知器神经网络、线性神经网络、BP网络、径向基网络、概率神经网络等。人工神经网络发展迅速,已经广泛应用于许多领域。
人工神经网络( artifical neural network,ANN)是在生物神经网络( biological neural network, BNN)的基诎上发展起来的,是由大量处理单元广泛互联而成的网络,反映了人脑功能的基本特性。人工神经网络是对人脑的某种抽象、简化与模拟,是模拟人的智能的一种途径,但没有完全的真正反映大脑的功能。神经元是神经网络的基本处理单元,一个简化的神经元是多输入、单输出的非线性元件。单个神经元的结构和功能都比较简单,但是大量简单神经元相互连接而成的非线性动态系统非常复杂,在自学习、自组织、联想及容错方面具有较强的能力。
神经细胞由细胞体、树突和轴突组成。树突由细胞体向各个方向长出,是用来接收信号的。轴突也有许多的分支,通过分支的末梢和其他神经细胞的树突相接触,形成突触。神经细胞通过轴突和突触把产生的信号送到其他神经细胞。大脑的神经细胞只有两种状态:兴奋和抑制。神经细胞把所有从树突上突触进来的信号进行相加,如果全部信号的总和超过某个阀值,就会激发神经细胞进入兴奋状态,这时会有电信号通过轴突发送出去给其它神经细胞。如果信号总和没有达到阀值,神经细胞就不会兴奋。
MATLAB的神经网络工具箱,提供了大量的函数用于建立神经网络、网络的学习和训练,以及显示等。在命令行窗口中输入:help nnet,查看神经网络工具箱的版本和函数。
美国学者Rosenblatt于1958年提出了一种神经网络模型,即感知器( Perception),其重要贡献是提出了一种感知器的训练算法。感知器可以用于模式分类。感知器神经网络在神经网络的研究中有着重要意义和地位,其学习算法的自组织、自适应思想,是神经网络学习算法的基础。
在MATLAB的神经网络工具箱提供了很多的GUI工具:nntool工具、nctool工具、nftool工具、nprtool工具和nntraintool工具。nntool工具用于神经网络的创建,数据管理等,nctool工具是利用神经网络进行分类。nftool工具利用神经网络进行数据管理的聚类,采用SOM神经网络。. nprtool工具利用神经网络进行模式识别。nntraintool工具对神经网络进行训练。此外,还可以采用函数view()在图形界面中查看建立的神经网络。
在MATLAB中,采用函数newp()建立感知器神经网络,该函数的调用格式为:net=newp(P,T,TF,LF),各个参数如下:net为建立的感知器网络。为R×2的矩阵,由R组输入向量的最大值和最小值组成TF为网络的传输函数,可以为hardlim或hardlims,默认为hardlim.LF为网络的学习函数,可以为learnp或learnpn,默认为learnp.
线性神经网络的学习算法比感知器神经网络的学习算法的收敛速度和精度都有很大的提高,主要用于函数逼近、信号预测、系统辨识和模式识别等。下面对线性神经网络进行介绍。在MATLAB中,采用函数newlin()建立线性神经网络的一个线性层,利用该函数建立的线性神经网络还需要进行训练。利用函数maxlinlr()获取最大学习速率,然后采用函数newlin()建立线性神经网络,并采用函数train( )对网络进行训练。最后采用函数sim()对网络进行仿真。
BP网络是一种带有隐含层的多层前馈网络,在人工神经元网络的实际应用中,BP网络广泛用于函数逼近、模式识别、数据压缩等,BP网络或它的变化形式,体现了人工神经元网络最精华的部分。多层前馈网络的反向传播学习算法,简称BP算法,由该算法训练的神经网络,称之为BP神经网络。
在MATLAB中,通过函数newcf()创建级联前向网络,通过函数newff( )创建前向BP网络,通过函数newffd()创建.存在输入延迟的前向网络。本书只介绍利用函数newff( )创建BP网络。
径向基函数神经网络(RBFNN),简称径向基神经网络,是由Moody和Darken于20世纪80年代提出的一种神经网络结构。径向基神经网络是一种三层前馈网络,能够以任意精度逼近任意连续函数。径向基神经元和线性可以建立广义回归神经网络(Generalized Regression Neural Network,GRNN)。径向基神经元和竞争神经元建立概率神经网络(ProbabilisticNeural Network,PNN)。下面分别进行介绍。
径向基神经网络是一种三层前馈网络,包括:输入层、隐含层和输出层。第一层为输入层,由信号源节点构成,将网络与外界环境连接起来,节点数由输入数据的维数决定。第二层为隐含层,其节点由径向基函数构成,其作用是从输入空间到隐含层空间进行变换。第三层为输出层,对输入模式做出响应,输出节点由隐含层节点给出的基函数的线性组合计算。从输入层到隐含层的变换是非线性的,而从隐含层到输出层的变换是线性的。在MATLAB中,通过函数newrb()建立径向基神经网络,通过函数newrbe()建立精确的径向基神经网络。
形式,由径向基神经元和线性神经元组成。GRNN网络的训练速度快,非线出映射能力强,因此常用于函数逼近。在MATLAB中,采用函数newgrnn(()建立广义回归神经网络。该函数的调用格式为:net=newgrnn(P,T, spread),,其中P为输入向量,T为输出向量,spread为径向基函数的分布密度。
概率神经网络由径向基神经元和竞争神经元组成,经常用来解决分类问题。概率神经网络共分四层,分别为输入层、模式层、求和层和输出层。输入层的每个神经元均为单输入单输出,其传递函数也为线性的,只是将特征向量传递给网络。