理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)

(一)神经元模型

  • 神经网络(neural networks)神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
  • 我们在机器学习中谈论神经网络时指的是“神经网络学习”,或者说,是机器学习与神经网络这两个学科领域的交叉部分。

1.M-P神经元模型

  • M-P神经元模型: 神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重(w)的连接(connection)进行传递,神经元接收到的总输入值将与神经元的阈值(θ)进行比较,然后通过“激活函数(activation function)”处理以产生神经元的输出。(如果没有阈值θ线性模型中必过原点,加入θ可以让模型左右移动。)

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第1张图片

一个M-P神经元模型的三个要素:

  • 带权重(w)的连接。
  • 阈值(θ)
  • 激活函数(f(·))

激活函数(activation function)

  • 激活函数(activation function): 激活函数是在神经网络的神经元上运行的函数,负责将神经元的输入映射到输出。它使得神经网络模型具有非线性区分能力,可以任意逼近任何非线性函数。
  • 阶跃函数: 它将输入值映射为输出值“0”或“1”,显然“1”对应于神经元兴奋,“0”对应于神经元抑制。
  • Sigmoid函数: 它把可能在较大范围内变化的输入值挤压到(0,1)输出值范围内,因此有时也称为“挤压函数”(squashing function)

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第2张图片

(二)感知机(Perceptron)和多层网络(multi-layer feedforward neural networks)

  • 感知机(Perception)感知机(Perceptron)由两层神经元组成,输入层接收外界输入信号后传递给输岀层,输出层是M-P神经元,亦称“阈值逻辑单元”(threshold logic unit)

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第3张图片

感知机可以很容易地实现逻辑运算的与、或、非运算。假定输出层的MP神经元采用阶跃函数作为激活函数(即w1x1+w2x2 - θ < 0则输出为0,反之输出为1。

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第4张图片

需要注意的是:

  • 感知机只有输出层神经元进行激活函数处理,即只有一层功能神经元(functional neuron),其学习能力非常有限。
  • 如上图可知,很显然,与或非问题都是线性可分问题,但是异或问题并不线性可分,而感知机学习过程中必然会收敛求得适当的w向量。而面对非线性可分问题,感知机会在学习过程中发生振荡(fluctuation),无法收敛。

要解决非线性可分问题要使用多层功能神经元。

  • 多层前馈神经网络(multi-layer feedforward neural networks)每层神经元与下层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接.这样的神经网络结构通常称为“多层前馈神经网络”(multi-layer feedforward neural)
  • 隐层/单隐层(hidden layer): 输入层和输出层之间的神经元称为隐层/隐含层。
  • 前馈并不意味着网络中的信号不能向后传播,而是指网络的拓扑结构上不存在环或者回路。

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第5张图片

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第6张图片

  • 神经网络的训练过程就是通过训练集的数据来调整神经元之间的连接权,以及每个功能神经元的阈值,神经网络学到的东西都蕴涵在连接权和阈值中

(三)误差逆传播算法(error BackPropagation/BP)\反向传播算法

  • 反向传播算法(BP): 是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。它是多层前馈网络的Delta规则的推广,可以用链式法则对每层迭代计算梯度。反向传播要求人工神经元(或“节点”)的激励函数可微。
  • 在反向传播的过程中,我们可以高效的计算每一层的梯度,而不是单纯的分别计算每一层梯度。

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第7张图片

BP算法基于梯度下降( gradient descent)策略,以目标的负梯度方向对参数进行调整,对式(54)的误差Ek,给定学习率m,有
Δ w h j = η d E k d w h j \Delta w_{hj}=\eta \frac{dE_{k}}{dw_{hj}} Δwhj=ηdwhjdEk
链式法则:

在这里插入图片描述

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第8张图片

书中只详细计算了对于输出层采用梯度下降的且进行权值的更新,但是对于隐含层则没有详细计算过程,其实在对隐含层计算梯度的过程中是有公式一层一层推导的,并不是分别简单的计算其梯度。下面的计算过程有针对隐含层的梯度推导计算过程。

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第9张图片

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第10张图片

上图中的E,对于输出层的某个权值wij,它只直接和结点j的Ej有关系,并不影响其他的结点的Ej,但是在计算隐含层的wij来说,它会影响后面输出层的每个结点的Ej,更新某个隐含层的wij时,要用到输出层的所有结点的E。可能这么表述不清楚,简单点可以直接把E理解为E(X)即所有结点的均方误差的求和。

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第11张图片

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第12张图片

我们上面介绍的“标准BP算法”每次仅针对一个训练样例更新连接权和阈值,也就是说,图5.8中算法的更新规则是基于单个的Ek推导而得。

  • 累积误差逆传播算法(accumulated error backpropagation): 区别于标准BP算法的基于累积误差最小化的更新规则得到了累积误差逆传播算法
  • 标准BP算法每次更新只针对单个样例,参数更新得非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象。
  • 为了达到同样的累积误差极小点,标准BP算法往往需进行更多次数的迭代.累积BP算法直接针对累积误差最小化,它在读取整个训练集D一遍后才对参数进行更新,其参数更新的频率低得多,但在很多任务中,累积误差下降到一定程度之后,进一步下降会非常缓慢,这时标准BP往往会更快获得较好的解,尤其是在训练集D非常大时更明显。
  • 两者差别类似于梯度下降算法中的SGD(随机梯度下降算法)和BGD(批量梯度下降算法)。

如何设置隐藏层神经元的个数:

  • [Hornik et al,1989]证明,只需一个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数然而,如何设置隐层神经元个数仍是个未决问题,实际应用中通常靠“试错法”( trial-by-eror)调整

正是由于其强大的表示能力,BP神经网络经常遭遇过拟合,其训练误差持续降低,但测试误差却可能上升。有两种策略常用来缓解BP网络的过拟合

  • 早停(early stopping): 将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。(即基本的模型评估策略)
  • 正则化(regularization)基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和.仍令Ek表示第k个训练样例上的误差,v2表示连接权和阈值,则误差目标函数(5.16)改变为

理解人工神经网络,感知机模型、多层前馈神经网络、BP算法(反向传播算法)、输出层和隐含层梯度下降更新权值推导过程。(西瓜书笔记)_第13张图片

其中入∈(0,1)用于对经验误差与网络复杂度这两项进行折中,常通过交又验证法来估计。

  • 增加连接权与阈值平方和这一项后,训练过程将会偏好比较小的连接权和阈值,使网络输出更加“光滑”,从而对过拟合有所缓解。

你可能感兴趣的:(机器学习,笔记,神经网络,机器学习,反向传播算法,梯度下降法,多层前馈神经网络)