精华内容
下载资源
问答
  • 人工神经网络

    千次阅读 2019-08-02 10:05:41
    人工神经网络(Artificial Neural Networks, ANN),是模拟生物神经网络进行信息处理的一种数学模型。 人工神经元是人工神经网络操作的基本信息处理单位。人工神经元的处理的模型如下: 一个人工神经元对输入信号 X...
    人工神经网络(Artificial Neural Networks, ANN),是模拟生物神经网络进行信息处理的一种数学模型。

    人工神经元是人工神经网络操作的基本信息处理单位。人工神经元的处理的模型如下:
    在这里插入图片描述
    一个人工神经元对输入信号 X = [ x 1 , x 2 , . . . x m ] T X =[x_1,x_2,...x_m]^T X=[x1,x2,...xm]T的输出 y = f ( u + b ) y=f(u+b) y=f(u+b),其中 ∑ i = 1 m w i x i \displaystyle \sum^{m}_{i=1}{w_ix_i} i=1mwixi


    人工神经网络的学习也称为训练,指的是神经网络在受到外部环境的刺激下调整神经网络的参数,使神经网络以一种新形式对外部环境作出反应的一个过程。在分类与预测中,人工神经网络主要使用有指导的学习方式,即根据给定的训练样本,调整人工神经网络的参数以使网络输出接近于已知的样本类标记或其他形式的因变量。
    激活函数主要有以下 4 4 4 种形式
    在这里插入图片描述
    在分类与预测中, δ \delta δ 学习规则(误差校正学习算法)是使用最广泛的一种。误差校正学习算法根据神经网络的输出误差对神经元的连接强度进行修正,属于有指导学习。设神经元 i i i 作为输入,神经元 j j j 作为输出神经元,它们的连接权值为 w i j w_{ij} wij,则对权值的修正为 Δ w i j = η δ j Y i \Delta w_{ij} = \eta\delta_jY_i Δwij=ηδjYi,其中 η \eta η 为学习效率, δ j = T j − Y j \delta_j = T_j-Y_j δj=TjYj j j j 的偏差,即输出神经元 j j j 的实际输出和教师信号之差,如图所示。


    在这里插入图片描述

    神经网络的训练是否完成常用误差函数(也称目标函数) E E E来衡量。当误差函数小于某一个设定的值时即停止神经网络的训练。误差函数为衡量实际输出向量 Y k Y_k Yk 与期望值向量 T k T_k Tk 误差大小的函数,常采用二乘误差函数来定义 E = 1 2 ∑ k = 1 N [ Y k − T k ] 2 , k = 1 , 2 , . . , N E=\frac{1}{2}\displaystyle \sum^{N}_{k=1}{[Y_k-T_k]^2},k=1,2,..,N E=21k=1N[YkTk]2,k=1,2,..,N为训练样本个数。

    人工神经网络算法

    算法名称算法描述
    BP神经网络是一种按误差逆传播算法训练的多层前馈网络,学习算法是 δ \delta δ 学习规则,是目前应用最广泛的神经网络模型之一
    LM神经网络是基于梯度下降法和牛顿法结合的多层前馈网络,特点:迭代次数少,收敛速度快,精确度高
    RBF径向神经网络RBF网络能够以任意精度逼近任意连续函数,从输入层到隐含层的变换是非线性的,而从隐含层到输出层的变换是线性的,特别适合于解决分类问题
    FNN模糊神经网络FNN模糊神经网络是具有模糊权系数或者输入信号是模糊量的神经网络,是模糊系统与神经网络想结合的产物,它汇聚了神经网络与模糊系统的优点,集联想、识别、自适应及模糊信息处理于一体
    GMDH神经网络GMDH网络也称为多项式网络,它是前馈神经网络中常用的一种用于预测的神经网络。它的特点是网络结构不固定,而且在训练过程中不断改变
    ANFIS自适应神经网络神经网络镶嵌在一个全部模糊的结构之中,在不知不觉中向训练数据学习,自动产生、修正并高度概况出最佳的输入与输出变量的隶属函数以及模糊规则;另外,神经网络的各层结构与参数也都具有了明确的、易于理解的物理意义

    人工神经网络——反向传播(Back Propagation, BP)算法
    BP算法是利用输出后的误差来估计输出层的直接前导层误差,再利用这个误差估计更前一层的误差,如此一层一层的反向传播下去,就获得所有其他各层的误差估计。这样就形成了将输出层表现出的误差沿着与输入传送相反的方向逐级向网络的输入层传递的过程。以典型的三层BP网络为例,描述标准的BP算法。假设有一个有3个输入节点,4个隐层节点,1个输出节点的三层BP神经网络。


    在这里插入图片描述

    BP算法的学习过程由信号的正向传播与误差逆向传播两个过程组成。正向传播时,输入信号经过隐层的处理后传向输出层。若输出层节点未能得到期望的输出,则转入误差的逆向传播阶段,将输出误差按照某种子形式,通过隐层向输入层返回,并“分摊”给隐层 4 个节点与输入层 x 1 、 x 2 、 x 3 x_1、x_2、x_3 x1x2x3三个输入节点,从而获得各层单元的参考误差或误差信号,作为修改各个单元权值的依据。这种信号正向传播与误差逆向传播的各层权矩阵的修改过程,是周而复始的。权值不断修改的过程,也就是网络学习(或训练)的过程。此过程一直进行到网络输出误差逐渐减少到可接受的程度或达到设定的学习次数为止。
    算法开始后,给定学习次数上限,初始化学习次数为 0,对权值和阈值赋予小的随机数,一般在 [ − 1 , 1 ] [-1,1] [1,1] 之间。输入样本数据,网络正向传播,得到中间层与输出层的值。比较输出层的值与教师信号值的误差,用误差函数 E E E 来判断误差是否小于误差上线,如不小于误差上限,则对中间层和输出层权值和阈值进行更新,更新的算法为 δ \delta δ 学习规则。更新权值和阈值后,再次将样本数据作为输入,得到中间层与输出层的值,计算误差 E E E 是否小于上限,学习次数是否达到指定值,如果达到,则学习结束。


    在这里插入图片描述

    BP算法值用到均方误差函数对权值和阈值的一阶导数(梯度)信息,使得算法存在收敛速度缓慢、易陷入局部极小等缺陷

    示例
    神经网络算法预测销量高低
    数据下载: sales_data.xls

    import pandas as pd
    from keras.models import Sequential
    from keras.layers.core import Dense, Activation
    
    def cm_plot(y, yp):
    
      from sklearn.metrics import confusion_matrix  # 导入混淆矩阵函数
    
      cm = confusion_matrix(y, yp)  # 混淆矩阵
    
      import matplotlib.pyplot as plt  # 导入作图库
    
      plt.matshow(cm, cmap=plt.cm.Greens)  # 画混淆矩阵图,配色风格使用cm.Greens,更多风格请参考官网。
    
      plt.colorbar()  # 颜色标签
    
      for x in range(len(cm)):  # 数据标签
    
        for y in range(len(cm)):
    
          plt.annotate(cm[x, y], xy=(x, y), horizontalalignment='center', verticalalignment='center')
    
      plt.ylabel('True label')  # 坐标轴标签
    
      plt.xlabel('Predicted label')  # 坐标轴标签
    
      return plt
    # 参数初始化
    inputfile = '../Data/sales_data.xls'
    data = pd.read_excel(inputfile, index_col=u'序号')  # 导入数据
    
    
    # 数据是类别标签,要将它转换为数据
    # 用1来表示“好” “是” “高” 这 3 个属性,用 0 来表示 “坏” “否” “低”
    data[data == u'好'] = 1
    data[data == u'是'] = 1
    data[data == u'高'] = 1
    data[data != 1] = 0
    x = data.iloc[:, :3].values.astype(int)
    y = data.iloc[:, 3].values.astype(int)
    
    
    model = Sequential()  # 建立模型
    model.add(Dense(input_dim=3, units=10, activation='relu'))  # 用relu函数作为激活函数,能够大幅度提供准确度
    model.add(Dense(input_dim=10, units=1, activation='sigmoid'))  # 由于是 0-1 输出,用 sigmoid 函数作为激活函数
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])  # 求解方法我们指定用 adam,还有sgd、rmsprop等可选
    model.fit(x, y, epochs=1000, batch_size=10)  # 训练模型,学习1000次,每次以10个样本为一个batch进行迭代
    yp = model.predict_classes(x).reshape(len(y))  # 分类预测
    cm_plot(y, yp).show()  # 显示混淆矩阵可视化结果
    

    效果:


    在这里插入图片描述

    从上图可以看出,样本检测为34个,预测正确的个数为 26 个,预测准确率为 76.4%,预测准确率较低,是由于神经网络训练时需要较多样本,而这里是由于训练数据较少造成的。
    目前神经网络(尤其是深度神经网络)中流行的防止过拟合的方法是随机地让部分神经网络节点休眠。

    展开全文
  • 本文综合整理常用的神经网络,包括生物神经网络、人工神经网络、卷积神经网络、循环神经网络、生成对抗网络;参考了许多高校的课程、论文、博客和视频等。文章的结构是先进行概念了解,然后结合图片、结构图、一步...

    前言

    本文综合整理常用的神经网络,包括生物神经网络、人工神经网络、卷积神经网络、循环神经网络、生成对抗网络;参考了许多高校的课程、论文、博客和视频等。文章的结构是先进行概念了解,然后结合图片、结构图、一步一步详细讲解;大家要不看看? ( •̀ ω •́ )y

    一、人工神经网络

    简介:人工神经网络 (Artificial Neural Network, ANN),由人工神经元构成的网络,模拟人类的大脑;它模拟生物过程以反映人脑某些特征的计算结构。

    联系人工神经元模拟生物神经元人工神经网络模拟人类的大脑,模拟生物神经网络

    特点:人工神经网络是一个并行、分布处理结构,具有学习能力、泛化能力。

    功能:联想记忆功能、非线性映射功能、分类与识别功能、知识处理功能。

    详细介绍一篇文章“简单”认识《人工神经网络》(更新版)

    目录大纲

      展开全文
    • 人工神经网络简介

      万次阅读 多人点赞 2015-12-12 14:20:37
      人工神经网络简介

      本文主要对人工神经网络基础进行了描述,主要包括人工神经网络的概念、发展、特点、结构、模型。

      本文是个科普文,来自网络资料的整理。

      一、             人工神经网络的概念

      人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型。该模型以并行分布的处理能力、高容错性、智能化和自学习等能力为特征,将信息的加工和存储结合在一起,以其独特的知识表示方式和智能化的自适应学习能力,引起各学科领域的关注。它实际上是一个有大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统。

      神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激活函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),神经网络就是通过这种方式来模拟人类的记忆。网络的输出则取决于网络的结构、网络的连接方式、权重和激活函数。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。神经网络的构筑理念是受到生物的神经网络运作启发而产生的。人工神经网络则是把对生物神经网络的认识与数学统计模型相结合,借助数学统计工具来实现。另一方面在人工智能学的人工感知领域,我们通过数学统计学的方法,使神经网络能够具备类似于人的决定能力和简单的判断能力,这种方法是对传统逻辑学演算的进一步延伸。

               人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。人工神经网络是一种非程序化、适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。

               神经网络,是一种应用类似于大脑神经突触连接结构进行信息处理的数学模型,它是在人类对自身大脑组织结合和思维机制的认识理解基础之上模拟出来的,它是根植于神经科学、数学、思维科学、人工智能、统计学、物理学、计算机科学以及工程科学的一门技术。

      二、             人工神经网络的发展

      神经网络的发展有悠久的历史。其发展过程大致可以概括为如下4个阶段。

      1.      第一阶段----启蒙时期

      (1)、M-P神经网络模型:20世纪40年代,人们就开始了对神经网络的研究。1943 年,美国心理学家麦克洛奇(Mcculloch)和数学家皮兹(Pitts)提出了M-P模型,此模型比较简单,但是意义重大。在模型中,通过把神经元看作个功能逻辑器件来实现算法,从此开创了神经网络模型的理论研究。

      (2)、Hebb规则:1949 年,心理学家赫布(Hebb)出版了《The Organization of Behavior》(行为组织学),他在书中提出了突触连接强度可变的假设。这个假设认为学习过程最终发生在神经元之间的突触部位,突触的连接强度随之突触前后神经元的活动而变化。这一假设发展成为后来神经网络中非常著名的Hebb规则。这一法则告诉人们,神经元之间突触的联系强度是可变的,这种可变性是学习和记忆的基础。Hebb法则为构造有学习功能的神经网络模型奠定了基础。

      (3)、感知器模型:1957 年,罗森勃拉特(Rosenblatt)以M-P 模型为基础,提出了感知器(Perceptron)模型。感知器模型具有现代神经网络的基本原则,并且它的结构非常符合神经生理学。这是一个具有连续可调权值矢量的MP神经网络模型,经过训练可以达到对一定的输入矢量模式进行分类和识别的目的,它虽然比较简单,却是第一个真正意义上的神经网络。Rosenblatt 证明了两层感知器能够对输入进行分类,他还提出了带隐层处理元件的三层感知器这一重要的研究方向。Rosenblatt 的神经网络模型包含了一些现代神经计算机的基本原理,从而形成神经网络方法和技术的重大突破。

      (4)、ADALINE网络模型: 1959年,美国著名工程师威德罗(B.Widrow)和霍夫(M.Hoff)等人提出了自适应线性元件(Adaptive linear element,简称Adaline)和Widrow-Hoff学习规则(又称最小均方差算法或称δ规则)的神经网络训练方法,并将其应用于实际工程,成为第一个用于解决实际问题的人工神经网络,促进了神经网络的研究应用和发展。ADALINE网络模型是一种连续取值的自适应线性神经元网络模型,可以用于自适应系统。

      2.      第二阶段----低潮时期

      人工智能的创始人之一Minsky和Papert对以感知器为代表的网络系统的功能及局限性从数学上做了深入研究,于1969年发表了轰动一时《Perceptrons》一书,指出简单的线性感知器的功能是有限的,它无法解决线性不可分的两类样本的分类问题,如简单的线性感知器不可能实现“异或”的逻辑关系等。这一论断给当时人工神经元网络的研究带来沉重的打击。开始了神经网络发展史上长达10年的低潮期。

      (1)、自组织神经网络SOM模型:1972年,芬兰的KohonenT.教授,提出了自组织神经网络SOM(Self-Organizing feature map)。后来的神经网络主要是根据KohonenT.的工作来实现的。SOM网络是一类无导师学习网络,主要用于模式识别﹑语音识别及分类问题。它采用一种“胜者为王”的竞争学习算法,与先前提出的感知器有很大的不同,同时它的学习训练方式是无指导训练,是一种自组织网络。这种学习训练方式往往是在不知道有哪些分类类型存在时,用作提取分类信息的一种训练。

      (2)、自适应共振理论ART:1976年,美国Grossberg教授提出了著名的自适应共振理论ART(Adaptive Resonance Theory),其学习过程具有自组织和自稳定的特征。

      3.      第三阶段----复兴时期

      (1)、Hopfield模型:1982年,美国物理学家霍普菲尔德(Hopfield)提出了一种离散神经网络,即离散Hopfield网络,从而有力地推动了神经网络的研究。在网络中,它首次将李雅普诺夫(Lyapunov)函数引入其中,后来的研究学者也将Lyapunov函数称为能量函数。证明了网络的稳定性。1984年,Hopfield 又提出了一种连续神经网络,将网络中神经元的激活函数由离散型改为连续型。1985 年,Hopfield和Tank利用Hopfield神经网络解决了著名的旅行推销商问题(Travelling Salesman Problem)。Hopfield神经网络是一组非线性微分方程。Hopfield的模型不仅对人工神经网络信息存储和提取功能进行了非线性数学概括,提出了动力方程和学习方程,还对网络算法提供了重要公式和参数,使人工神经网络的构造和学习有了理论指导,在Hopfield模型的影响下,大量学者又激发起研究神经网络的热情,积极投身于这一学术领域中。因为Hopfield 神经网络在众多方面具有巨大潜力,所以人们对神经网络的研究十分地重视,更多的人开始了研究神经网络,极大地推动了神经网络的发展。

      (2)、Boltzmann机模型:1983年,Kirkpatrick等人认识到模拟退火算法可用于NP完全组合优化问题的求解,这种模拟高温物体退火过程来找寻全局最优解的方法最早由Metropli等人1953年提出的。1984年,Hinton与年轻学者Sejnowski等合作提出了大规模并行网络学习机,并明确提出隐单元的概念,这种学习机后来被称为Boltzmann机。

      Hinton和Sejnowsky利用统计物理学的感念和方法,首次提出的多层网络的学习算法,称为Boltzmann 机模型。

      (3)、BP神经网络模型:1986年,儒默哈特(D.E.Ru melhart)等人在多层神经网络模型的基础上,提出了多层神经网络权值修正的反向传播学习算法----BP算法(Error Back-Propagation),解决了多层前向神经网络的学习问题,证明了多层神经网络具有很强的学习能力,它可以完成许多学习任务,解决许多实际问题。

      (4)、并行分布处理理论:1986年,由Rumelhart和McCkekkand主编的《Parallel Distributed Processing:Exploration in the Microstructures of Cognition》,该书中,他们建立了并行分布处理理论,主要致力于认知的微观研究,同时对具有非线性连续转移函数的多层前馈网络的误差反向传播算法即BP算法进行了详尽的分析,解决了长期以来没有权值调整有效算法的难题。可以求解感知机所不能解决的问题,回答了《Perceptrons》一书中关于神经网络局限性的问题,从实践上证实了人工神经网络有很强的运算能力。

      (5)、细胞神经网络模型:1988年,Chua和Yang提出了细胞神经网络(CNN)模型,它是一个细胞自动机特性的大规模非线性计算机仿真系统。Kosko建立了双向联想存储模型(BAM),它具有非监督学习能力。

      (6)、Darwinism模型:Edelman提出的Darwinism模型在90年代初产生了很大的影响,他建立了一种神经网络系统理论。

      (7)、1988年,Linsker对感知机网络提出了新的自组织理论,并在Shanon信息论的基础上形成了最大互信息理论,从而点燃了基于NN的信息应用理论的光芒。

      (8)、1988年,Broomhead和Lowe用径向基函数(Radialbasis function, RBF)提出分层网络的设计方法,从而将NN的设计与数值分析和线性适应滤波相挂钩。

      (9)、1991年,Haken把协同引入神经网络,在他的理论框架中,他认为,认知过程是自发的,并断言模式识别过程即是模式形成过程。

      (10)、1994年,廖晓昕关于细胞神经网络的数学理论与基础的提出,带来了这个领域新的进展。通过拓广神经网络的激活函数类,给出了更一般的时滞细胞神经网络(DCNN)、Hopfield神经网络(HNN)、双向联想记忆网络(BAM)模型。

      (11)、90年代初,Vapnik等提出了支持向量机(Supportvector machines, SVM)和VC(Vapnik-Chervonenkis)维数的概念。

      经过多年的发展,已有上百种的神经网络模型被提出。

      4.      第四阶段----高潮时期[注:自己分的,不准确 ^_^ ]

      深度学习(Deep Learning,DL)由Hinton等人于2006年提出,是机器学习(Machine Learning, ML)的一个新领域。深度学习本质上是构建含有多隐层的机器学习架构模型,通过大规模数据进行训练,得到大量更具代表性的特征信息。深度学习算法打破了传统神经网络对层数的限制,可根据设计者需要选择网络层数。

      关于深度学习的文章可以参考:http://blog.csdn.net/fengbingchun/article/details/50087005

      三、             人工神经网络的特点

      神经网络是由存储在网络内部的大量神经元通过节点连接权组成的一种信息响应网状拓扑结构,它采用了并行分布式的信号处理机制,因而具有较快的处理速度和较强的容错能力。

      1. 神经网络模型用于模拟人脑神经元的活动过程,其中包括对信息的加工、处理、存储、和搜索等过程。人工神经网络具有如下基本特点:

      (1)、高度的并行性:人工神经网络有许多相同的简单处理单元并联组合而成,虽然每一个神经元的功能简单,但大量简单神经元并行处理能力和效果,却十分惊人。人工神经网络和人类的大脑类似,不但结构上是并行的,它的处理顺序也是并行和同时的。在同一层内的处理单元都是同时操作的,即神经网络的计算功能分布在多个处理单元上,而一般计算机通常有一个处理单元,其处理顺序是串行的。

      人脑神经元之间传递脉冲信号的速度远低于冯·诺依曼计算机的工作速度,前者为毫秒量级,后者的时钟频率通常可达108Hz 或更高的速率。但是,由于人脑是一个大规模并行与串行组合处理系统,因而在许多问题上可以做出快速判断、决策和处理,其速度可以远高于串行结构的冯·诺依曼计算机。人工神经网络的基本结构模仿人脑,具有并行处理的特征,可以大大提高工作速度。

      (2)、高度的非线性全局作用:人工神经网络每个神经元接受大量其他神经元的输入,并通过并行网络产生输出,影响其他神经元,网络之间的这种互相制约和互相影响,实现了从输入状态到输出状态空间的非线性映射,从全局的观点来看,网络整体性能不是网络局部性能的叠加,而表现出某种集体性的行为。

      非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性人工神经网络。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。

      (3)、联想记忆功能和良好的容错性:人工神经网络通过自身的特有网络结构将处理的数据信息存储在神经元之间的权值中,具有联想记忆功能,从单一的某个权值并看不出其所记忆的信息内容,因而是分布式的存储形式,这就使得网络有很好的容错性,并可以进行特征提取、缺损模式复原、聚类分析等模式信息处理工作,又可以作模式联想、分类、识别工作。它可以从不完善的数据和图形中进行学习并做出决定。由于知识存在于整个系统中,而不只是一个存储单元中,预订比例的结点不参与运算,对整个系统的性能不会产生重大的影响。能够处理那些有噪声或不完全的数据,具有泛化功能和很强的容错能力。

      一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。

      (4)、良好的自适应、自学习功能:人工神经网络通过学习训练获得网络的权值与结构,呈现出很强的自学习能力和对环境的自适应能力。神经网络所具有的自学习过程模拟了人的形象思维方法,这是与传统符号逻辑完全不同的一种非逻辑非语言。自适应性根据所提供的数据,通过学习和训练,找出输入和输出之间的内在关系,从而求取问题的解,而不是依据对问题的经验知识和规则,因而具有自适应功能,这对于弱化权重确定人为因素是十分有益的。

      (5)、知识的分布存储:在神经网络中,知识不是存储在特定的存储单元中,而是分布在整个系统中,要存储多个知识就需要很多链接。在计算机中,只要给定一个地址就可得到一个或一组数据。在神经网络中要获得存储的知识则采用“联想”的办法,这类似人类和动物的联想记忆。人类善于根据联想正确识别图形,人工神经网络也是这样。神经网络采用分布式存储方式表示知识,通过网络对输入信息的响应将激活信号分布在网络神经元上,通过网络训练和学习使得特征被准确地记忆在网络的连接权值上,当同样的模式再次输入时网络就可以进行快速判断。

      (6)、非凸性:一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。

      正是神经网络所具有的这种学习和适应能力、自组织、非线性和运算高度并行的能力,解决了传统人工智能对于直觉处理方面的缺陷,例如对非结构化信息、语音模式识别等的处理,使之成功应用于神经专家系统、组合优化、智能控制、预测、模式识别等领域。

      2. 人工神经网络是一种旨在模仿人脑结构及其功能的信息处理系统。因此,它在功能上具有某些智能特点:

      (1)、联想记忆功能:由于神经网络具有分布存储信息和并行计算的性能,因此它具有对外界刺激和输入信息进行联想记忆的能力。这种能力是通过神经元之间的协同结构及信息处理的集体行为而实现的。神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整的信息。这一功能使神经网络在图像复原﹑语音处理﹑模式识别与分类方面具有重要的应用前景。联想记忆又分自联想记忆和异联想记忆两种。

      (2)、分类与识别功能:神经网络对外界输入样本有很强的识别与分类能力。对输入样本的分类实际上是在样本空间找出符合分类要求的分割区域,每个区域内的样本属于一类。

      (3)、优化计算功能:优化计算是指在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。将优化约束信息(与目标函数有关)存储于神经网络的连接权矩阵之中,神经网络的工作状态以动态系统方程式描述。设置一组随机数据作为起始条件,当系统的状态趋于稳定时,神经网络方程的解作为输出优化结果。优化计算在TSP及生产调度问题上有重要应用。

      (4)、非线性映射功能:在许多实际问题中,如过程控制﹑系统辨识﹑故障诊断﹑机器人控制等诸多领域,系统的输入与输出之间存在复杂的非线性关系,对于这类系统,往往难以用传统的数理方程建立其数学模型。神经网络在这方面有独到的优势,设计合理的神经网络通过对系统输入输出样本进行训练学习,从理论上讲,能够以任意精度逼近任意复杂的非线性函数。神经网络的这一优良性能使其可以作为多维非线性函数的通用数学模型。

      四、             人工神经网络的结构

      1. 生物神经元的结构:神经细胞是构成神经系统的基本单元,称之为生物神经元,简称神经元。神经元主要由三部分构成:(1)细胞体;(2)轴突;(3)树突。如下图所示:


      突触是神经元之间相互连接的接口部分,即一个神经元的神经末梢与另一个神经元的树突相接触的交界面,位于神经元的神经末梢尾端。突触是轴突的终端。

      大脑可视作为1000多亿神经元组成的神经网络。神经元的信息传递和处理是一种电化学活动.树突由于电化学作用接受外界的刺激,通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位;再通过轴突末梢传递给其它的神经元.从控制论的观点来看;这一过程可以看作一个多输入单输出非线性系统的动态过程。

      神经元的功能特性:(1)时空整合功能;(2)神经元的动态极化性;(3)兴奋与抑制状态;(4)结构的可塑性;(5)脉冲与电位信号的转换;(6)突触延期和不应期;(7)学习、遗忘和疲劳。

      2.  人工神经元结构:人工神经元的研究源于脑神经元学说,19世纪末,在生物、生理学领域,Waldeger等人创建了神经元学说。

      人工神经网络是由大量处理单元经广泛互连而组成的人工网络,用来模拟脑神经系统的结构和功能。而这些处理单元我们把它称作人工神经元 人工神经网络可看成是以人工神经元为节点,用有向加权弧连接起来的有向图。在此有向图中,人工神经元就是对生物神经元的模拟,而有向弧则是轴突----突触----树突对的模拟。有向弧的权值表示相互连接的两个人工神经元间相互作用的强弱。人工神经元结构如下图所示:


      神经网络从两个方面模拟大脑:

      (1)、神经网络获取的知识是从外界环境中学习得来的。

      (2)、内部神经元的连接强度,即突触权值,用于储存获取的知识。

      神经网络系统由能够处理人类大脑不同部分之间信息传递的由大量神经元连接形成的拓扑结构组成,依赖于这些庞大的神经元数目和它们之间的联系,人类的大脑能够收到输入的信息的刺激由分布式并行处理的神经元相互连接进行非线性映射处理,从而实现复杂的信息处理和推理任务。

      对于某个处理单元(神经元)来说,假设来自其他处理单元(神经元)i的信息为X i,它们与本处理单元的互相作用强度即连接权值为W i, i=0,1,…,n-1,处理单元的内部阈值为θ。

      那么本处理单元(神经元)的输入为:,而处理单元的输出为:

      式中,xi为第i个元素的输入,wi为第i个处理单元与本处理单元的互联权重即神经元连接权值。f称为激活函数或作用函数,它决定节点(神经元)的输出。θ表示隐含层神经节点的阈值。

      神经网络的主要工作是建立模型和确定权值,一般有前向型和反馈型两种网络结构。通常神经网络的学习和训练需要一组输入数据和输出数据对,选择网络模型和传递、训练函数后,神经网络计算得到输出结果,根据实际输出和期望输出之间的误差进行权值的修正,在网络进行判断的时候就只有输入数据而没有预期的输出结果。神经网络一个相当重要的能力是其网络能通过它的神经元权值和阈值的不断调整从环境中进行学习,直到网络的输出误差达到预期的结果,就认为网络训练结束。

      对于这样一种多输入、单输出的基本单元可以进一步从生物化学、电生物学、数学等方面给出描述其功能的模型。利用大量神经元相互连接组成的人工神经网络,将显示出人脑的若干特征,人工神经网络也具有初步的自适应与自组织能力。在学习或训练过程中改变突触权重wij值,以适应周围环境的要求。同一网络因学习方式及内容不同可具有不同的功能。人工神经网络是一个具有学习能力的系统,可以发展知识,以至超过设计者原有的知识水平。通常,它的学习(或训练)方式可分为两种,一种是有监督(supervised)或称有导师的学习,这时利用给定的样本标准进行分类或模仿;另一种是无监督(unsupervised)学习或称无导师学习,这时,只规定学习方式或某些规则,而具体的学习内容随系统所处环境(即输入信号情况)而异,系统可以自动发现环境特征和规律性,具有更近似于人脑的功能。

      在人工神经网络设计及应用研究中,通常需要考虑三个方面的内容,即神经元激活函数、神经元之间的连接形式和网络的学习(训练)。

      3. 神经网络的学习形式:在构造神经网络时,其神经元的传递函数和转换函数就已经确定了。在网络的学习过程中是无法改变转换函数的,因此如果想要改变网络输出的大小,只能通过改变加权求和的输入来达到。由于神经元只能对网络的输入信号进行响应处理,想要改变网络的加权输入只能修改网络神经元的权参数,因此神经网络的学习就是改变权值矩阵的过程。

      4. 神经网络的工作过程:神经网络的工作过程包括离线学习和在线判断两部分。学习过程中各神经元进行规则学习,权参数调整,进行非线性映射关系拟合以达到训练精度;判断阶段则是训练好的稳定的网络读取输入信息通过计算得到输出结果。

      5. 神经网络的学习规则:神经网络的学习规则是修正权值的一种算法,分为联想式和非联想式学习,有监督学习和无监督学习等。下面介绍几个常用的学习规则。

      (1)、误差修正型规则:是一种有监督的学习方法,根据实际输出和期望输出的误差进行网络连接权值的修正,最终网络误差小于目标函数达到预期结果。

      误差修正法,权值的调整与网络的输出误差有关, 它包括δ学习规则、Widrow-Hoff学习规则、感知器学习规则和误差反向传播的BP(Back Propagation)学习规则等。

      (2)、竞争型规则:无监督学习过程,网络仅根据提供的一些学习样本进行自组织学习,没有期望输出,通过神经元相互竞争对外界刺激模式响应的权利进行网络权值的调整来适应输入的样本数据。

      对于无监督学习的情况,事先不给定标准样本,直接将网络置于“环境”之中,学习(训练)阶段与应用(工作)阶段成为一体。

      (3)、Hebb型规则:利用神经元之间的活化值(激活值)来反映它们之间联接性的变化,即根据相互连接的神经元之间的活化值(激活值)来修正其权值。

      在Hebb学习规则中,学习信号简单地等于神经元的输出。Hebb学习规则代表一种纯前馈﹑无导师学习。该学习规则至今在各种神经网络模型中起着重要作用。典型的应用如利用Hebb规则训练线性联想器的权矩阵。

      (4)、随机型规则:在学习过程中结合了随机、概率论和能量函数的思想,根据目标函数(即网络输出均方差)的变化调整网络的参数,最终使网络目标函数达到收敛值。

      6. 激活函数:在神经网络中,网络解决问题的能力与效率除了与网络结构有关外,在很大程度上取决于网络所采用的激活函数。激活函数的选择对网络的收敛速度有较大的影响,针对不同的实际问题,激活函数的选择也应不同。

      神经元在输入信号作用下产生输出信号的规律由神经元功能函数f(Activation Function)给出,也称激活函数,或称转移函数,这是神经元模型的外特性。它包含了从输入信号到净输入、再到激活值、最终产生输出信号的过程。综合了净输入、f函数的作用。f函数形式多样,利用它们的不同特性可以构成功能各异的神经网络。

      常用的激活函数有以下几种形式:

      (1)、阈值函数:该函数通常也称为阶跃函数。当激活函数采用阶跃函数时,人工神经元模型即为MP模型。此时神经元的输出取1或0,反应了神经元的兴奋或抑制。

      (2)、线性函数:该函数可以在输出结果为任意值时作为输出神经元的激活函数,但是当网络复杂时,线性激活函数大大降低网络的收敛性,故一般较少采用。

      (3)、对数S形函数:对数S形函数的输出介于0~1之间,常被要求为输出在0~1范围的信号选用。它是神经元中使用最为广泛的激活函数。

      (4)、双曲正切S形函数:双曲正切S形函数类似于被平滑的阶跃函数,形状与对数S形函数相同,以原点对称,其输出介于-1~1之间,常常被要求为输出在-1~1范围的信号选用。

      7. 神经元之间的连接形式:神经网络是一个复杂的互连系统,单元之间的互连模式将对网络的性质和功能产生重要影响。互连模式种类繁多。

      (1)、前向网络(前馈网络):网络可以分为若干“层”,各层按信号传输先后顺序依次排列,第i层的神经元只接受第(i-1)层神经元给出的信号,各神经元之间没有反馈。前馈型网络可用一有向无环路图表示,如下图所示:


      可以看出,输入节点并无计算功能,只是为了表征输入矢量各元素值。各层节点表示具有计算功能的神经元,称为计算单元。每个计算单元可以有任意个输入,但只有一个输出,它可送到多个节点作输入。称输入节点层为第零层。计算单元的各节点层从下至上依次称为第1至第N层,由此构成N层前向网络。(也有把输入节点层称为第1层,于是对N层网络将变为N+1个节点层序号。)

      第一节点层与输出节点统称为“可见层”,而其他中间层则称为隐含层(hidden layer),这些神经元称为隐节点。BP网络就是典型的前向网络。

      (2)、反馈网络:典型的反馈型神经网络如下图a所示:


      每个节点都表示一个计算单元,同时接受外加输入和其它各节点的反馈输入,每个节点也都直接向外部输出。Hopfield网络即属此种类型。在某些反馈网络中,各神经元除接受外加输入与其它各节点反馈输入之外,还包括自身反馈。有时,反馈型神经网络也可表示为一张完全的无向图,如上图b。图中,每一个连接都是双向的。这里,第i个神经元对于第j个神经元的反馈与第j至i神经元反馈之突触权重相等,也即wij=wji

      以上介绍了两种最基本的人工神经网络结构,实际上,人工神经网络还有许多种连接形式,例如,从输出层到输入层有反馈的前向网络,同层内或异层间有相互反馈的多层网络等等。

      五、             人工神经网络模型

      1.        人工神经网络的分类:

      按性能分:连续型和离散型网络,或确定型和随机型网络。

      按拓扑结构分:前向网络和反馈网络。

      前向网络有自适应线性神经网络(AdaptiveLinear,简称Adaline)、单层感知器、多层感知器、BP等。

      前向网络,网络中各个神经元接受前一级的输入,并输出到下一级,网络中没有反馈,可以用一个有向无环路图表示。这种网络实现信号从输入空间到输出空间的变换,它的信息处理能力来自于简单非线性函数的多次复合。网络结构简单,易于实现。反传网络是一种典型的前向网络。

      反馈网络有Hopfield、Hamming、BAM等。

      反馈网络,网络内神经元间有反馈,可以用一个无向的完备图表示。这种神经网络的信息处理是状态的变换,可以用动力学系统理论处理。系统的稳定性与联想记忆功能有密切关系。Hopfield网络、波耳兹曼机均属于这种类型。

      按学习方法分:有教师(监督)的学习网络和无教师(监督)的学习网络。

      按连接突触性质分:一阶线性关联网络和高阶非线性关联网络。

      2.        生物神经元模型:人脑是自然界所造就的高级动物,人的思维是由人脑来完成的,而思维则是人类智能的集中体现。人脑的皮层中包含100亿个神经元、60万亿个神经突触,以及他们的连接体。神经系统的基本结构和功能单位就是神经细胞,即神经元,它主要由细胞体、树突、轴突和突触组成。人类的神经元具备以下几个基本功能特性:时空整合功能;神经元的动态极化性;兴奋与抑制状态;结构的可塑性;脉冲与电位信号的转换;突触延期和不延期;学习、遗忘和疲劳;神经网络是由大量的神经元单元相互连接而构成的网络系统。

      3.        人工神经网络模型:人工神经网络,使通过模仿生物神经网络的行为特征,进行分布式并行信息处理的数学模型。这种网络依靠系统的复杂度,通过调整内部大量节点之间相互连接的关系,从而达到信息处理的目的。人工神经网络具有自学习和自适应的能力,可以通过预先提供的一批相互对应的输入输出数据,分析两者的内在关系和规律,最终通过这些规律形成一个复杂的非线性系统函数,这种学习分析过程被称作“训练”。神经元的每一个输入连接都有突触连接强度,用一个连接权值来表示,即将产生的信号通过连接强度放大,每一个输入量都对应有一个相关联的权重。处理单元将经过权重的输入量化,然后相加求得加权值之和,计算出输出量,这个输出量是权重和的函数,一般称此函数为传递函数。

      4.        感知器模型:

      感知器模型是美国学者罗森勃拉特(Rosenblatt)为研究大脑的存储、学习和认知过程而提出的一类具有自学习能力的神经网络模型,它把神经网络的研究从纯理论探讨引向了从工程上的实现。

      Rosenblatt提出的感知器模型是一个只有单层计算单元的前向神经网络,称为单层感知器。

      单层感知器模型的学习算法,算法思想:首先把连接权和阈值初始化为较小的非零随机数,然后把有n个连接权值的输入送入网络,经加权运算处理,得到的输出如果与所期望的输出有较大的差别,就对连接权值参数按照某种算法进行自动调整,经过多次反复,直到所得到的输出与所期望的输出间的差别满足要求为止。

      线性不可分问题:单层感知器不能表达的问题被称为线性不可分问题。 1969年,明斯基证明了“异或”问题是线性不可分问题。

      线性不可分函数的数量随着输入变量个数的增加而快速增加,甚至远远超过了线性可分函数的个数。也就是说,单层感知器不能表达的问题的数量远远超过了它所能表达的问题的数量。

      多层感知器:在单层感知器的输入部分和输出层之间加入一层或多层处理单元,就构成了二层或多层感知器。

      在多层感知器模型中,只允许某一层的连接权值可调,这是因为无法知道网络隐层的神经元的理想输出,因而难以给出一个有效的多层感知器学习算法。

      多层感知器克服了单层感知器的许多缺点,原来一些单层感知器无法解决的问题,在多层感知器中就可以解决。例如,应用二层感知器就可以解决异或逻辑运算问题

      5.        反向传播模型:

      反向传播模型也称B-P模型,是一种用于前向多层的反向传播学习算法。之所以称它是一种学习方法,是因为用它可以对组成前向多层网络的各人工神经元之间的连接权值进行不断的修改,从而使该前向多层网络能够将输入它的信息变换成所期望的输出信息。之所以将其称作为反向学习算法,是因为在修改各人工神经元的连接权值时,所依据的是该网络的实际输出与其期望的输出之差,将这一差值反向一层一层的向回传播,来决定连接权值的修改。

      B-P算法的网络结构是一个前向多层网络。它是在1986年,由Rumelhant和Mcllelland提出的。是一种多层网络的“逆推”学习算法。其基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出不符,则转向误差的反向传播阶段。误差的反向传播是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行。权值不断调整过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。

      反向传播网络的学习算法:B-P算法的学习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。

      学习过程由正向传播和反向传播组成。

      正向传播用于对前向网络进行计算,即对某一输入信息,经过网络计算后求出它的输出结果。

      反向传播用于逐层传递误差,修改神经元间的连接权值,以使网络对输入信息经过计算后所得到的输出能达到期望的误差要求。

      B-P算法的学习过程如下:

      (1)、选择一组训练样例,每一个样例由输入信息和期望的输出结果两部分组成。

      (2)、从训练样例集中取一样例,把输入信息输入到网络中。

      (3)、分别计算经神经元处理后的各层节点的输出。

      (4)、计算网络的实际输出和期望输出的误差。

      (5)、从输出层反向计算到第一个隐层,并按照某种能使误差向减小方向发展的原则,调整网络中各神经元的连接权值。

      (6)、对训练样例集中的每一个样例重复(3)-(5)的步骤,直到对整个训练样例集的误差达到要求时为止。

      在以上的学习过程中,第(5)步是最重要的,如何确定一种调整连接权值的原则,使误差沿着减小的方向发展,是B-P学习算法必须解决的问题。

      B-P算法的优缺点:

      优点:理论基础牢固,推导过程严谨,物理概念清晰,通用性好等。所以,它是目前用来训练前向多层网络较好的算法。

      缺点:(1)、该学习算法的收敛速度慢;(2)、网络中隐节点个数的选取尚无理论上的指导;(3)、从数学角度看,B-P算法是一种梯度最速下降法,这就可能出现局部极小的问题。当出现局部极小时,从表面上看,误差符合要求,但这时所得到的解并不一定是问题的真正解。所以B-P算法是不完备的。

      BP算法局限性:

      (1)、在误差曲面上有些区域平坦,此时误差对权值的变化不敏感,误差下降缓慢,调整时间长,影响收敛速度。这时误差的梯度变化很小,即使权值的调整量很大,误差仍然下降很慢。造成这种情况的原因与各节点的净输入过大有关。

      (2)、存在多个极小点。从两维权空间的误差曲面可以看出,其上存在许多凸凹不平,其低凹部分就是误差函数的极小点。可以想象多维权空间的误差曲面,会更加复杂,存在更多个局部极小点,它们的特点都是误差梯度为0。BP算法权值调整依据是误差梯度下降,当梯度为0时,BP算法无法辨别极小点性质,因此训练常陷入某个局部极小点而不能自拔,使训练难以收敛于给定误差。

      BP算法改进:误差曲面的平坦区将使误差下降缓慢,调整时间加长,迭代次数增多,影响收敛速度;而误差曲面存在的多个极小点会使网络训练陷入局部极小,从而使网络训练无法收敛于给定误差。这两个问题是BP网络标准算法的固有缺陷。

      针对此,国内外不少学者提出了许多改进算法,几种典型的改进算法:

      (1)、增加动量项:标准BP算法在调整权值时,只按t时刻误差的梯度下降方向调整,而没有考虑t时刻以前的梯度方向,从而常使训练过程发生振荡,收敛缓慢。为了提高训练速度,可以在权值调整公式中加一动量项。大多数BP算法中都增加了动量项,以至于有动量项的BP算法成为一种新的标准算法。

      (2)、可变学习速度的反向传播算法(variable learning rate back propagation,VLBP):多层网络的误差曲面不是二次函数。曲面的形状随参数空间区域的不同而不同。可以在学习过程中通过调整学习速度来提高收敛速度。技巧是决定何时改变学习速度和怎样改变学习速度。可变学习速度的VLBP算法有许多不同的方法来改变学习速度。

      (3)、学习速率的自适应调节:可变学习速度VLBP算法,需要设置多个参数,算法的性能对这些参数的改变往往十分敏感,另外,处理起来也较麻烦。此处给出一简洁的学习速率的自适应调节算法。学习率的调整只与网络总误差有关。学习速率η也称步长,在标准BP中是一常数,但在实际计算中,很难给定出一个从始至终都很合适的最佳学习速率。从误差曲面可以看出,在平坦区内η太小会使训练次数增加,这时候希望η值大一些;而在误差变化剧烈的区域,η太大会因调整过量而跨过较窄的“凹坑”处,使训练出现振荡,反而使迭代次数增加。为了加速收敛过程,最好是能自适应调整学习率η,使其该大则大,该小则小。比如可以根据网络总误差来调整.

      (4)、引入陡度因子----防止饱和:误差曲面上存在着平坦区。其权值调整缓慢的原因在于S转移函数具有饱和特性造成的。如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的饱和区,就可改变误差函数的形状,从而使调整脱离平坦区。实现这一思路的具体作法是在转移函数中引进一个陡度因子。

      BP神经网络设计的一般原则:关于它的开发设计,大多数是根据使用者的经验来设计网络结构﹑功能函数﹑学习算法﹑样本等。

      [1]、BP网络参数设计

      (1)、BP网络输入与输出参数的确定

      A、输入量的选择:

      a、输入量必须选择那些对输出影响大且能够检测或提取的变量;

      b、各输入量之间互不相关或相关性很小。从输入、输出量性质分类来看,可以分为两类:数值变量和语言变量。数值变量又分为连续变量或离散变量。如常见的温度,压力,电压,电流等就是连续变量;语言变量是用自然语言表示的概念。如红,绿,蓝;男,女;大,中,小,开,关,亮,暗等。一般来说,语言变量在网络处理时,需要转化为离散变量。

      c、输入量的表示与提取:多数情况下,直接送给神经网络的输入量无法直接得到,常常需要用信号处理与特征提取技术从原始数据中提取能反映其特征的若干参数作为网络输入。

      B、输出量选择与表示:

      a、输出量一般代表系统要实现的功能目标,如分类问题的类别归属等;

      b、输出量表示可以是数值也可是语言变量;

      (2)、训练样本集的设计

      网络的性能与训练用的样本密切相关,设计一个好的训练样本集既要注意样本规模,又要注意样本质量。

      A、样本数目的确定:一般来说样本数n越多,训练结果越能正确反映其内在规律,但样本的获取往往有一定困难,另一方面,当样本数n达到一定数量后,网络的精度也很难提高。

      选择原则:网络规模越大,网络映射关系越复杂,样本数越多。一般说来,训练样本数是网络连接权总数的5~10倍,但许多情况难以达到这样的要求。

      B、样本的选择和组织:

      a、样本要有代表性,注意样本类别的均衡;

      b、样本的组织要注意将不同类别的样本交叉输入;

      c、网络的训练测试,测试标准是看网络是否有好的泛化能力。测试做法:不用样本训练集中数据测试。一般是将收集到的可用样本随机地分成两部分,一部分为训练集,另一部分为测试集。若训练样本误差很小,而对测试集的样本误差很大,泛化能力差。

      (3)、初始权值的设计

      网络权值的初始化决定了网络的训练从误差曲面的哪一点开始,因此初始化方法对缩短网络的训练时间至关重要。

      神经元的作用函数是关于坐标点对称的,若每个节点的净输入均在零点附近,则输出均出在作用函数的中点,这个位置不仅远离作用函数的饱和区,而且是其变化最灵敏的区域,必使网络学习加快。从神经网络净输入表达式来看,为了使各节点的初始净输入在零点附近,如下两种方法被常常使用:

      A、取足够小的初始权值;

      B、使初始值为+1和-1的权值数相等。

      [2]、BP网络结构参数设计

      隐层结构设计

      (1)、隐层数设计:理论证明,具有单隐层的前馈网络可以映射所有连续函数,只有当学习不连续函数时才需要两个隐层,故一般情况隐层最多需要两层。一般方法是先设一个隐层,当一个隐层的节点数很多,仍不能改善网络性能时,再增加一个隐层。最常用的BP神经网络结构是3层结构,即输入层﹑输出层和1个隐层。

      (2)、隐层节点数设计:隐层节点数目对神经网络的性能有一定的影响。隐层节点数过少时,学习的容量有限,不足以存储训练样本中蕴涵的所有规律;隐层节点过多不仅会增加网络训练时间,而且会将样本中非规律性的内容如干扰和噪声存储进去。反而降低泛化能力。一般方法是凑试法:

      6.        Hopfield模型:

      Hopfield模型是霍普菲尔德分别于1982年及1984提出的两个神经网络模型。1982年提出的是离散型,1984年提出的是连续型,但它们都是反馈网络结构。

      由于在反馈网络中,网络的输出要反复地作为输入再送入网络中,这就使得网络具有了动态性,网络的状态在不断的改变之中,因而就提出了网络的稳定性问题。所谓一个网络是稳定的是指从某一时刻开始,网络的状态不再改变。

          设用X(t)表示网络在时刻t的状态,如果从t=0的任一初态X(0)开始,存在一个有限的时刻t,使得从此时刻开始神经网络的状态不再发生变化,就称此网络是稳定的。

      离散网络模型是一个离散时间系统,每个神经元只有两个状态,可以用1和0来表示,由连接权值Wij所构成的矩阵是一个对角线为0的对称矩阵。

      Hopfield网络离散模型有两种工作模式:

      (1)、串行方式,是指在任一时刻t,只有一个神经元i发生状态变化,而其余的神经元保持状态不变。

      (2)、并行方式,是指在任一时刻t,都有部分或全体神经元同时改变状态。

       有关离散的Hopfield网络的稳定性问题,已于1983年由Cohen和Grossberg给于了证明。而Hopfield等人又进一步证明,只要连接权值构成的矩阵是非负对角元的对称矩阵,则该网络就具有串行稳定性。

      1984年,Hopfield又提出了连续时间的神经网络,在这种神经网络中,各节点可在0到1的区间内取任一实数值。

      Hopfield网络是一种非线性的动力网络,可通过反复的网络动态迭代来求解问题,这是符号逻辑方法所不具有的特性。在求解某些问题时,其求解问题的方法与人类求解问题的方法很相似,虽然所求得的解不是最佳解,但其求解速度快,更符合人们日常解决问题的策略。

      Hopfield递归网络是美国加洲理工学院物理学家J.J.Hopfield教授于1983年提出的。Hopfield网络按网络输入和输出的数字形式不同可分为离散型和连续型两种网络,即:离散型Hopfield神经网络----DHNN(Discrete Hopfield Neural Network);连续型Hopfield神经网络----CHNN(ContinuesHopfield Neural Network)。

               DHNN结构:它是一种单层全反馈网络,共有n个神经元。每个神经元都通过连接权接收所有其它神经元输出反馈来的信息,其目的是为了让任一神经元的输出能接受所有神经元输出的控制,从而使各神经元能相互制约。

      DHNN的设计原则:吸引子的分布是由网络的权值(包括阀值)决定的,设计吸引子的核心就是如何设计一组合适的权值。为了使所设计的权值满足要求,权值矩阵应符合以下要求:(1)、为保证异步方式工作时网络收敛,W应为对称阵;(2)、为保证同步方式工作时网络收敛,W应为非负定对称阵;(3)、保证给定的样本是网络的吸引子,并且要有一定的吸引域。

      具体设计时,可以采用不同的方法:(1)、联立方程法;(2)、外积和法。

               CHNN:在连续型Hopfield神经网络中,所有神经元都随时间t并行更新,网络状态随时间连续改变。

      Hopfield网络的主要功能

      Hopfield神经网络的提出就是与其实际应用密切相关。其主要功能在以下两个方面。

      (1)、联想记忆:输入--输出模式的各元素之间,并不存在一对一的映射关系,输入--输出模式的维数也不要求相同;联想记忆时,只给出输入模式部分信息,就能联想出完整的输出模式。即具有容错性。

      (2)、CHNN的优化计算功能.

      应用Hopfield 神经网络来解决优化计算问题的一般步骤为:

      A、分析问题:网络输出与问题的解相对应。

      B、构造网络能量函数:构造合适的网络能量函数,使其最小值对应问题最佳解。

      C、设计网络结构:将能量函数与标准式相比较,定出权矩阵与偏置电流。

      D、由网络结构建立网络的电子线路并运行,稳态--优化解或计算机模拟运行。

      7.        BAM模型

      神经网络的联想记忆功能可以分为两种,一是自联想记忆,另一种是异联想记忆。Hopfield神经网络就属于自联想记忆。由Kosko B.1988 年提出的双向联想记忆神经网络BAM(Bidirectional Associative Memory)属于异联想记忆。BAM有离散型﹑连续型和自适应型等多种形式。

      8.        CMAC模型

      BP神经网络﹑Hopfield神经网络和BAM双向联想记忆神经网络分别属于前馈和反馈神经网络,这主要是从网络的结构来划分的。如果从神经网络的函数逼近功能这个角度来分,神经网络可以分为全局逼近网络和局部逼近网络。当神经网络的一个或多个可调参数(权值和阈值)在输入空间的每一点对任何一个输出都有影响,则称该神经网络为全局逼近网络,多层前馈BP网络是全局逼近网络的典型例子。对于每个输入输出数据对,网络的每一个连接权均需进行调整,从而导致全局逼近网络学习速度很慢,对于有实时性要求的应用来说常常是不可容忍的。如果对网络输入空间的某个局部区域只有少数几个连接权影响网络输出,则称网络为局部逼近网络。对于每个输入输出数据对,只有少量的连接权需要进行调整,从而使局部逼近网络具有学习速度快的优点,这一点对于有实时性要求的应用来说至关重要。目前常用的局部逼近神经网络有CMAC网络、径向基函数RBF网络和B样条网络等,其结构原理相似。

      1975年J.S.Albus提出一种模拟小脑功能的神经网络模型,称为Cerebellar Model Articulation Controller,简称CMAC。CMAC网络是仿照小脑控制肢体运动的原理而建立的神经网络模型。小脑指挥运动时具有不假思索地作出条件反射迅速响应的特点,这种条件反射式响应是一种迅速联想。

      CMAC 网络有三个特点:

      (1)、作为一种具有联想功能的神经网络,它的联想具有局部推广(或称泛化)能力,因此相似的输入将产生相似的输出,远离的输入将产生独立的输出;

      (2)、对于网络的每一个输出,只有很少的神经元所对应的权值对其有影响,哪些神经元对输出有影响则有输入决定;

      (3)、CMAC的每个神经元的输入输出是一种线性关系,但其总体上可看做一种表达非线性映射的表格系统。由于CMAC网络的学习只在线性映射部分,因此可采用简单的δ算法,其收敛速度比BP算法快得多,且不存在局部极小问题。CMAC最初主要用来求解机械手的关节运动,其后进一步用于机械人控制、模式识别、信号处理以及自适应控制等领域。

      9.        RBF模型

      对局部逼近神经网络,除CMAC神经网络外,常用的还有径向基函数RBF网络和B样条网络等。径向基函数(RBF,Radial Basis Function)神经网络,是由J.Moody 和C.Darken于20世纪80年代末提出的一种神经网络,径向基函数方法在某种程度上利用了多维空间中传统的严格插值法的研究成果。在神经网络的背景下,隐藏单元提供一个“函数”集,该函数集在输入模式向量扩展至隐层空间时为其构建了一个任意的“基”;这个函数集中的函数就被称为径向基函数。径向基函数首先是在实多变量插值问题的解中引入的。径向基函数是目前数值分析研究中的一个主要领域之一。

      最基本的径向基函数(RBF)神经网络的构成包括三层,其中每一层都有着完全不同的作用。输入层由一些感知单元组成,它们将网络与外界环境连接起来;第二层是网络中仅有的一个隐层,它的作用是从输入空间到隐层空间之间进行非线性变换,在大多数情况下,隐层空间有较高的维数;输出层是线性的,它为作用于输入层的激活模式提供响应。

      基本的径向基函数RBF网络是具有单稳层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称感受域,Receptive Field)的神经网络结构,因此,RBF网络是一种局部逼近网络,现已证明它能以任意精度逼近任一连续函数.

               RBF网络的常规学习算法,一般包括两个不同的阶段:

      (1)、隐层径向基函数的中心的确定阶段。常见方法有随机选取固定中心法;中心的自组织选择法等。

      (2)、径向基函数权值学习调整阶段。常见方法有中心的监督选择法;正则化严格插值法等。

      10.    SOM模型

      芬兰Helsink大学Kohonen T.教授提出一种自组织特征映射网络SOM(Self-organizing feature Map),又称Kohonen网络。Kohonen认为,一个神经网络接受外界输入模式时,将会分为不同的对应区域,各区域对输入模式有不同的响应特征,而这个过程是自动完成的。SOM网络正是根据这一看法提出的,其特点与人脑的自组织特性相类似。

               自组织神经网络结构

      (1)、定义:自组织神经网络是无导师学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。

      (2)、结构:层次型结构,具有竞争层。典型结构:输入层+竞争层。

      输入层:接受外界信息,将输入模式向竞争层传递,起“观察”作用。

      竞争层:负责对输入模式进行“分析比较,寻找规律,并归类。

      自组织神经网络的原理

      (1)、分类与输入模式的相似性:分类是在类别知识等导师信号的指导下,将待识别的输入模式分配到各自的模式类中,无导师指导的分类称为聚类,聚类的目的是将相似的模式样本划归一类,而将不相似的分离开来,实现模式样本的类内相似性和类间分离性。由于无导师学习的训练样本中不含期望输出,因此对于某一输入模式样本应属于哪一类并没有任何先验知识。对于一组输入模式,只能根据它们之间的相似程度来分为若干类,因此,相似性是输入模式的聚类依据。

      (2)、相似性测量:神经网络的输入模式向量的相似性测量可用向量之间的距离来衡量。常用的方法有欧氏距离法和余弦法两种。

      (3)、竞争学习原理:竞争学习规则的生理学基础是神经细胞的侧抑制现象:当一个神经细胞兴奋后,会对其周围的神经细胞产生抑制作用。最强的抑制作用是竞争获胜的“唯我独兴”,这种做法称为“胜者为王”,(Winner-Take-All)。竞争学习规则就是从神经细胞的侧抑制现象获得的。它的学习步骤为:A、向量归一化;B、寻找获胜神经元;C、网络输出与权调整;D、重新归一化处理。

               SOM网络的拓扑结构:SOM网络共有两层。即:输入层和输出层。

      (1)、输入层:通过权向量将外界信息汇集到输出层各神经元。输入层的形式与BP网相同,节点数与样本维数相同。

      (2)、输出层:输出层也是竞争层。其神经元的排列有多种形式。分为一维线阵,二维平面阵和三维栅格阵。最典型的结构是二维形式。它更具大脑皮层的形象。

      输出层的每个神经元同它周围的其他神经元侧向连接,排列成棋盘状平面;输入层为单层神经元排列。

      SOM权值调整域

      SOM网采用的算法,称为Kohonen算法,它是在胜者为王WTA(Winner-Take-All)学习规则基础上加以改进的,主要区别是调整权向量与侧抑制的方式不同:WTA:侧抑制是“封杀”式的。只有获胜神经元可以调整其权值,其他神经元都无权调整。Kohonen算法:获胜神经元对其邻近神经元的影响是由近及远,由兴奋逐渐变为抑制。换句话说,不仅获胜神经元要调整权值,它周围神经元也要不同程度调整权向量。

      SOM网络运行原理

      SOM网络的运行分训练和工作两个阶段。在训练阶段,网络随机输入训练集中的样本,对某个特定的输入模式,输出层会有某个节点产生最大响应而获胜,而在训练开始阶段,输出层哪个位置的节点将对哪类输入模式产生最大响应是不确定的。当输入模式的类别改变时,二维平面的获胜节点也会改变。获胜节点周围的节点因側向相互兴奋作用也产生较大影响,于是获胜节点及其优胜邻域内的所有节点所连接的权向量均向输入方向作不同程度的调整,调整力度依邻域内各节点距离获胜节点的远近而逐渐减小。网络通过自组织方式,用大量训练样本调整网络权值,最后使输出层各节点成为对特定模式类敏感的神经元,对应的内星权向量成为各输入模式的中心向量。并且当两个模式类的特征接近时,代表这两类的节点在位置上也接近。从而在输出层形成能反应样本模式类分布情况的有序特征图。

      11.    CPN模型

      1987年美国学者RobertHecht —Nielson提出了对偶传播神经网络(Counter--propagation Networks,简记为CPN)。CPN最早是用来实现样本选择匹配系统的。它能存储二进制或模拟值的模式对,因此CPN网络可以用作联想存储﹑模式分类﹑函数逼近和数据压缩等用途。与BP网相比,CPN的训练速度要快很多,所需的时间大约是BP网所需时间的1%。但是,它的应用面却因网络的性能相对来说比较窄。

      从网络的拓扑结构来看,CPN与BP网类似,CPN是一个三层的神经网络,只不过这竞争层和输出层执行的训练算法是不同的。所以,称CPN 是一个异构网。与同构网相比,网络的异构性使它更接近于人脑。在人脑中存在有各种特殊的模块,它们使用完成不同的运算。例如,在听觉通道的每一层,其神经元与神经纤维在结构上的排列与频率的关系十分密切,对某一些频率,其中某些相应的神经元会获得最大的响应。这种听觉通道上的神经元的有序排列一直延续到听觉皮层。尽管许多低层次上的神经元是预先排列好的,但高层次上的神经元的组织则是通过学习自组织形成的。

      在RobertHecht—Nielson提出的CPN神经网络中,其竞争层和输出层分别执行较早些时候出现的两个著名算法:即Kohonen l981年提出的自组织映射SOM算法和Grossberg l969年提出的外星(Outstar)算法。人们将执行自组织映射的层称为Kohonen层,执行外星算法的层则被称为Grossberg层。按这种方法将这两种算法组合在一起后所获得的网络,不仅提供了一种设计多级网训练算法的思路,解决了多级网络的训练问题,突破了单极网的限制,而且还使得网络具有了许多新的特点。多级网络的训练问题主要是在解决隐藏层神经元相应的联接权调整时,需要通过隐藏层神经元的理想输出来实现相关误差的估计。然而,它们对应的理想输出又是未知的。在无导师训练中是不需要知道理想输出的,因此可以考虑让网络的隐藏层执行无导师学习。这是解决多级网络训练的另一个思路。实际上,CPN就是将无导师训练算法与有导师训练算法结合在一起,用无导师训练解决网络隐藏层的理想输出未知的问题,用有导师训练解决输出层按系统的要求给出指定的输出结果的问题。

      Kohonen提出的自组织映射由四部分组成,包括一个神经元阵列(用它构成CPN的Kohonen层),一种比较选择机制,一个局部互联,一个自适应过程。实际上,这一层将实现对输入进行分类的功能。所以,该层可以执行无导师的学习,以完成对样本集中所含的分类信息的提取。

      Grossberg层主要用来实现类表示。由于相应的类应该是用户所要求的,所以,对应每—个输入向量,用户明确地知道它对应的理想输出向量,故该层将执行有导师的训练。两层的有机结合,就构成—个映射系统。所以,有人将CPN 看成一个有能力进行一定的推广的查找表(Look—up table)。它的训练过程就是将输入向量与相应的输出向量对应起来。这些向量可以是二值的,也可以是连续的。一旦网络完成了训练,对一个给定的输入就可以给出一个对应的输出。网络的推广能力表明,当网络遇到一个不太完整的、或者是不完全正确的输入时,只要该“噪音”是在有限的范围内,CPN 都可以产生一个正确的输出。这是因为Kohonen 层可以找到这个含有噪音的输入应该属于的分类,而对应的Grossberg层则可以给出该分类的表示。从整个网络来看,就表现出一种泛化能力。这使得网络在模式识别、模式完善、信号处理等方面可以有较好的应用。另外,上述映射的逆映射如果存在的话,可以通过对此网的简单扩展,来实现相应的逆变换。这被称为全对传网。

      12.    ART模型

      在神经网络学习中,当网络规模给定后,由权矩阵所能记忆的模式类别信息量总是有限的,新输入的模式样本必然会对已经记忆的模式样本产生抵消或遗忘,从而使网络的分类能力受到影响。靠无限扩大网络规模解决上述问题是不现实的。如何保证在适当增加网络规模的同时,在过去记忆的模式和新输入的训练模式之间作出某种折中,既能最大限度地接收新的模式信息,同时又能保证较少地影响过去的样本模式呢? ART网络在一定程度上能较好解决此问题。

      1976年,美国Boston大学CarpenterG.A.教授提出了自适应共振理论ART(Adaptive Resonance Theory)。随后Carpenter G.A.又与他的学生GrossbergS.合作提出了ART神经网络。

      经过多年的研究和发展,ART 网络已有几种基本形式:

      (1)、ART1型神经网络:处理双极性和二进制信号;

      (2)、ART2型神经网络:它是ART1型的扩展,用于处理连续型模拟信号;

      (3)、ART综合系统:将ART1和ART2综合在一起,系统具有识别﹑补充和撤消等综合功能。即所谓的3R(Recognition﹑Reinforcement﹑Recall)功能。

      (4)、ART3型神经网络:它是一种分级搜索模型,兼容前两种结构的功能并将两层神经网络扩大为任意多层神经元网络,由于ART3型在神经元的模型中纳入了生物神经元的生物电-化学反应机制,因而它具备了很强的功能和扩展能力。

      13.    量子神经网络

      量子神经网络的概念出现于上个世纪90年代后期,一经提出后便引起了不同领域的科学家的关注,人们在这个崭新的领域进行了不同方向的探索,提出了很多想法和初步的模型,充分体现了量子神经网络研究的巨大潜力。主要研究方向可以概括为:

      (1)、量子神经网络采用神经网络的连接思想来构造量子计算机,通过神经网络模型来研究量子计算中的问题;

      (2)、量子神经网络在量子计算机或量子器件的基础上构造神经网络,充分利用量子计算超高速、超并行、指数级容量的特点,来改进神经网络的结构和性能;

      (3)、量子神经网络作为一种混合的智能优化算法在传统的计算机上的实现,通过引入量子理论中的思想对传统神经网络改进,利用量子理论中的概念、方法(如态叠加、“多宇宙”观点等),建立新的网络模型;改善传统神经网络的结构和性能;

      (4)、基于脑科学、认知科学的研究。

       

      以上整理的内容主要摘自:

      1.      《人工神经网络原理及应用》,2006,科学出版社

      2.    《神经网络邮件分类算法研究》,2011,硕论,电子科技大学

      3.       《人工神经网络原理、分类及应用》,2014,期刊,科技资讯

      关于BP神经网络的实现可以参考: http://blog.csdn.net/fengbingchun/article/details/50407764 

      GitHub: https://github.com/fengbingchun/NN_Test 

      展开全文
    • 人工神经网络——径向基函数(RBF)神经网络

      万次阅读 多人点赞 2015-10-24 15:32:45
      径向基函数神经网络优点:逼近能力,分类能力和学习速度等方面都优于BP神经网络,结构简单、训练简洁、学习收敛速度快、能够逼近任意非线性函数,克服局部极小值问题。原因在于其参数初始化具有一定的方法,并非...

      此博客排版不好,重新用Markdown写了一篇,同时附上了代码,戳这里

         本文摘自:《模式识别与智能计算——matlab技术实现第三版》与《matlab神经网络43个案例分析》

      【注】蓝色字体为自己的理解部分

           径向基函数神经网络的优点:逼近能力,分类能力和学习速度等方面都优于BP神经网络,结构简单、训练简洁、学习收敛速度快、能够逼近任意非线性函数,克服局部极小值问题。原因在于其参数初始化具有一定的方法,并非随机初始化。

              RBF是具有单隐层的三层前向网络。第一层为输入层,由信号源节点组成。第二层为隐藏层,隐藏层节点数视所描述问题的需要而定,隐藏层中神经元的变换函数即径向基函数是对中心点径向对称且衰减的非负线性函数,该函数是局部响应函数,具体的局部响应体现在其可见层到隐藏层的变换跟其它的网络不同。以前的前向网络变换函数都是全局响应的函数。第三层为输出层,是对输入模式做出的响应。输入层仅仅起到传输信号作用,输入层和隐含层之间可以看做连接权值为1的连接,输出层与隐含层所完成的任务是不同的,因而他们的学习策略也不同。输出层是对线性权进行调整,采用的是线性优化策略,因而学习速度较快;而隐含层是对激活函数(格林函数,高斯函数,一般取后者)的参数进行调整,采用的是非线性优化策略,因而学习速度较慢。对于这句话的理解,从下面的层与层之间的变换可以发现。

             RBF神经网络的基本思想:用RBF作为隐单元的“基”构成隐藏层空间,隐藏层对输入矢量进行变换,将低维的模式输入数据变换到高维空间内,使得在低维空间内的线性不可分问题在高维空间内线性可分。详细一点就是用RBF的隐单元的“基”构成隐藏层空间,这样就可以将输入矢量直接(不通过权连接)映射到隐空间。当RBF的中心点确定以后,这种映射关系也就确定 了。而隐含层空间到输出空间的映射是线性的(注意这个地方区分一下线性映射和非线性映射的关系),即网络输出是因单元输出的线性加权和,此处的权即为网络可调参数

      下图是径向基神经元模型      

       《43案例分析》中介绍:径向基函数的激活函数是以输入向量和权值向量(注意此处的权值向量并非隐藏层到输出层的权值,具体看下面的径向基神经元模型结构)之间的距离||dist||作为自变量的。径向基网络的激活函数的一般表达式为。

      《模式识别与智能计算》中介绍:径向基网络传递函数是以输入向量与阈值向量之间的距离|| X-Cj ||作为自变量的,其中|| X -Cj ||是通过输入向量和加权矩阵C的行向量的乘积得到。此处的C就是隐藏层各神经元的中心参数,大小为隐层神经元数目*可见层单元数。再者,每一个隐神经元中心参数C都对应一个宽度向量D,使得不同的输入信息能被不同的隐层神经元最大程度地反映出来。

       

      得到的这个R就是隐层神经元的值。

      随着权值和输入向量之间距离的减少,网络输出是递增的,当输入向量和权值向量一致时,神经元输出为1。图中的b为阈值,用于调整神经元的灵敏度。利用径向基神经元和线性神经元可以建立广义回归神经网络,此种神经网络适用于函数逼近方面的应用。径向基函数和竞争神经元可以建立概率神经网络,此种神经网络适用于解决分类问题

      RBF神经网络学习算法需要三个参数:基函数的中心,方差(宽度)以及隐含层到输出层的权值。

      RBF神经网络中心选取方法:

             对于RBF神经网络的学习算法,关键问题是隐藏层神经元中心参数的合理确定。常用的方法是从中心参数(或者其初始值)是从给定的训练样本集里按照某种方法直接选取,或者是采用聚类的方法确定。

         ①直接计算法(随机选取RBF中心)

           隐含层神经元的中心是随机地在输入样本中选取,且中心固定。一旦中心固定下来,隐含层神经元的输出便是已知的,这样的神经网络的连接权就可以通过求解线性方程组来确定。适用于样本数据的分布具有明显代表性。

         ②自组织学习选取RBF中心法

            RBF神经网络的中心可以变化,并通过自组织学习确定其位置。输出层的线性权重则是通过有监督的学习来确定的。这种方法是对神经网络资源的再分配,通过 学习,使RBF的隐含层神经元中心位于输入空间重要的区域。这种方法主要采用K-均值聚类法来选择RBF的中心,属于无监督(导师)的学习方法。

        ③有监督(导师)学习选取RBF中心

           通过训练样本集来获得满足监督要求的网络中心和其他权重参数。常用方法是梯度下降法

        ④正交最小二乘法选取RBF中心法

           正交最小二乘法(Orthogoal least square)法的思想来源于线性回归模型。神经网络的输出实际上是隐含层神经元某种响应参数(回归因子)和隐含层至输出层间连接权重的线性组合。所有隐含层神经元上的回归因子构成回归向量。学习过程主要是回归向量正交化的过程。

           在很多实际问题中,RBF神经网络隐含层神经元的中心并非是训练集中的某些样本点或样本的聚类中心,需要通过学习的方法获得,使所得到的中心能够更好地反应训练集数据所包含的信息。

      基于高斯核的RBF神经网络拓扑结构

            第一层输入层:由信号源节点构成,仅起到数据信息的传递作用,对输入信息不做任何变换

            第二层隐含层:节点数视需要而定。隐含层神经元核函数(作用函数)是高斯函数,对输入信息进行空间映射的变换。

            第三层输出层,对输入模式做出响应。输出层神经元的作用函数为线性函数,对隐含层神经元输出的信息进行线性加权后输出,作为整个神经网络的输出结果。

      径向基网络传递函数是以输入向量与阈值向量之间的距离|| X-Cj ||作为自变量的。其中|| X-Cj ||是通过输入向量和加权矩阵C的行向量的乘积得到的。径向基神经网络传递参数可以取多种形式。常见的有:

      ①Gaussian函数(高斯函数)

      ②Reflected sigmoidal函数(反常S型函数)

      ③逆Multiquadric函数(逆 畸变校正函数

      较为常用的还是Gaussian函数,本文采用Gaussian函数:

      当输入自变量为0时,传递函数取得最大值1,。随着权值和输入向量间的距离不断减小,网络输出是递增的。也就是说,径向基函数对输入信号在局部产生响应。函数的输入信号X靠近函数的中央范围时,隐含层节点将产生较大的输出。由此可以看出这种网络具有局部逼近能力。

               当输入向量加到网络输入端时,径向基层每个神经元都会输出一个值,代表输入向量与神经元权值向量之间的接近程度。如果输入向量关于权值向量相差很多,则径向基层输出接近于0,;如果输入向量与权值向量很接近,则径向基层的输出接近于1,经过第二层(隐含层)的线性神经元,输出值就靠近第二层权值。在这个过程中,如果只有一个径向基神经元的输出为1,而其他神经元输出均为0或者接近0,那么线性神经元的输出就相当于输出为1的神经元对应的第二层(隐含层)权值的值。

      RBF网络训练:

      训练的目的是求两层的最终权值Cj、Dj和Wj。

      训练的过程分为两步:第一步是无监督学习,训练确定输入层与隐含层间的权值Cj、Dj;第二步是有监督学习,训练确定隐含层与输出层间的权值Wj。

      训练前提供输入向量X、对应的目标输出向量Y和径向基函数的宽度向量Dj。

      在第 l 次输入样品(l=1,2,...,N)进行训练时,各个参数的表达及计算方法如下:

      (1)确定参数

      确定输入向量X:

      ,n是输入层单元数

      确定输出向量Y和希望输出向量O

      ,q是输出层单元数

      ③初始化隐含层至输出层的连接权值

      其中p是隐藏层单元数,q是输出层单元数。

      参考中心初始化的方法给出隐藏层到输出层的权值初始化方法:

      其中mink是训练集中第k个输出神经元中所有期望输出的最小值;maxk是训练集中第k个输出神经元中所有期望输出的最大值。

      ④初始化隐含层各神经元的中心参数。不同隐含层神经元的中心应有不同的取值,并且与中心的对应宽度能够调节,使得不同的输入信息特征能被不同的隐含层神经元最大的反映出来。在实际应用中,一个输入信息总是包含在一定的取值范围内。不失一般性,将隐含层各神经元的中心分量的初值,按从小到大等间距变化,使较弱的输入信息在较小的中心附近产生较强的响应。间距的大小可由隐藏层神经元的个数来调节。好处是能够通过试凑的方法找到较为合理的隐含层神经元数,并使中心的初始化尽量合理,不同的输入特征更为明显地在不同的中心处反映出来,体现高斯核的特点。

      基于上述四项,RBF神经网络中心参数的初始值为:

      (p为隐含层神经元总个数,j=1,2,...,p)

      mini是训练集中第i个特征所有输入信息的最小值,maxi为训练集中第i 个特征所有输入信息的最大值。

      ⑤初始化宽度向量。宽度向量影响着神经元对输入信息的作用范围:宽度越小,相应隐含层神经元作用函数的形状越窄,那么处于其他神经元中心附近的信息在该神经元出的响应就越小。计算方法:

      df为宽度调节系数,取值小于1,作用是使每个隐含层神经元更容易实现对局部信息的感受能力,有利于提高RBF神经网络的局部响应能力。

      (2)计算隐含层第j 个神经元的输出值zj

      Cj是隐含层第 j 个神经元的中心向量,由隐含层第j个神经元对应于输入层所有神经元的中心分量构成,;Dj为隐含层第j个神经元的宽度向量,与Cj相对应,,Dj越大,隐含层对输入向量的影响范围就越大,且神经元间的平滑度也比较好;||.||为欧式范数。

      (3)计算输出层神经元的输出

      其中为输出层第k个神经元与隐含层第 j 个神经元间的调节权重。

      (4)权重参数的迭代计算

      RBF神经网络权重参数的训练方法在这里取为梯度下降法。中心、宽度和调节权重参数均通过学习来自适应调节到最佳值,迭代计算如下:

       为第k个输出神经元与第j个隐含层神经元之间在第t 次迭代计算时的调节权重。

      为第j 个隐含层神经元对于第i个输入神经元在第t 次迭代计算时的中心分量;

      为与中心对应的宽度

      η为学习因子

      E为RBF神经网络评价函数:

      其中,Olk为第k 个输出神经元在第l个输入样本时的期望输出值;ylk为第k个输出神经元在第l个输入样本时的网络输出值。

      综上所述,给出RBF神经网络的学习算法:

      ① 按(1)确定参数的五个步骤对神经网络参数进行初始化,并给定η和α的取值及迭代终止精度ε 的值。

      ②按下式计算网络输出的均方根误差RMS 的值,若RMS≤ε ,则训练结束,否则转到第③步

      ③按照(4)权重迭代计算,对调节权重,中心和宽度参数进行迭代计算。

      ④返回步骤②

       

      此处有一个利用Kmean初始化中心点和随机初始化中心点的,使用TensorFlow2.0搭建RBF神经网络层的代码:https://github.com/PetraVidnerova

      展开全文
    • 近年来,随着人工神经网络研究的深入,人们已经认识到作为联想记忆器、分类器和优化计算,人工神经网络具有许多独特的优点
    • 人类神经网络为一类似人类神经结构的并行计算模式,是”一种基于脑与神经系统研究,所启发的信息处理技术...人工神经网络分类,常见的人工神经网络模型可分为四大类,如下所示: 1.监督式学习网络,从问题中取得...
    • 人工神经网络定义:由许多简单的并行工作的处理单元组成的系统,功能取决于网络的结构、连接强度及个单元处理方式。 人工神经网络基本功能:联想记忆功能、非线性映射功能、分类与识别功能、优化计算功能、知识处理...
    • 人工神经网络之前馈神经网络

      万次阅读 2017-07-08 20:14:25
       深度前馈神经网络也叫作多层感知机,是深度学习中最常用的模型。它包含输入层,隐含层和输出层三个部分。它的目的是为了实现输入到输出的映射。它定义了一个函数 y = f(x,theta),并且通过学习theta,得到了映射...
    • 人工神经网络(ANN)

      千次阅读 2017-05-16 15:46:58
      神经网络模型具有高度的并行性、高度的非线性全局作用、良好的...类似于人脑的结构,人工神经网络的基本处理单元为人工神经元,这些神经元以简化的形式模仿自然界的生物神经,人工神经网络是由大量的人工神经元广泛互
    • 本文从影响人口增长的诸多因素中筛选出6 个主要因素,结合灰色系统思想与神经网络的优点建立了一个灰色人工神经网络(Grey Artificial Neural Network,GANN)预测模型,对每一个指标分别用GM(1,1)模型选择最佳的...
    • 人工神经网络总结

      千次阅读 2015-10-23 14:35:44
      人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型,在这种模型中,大量的节点(或神经元)之间相互联接构成网络,即“神经网络”,以达到处理信息的目的,神经网络通常需要进行训练,训练...
    • 该系统结合了人工神经网络和模糊诊断技术的优点,其利用人工神经网络解决非线性问题的优势对数据进行处理,利用模糊诊断技术和经验数据做出安全预测,并给出了安全预测系统的运行流程图和各部分的设计方法。根据算例...
    • 人工神经网络(一)概述

      万次阅读 多人点赞 2017-10-28 00:24:38
      人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与...
    • 本文从影响人口增长的诸多因素中筛选出6 个主要因素,结合灰色系统思想与神经网络的优点建立了一个灰色人工神经网络(Grey Artificial Neural Network,GANN)预测模型,对每一个指标分别用GM(1,1)模型选择最佳的...
    • 1.引言 逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号...信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成
    • 一篇文章“简单”认识《人工神经网络》(更新版)

      千次阅读 多人点赞 2021-04-03 20:51:44
      人工神经网络 (Artificial Neural Network, ANN),由人工神经元构成的网络,模拟人类的大脑;它模拟生物过程以反映人脑某些特征的计算结构。 神经元及其突触是神经网络的基本器件;模拟生物网络首先模拟生物神经元...
    • 探讨了人工神经网络应用于基准地价评估的可行性,针对基准地价评估提出了相应的人工神经网络模型 和算法改进措施,以及在采用神经网络的前提下,进行土地定级与基准地价评估的新思路。实例表明,人工神经 网络方法具有...
    • 人工神经网络——笔记摘抄1

      千次阅读 2016-04-01 21:40:11
      一、人工神经网络简介  人工神经网络(Artificial Neural Networks,ANN)基本组成成分是:输入(感知)器、加权求和(信息汇聚)、传递(信息传输)器、输出(响应)器组成。  决定神经网络信息处理性能的三大要素:激励...
    • 通俗语言描述人工神经网络,反向传播算法,卷积神经网络关键词:Artificial Neural Networks,ANN、Neural Networks ,NN、BackPropagation,BP、Convolutional Neural Network,CNN图侵删什么是人工神经网络人工...
    • 人工神经网络,主要有哪些特点?

      千次阅读 2019-04-19 17:57:47
      (1)人工神经网络具有大规模的并行协同处理能力 每一个神经元的功能和结构都很简单,但是由大量神经元构成的整体却有很强的处理能力 (2)人工神经网络具有较强的容错能力和联想能力 单个神经元或者连接对网络整体...
    • 灰色模型具有建模所需样本数据少、原理简单、运算方便、短期预测精度高等优点,而人工神经网络模型能够并行计算、模仿多种函数,具有良好的适应、自学习能力和较强的容错能力等优点。但是无论是灰色模型还是人工神经...
    • hslogic_模式识别人工神经网络BP算法

      千次阅读 2020-09-15 18:30:38
      人工神经网络能较好地模拟人的形象思维,而且由于具有大规模并行协同处理能力、较强的容错能力和联想能力以及较强的学习能力,所以将神经网络方法运用到模式识别中去解决识别问题己成为国内外科技工作者广泛关注的...
    • 浅谈人工智能神经网络优点

      千次阅读 2018-12-22 18:24:15
      神经系统的基本构造单元是神经细胞也称神经元。...神经网络优点 神经网络获得迅速发展,应用来领域越来越广,解决实际问题的能力也越来越强,这是神经网络的优良性能以及对国民经济所起的重大作用所决定的。...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 23,090
    精华内容 9,236
    关键字:

    人工神经网络的优点