5.1神经元模型
神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。神经网络:机器学习与神经网络这两个学科领域的交叉部分。
神经网络中最基本的成分是神经元模型,即上述定义中的简单单元。
这个模型中,神经元接收到来自n个其它神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过激活函数处理以产生神经元的输出。
理想中的激活函数是图5.2a所示的阶跃函数,它将输入值映射为输出值0或1,显然1对应于神经元兴奋,0对应于神经元抑制。阶跃函数具有不连续、不光滑。Sigmoid函数作为激活函数。它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,也称为挤压函数。
把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络。神经网络是一个包含了许多参数的数学模型,这个模型是若干个函数代入得到的,有效的神经网络学习算法大多以数学证明为支撑。
5.2感知机与多层网络
感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称阈值逻辑单元。
感知机能够实现逻辑与、或、非运算。
假定 是阶跃函数:
与:
或:
非:
更一般地,给定训练数据集,权重 以及阈值
可通过学习得到。阈值
可看作一个固定输入为-0.1的哑结点所对应的连接权重
,权重和阈值的学习就可以统一为权重的学习。学习规则非常简单,对训练样例
,若当前感知机的输出为
,则感知机权重将这样调整
是
对应于第
个输入神经元的分量:
其中 称为学习率。若感知机对训练样例
预测正确,即
则感知机不发生变化,否则将根据错误的程度进行权重调整(
通常设置为一个小正数,例如0.1)。
感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元,其学习能力非常有限。与、或、非问题都是线性可分问题。若两类模式是线性可分的,即存在一个线性超平面能将它们分开。感知机不能解决异或这样简单的非线性可分问题。
要解决非线性可分问题,需要考虑使用多层功能神经元。两层感知机就能解决异或问题。输出层与输入层之间的一层神经元被称为隐层或隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。
常见的神经网络每层神经元与下一层神经元全互联,神经元之间不存在同层连接,也不存在跨层连接,被称为多层前馈神经网络。其中输入层神经元接收外界输入,隐层与输入层神经元对信号进行加工,最终结果有输出层神经元输出。输出层神经元仅是接受输入,不进行函数处理,隐层与输出层包含功能神经元。单隐层网络。神经网络的学习过程,就是根据训练数据来调整神经元之间的连接权以及每个功能神经元的阈值。前馈并不意味着网络中信号不能往后传,而是指网络拓扑结构上不存在环或者回路。
5.3误差逆传播算法
多层网络的学习能力比单层感知机强得多。误差逆传播BP算法:BP算法不仅可用于多层前馈神经网络,还可用于训练递归神经网络,BP网络:BP算法训练的多层前馈神经网络。