西瓜书学习笔记 —— 第5章 神经网络

1 神经元模型

神经网络(neural networks):“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”。

神经网络最基本的成分是神经元(neuron)模型,neuron亦称unit。如果某神经元的点位超过了一个“阈值”( threshold),那么它就会被激活。

“M-P神经元模型”:
西瓜书学习笔记 —— 第5章 神经网络_第1张图片
y = f ( x ) y=f(x) y=f(x)为’'激活函数"(activation function),亦称“响应函数”。

理想中激活函数为下图(左)阶跃函数,输入值映射为输出值“0”(表示抑制)或“1”(表示兴奋)。实际常用Sigmoid函数作为激活函数,把输入值挤压到(0,1)输出值范围内,因此有时也称为“挤压函数”(squashing function)。西瓜书学习笔记 —— 第5章 神经网络_第2张图片

2 感知机与多层网络

感知机(Perceptron)由两层神经元组成,简单如下图所示,输入层接受外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”(threshold logic unit)
西瓜书学习笔记 —— 第5章 神经网络_第3张图片

更一般地,给定训练数据集,权重 w i ( i = 1 , 2 , . . . , n ) w_i(i=1,2,...,n) wi(i=1,2,...,n)以及阈值 θ \theta θ(可以看作一个固定输入为-0.1的“哑结点”(dummy node)),则感知机权重将这样调整:
w i : = w i + Δ w i w_i:=w_i+\Delta w_i wi:=wi+Δwi
Δ w i = μ ( y − y ^ ) x i \Delta w_i=\mu(y-\hat{y})x_i Δwi=μ(yy^)xi
其中 μ \mu μ ( 0 , 1 ) (0,1) (0,1)范围内,称为学习率。
西瓜书学习笔记 —— 第5章 神经网络_第4张图片

**若要解决非线性可分(“非线性可分”意味着用线性超平面无法划分)**问题,需考虑使用多层功能神经元,层与层之间称为隐含层(hidden layer)。每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。这样的神经网络结构通常称为“多层前馈神经网络”(multi-layer feedforward neural networks),"前馈"指网络拓扑结构上不存在环成回路,如下图:
西瓜书学习笔记 —— 第5章 神经网络_第5张图片

3 误差逆传播算法

误差逆传播(error BackPropagation,简称BP)算法,通常说“BP网络”时,一般是指用BP算法训练的多层前馈神经网络。
西瓜书学习笔记 —— 第5章 神经网络_第6张图片

BP算法的目标是要最小化训练集D上的累计误差
E = 1 m ∑ k = 1 m E k E = \frac{1}{m}\sum_{k=1}^{m}E_k E=m1k=1mEk

“标准BP算法”每次仅针对一个训练样例更新权重和阈值,即更新规则是基于单个的 E k E_k Ek推导而得:西瓜书学习笔记 —— 第5章 神经网络_第7张图片
如果类似地推导出基于积累误差最小化的更新规则,就得到了积累误差逆传播(accumulated error backpropagation)算法。累积BP算法直接针对累计误差最小化,读取整个训练集 D D D一遍后才对参数进行更新。

两种策略来缓解BP网络的过拟合:

  1. 早停(early stopping)
  2. 正则化(regularization)
    .
    正则化的基本思想实在误差目标函数中郑家一个用于描述网络复杂度的部分,例如权重与阈值的平方和,其目标函数改变为:
    E = λ 1 m ∑ k = 1 m E k + ( 1 − λ ) ∑ i w i 2 E=\lambda\frac{1}{m}\sum_{k=1}^{m}E_k+(1-\lambda)\sum_i{w_i^2} E=λm1k=1mEk+(1λ)iwi2
    其中 λ \lambda λ ( 0 , 1 ) (0,1) (0,1)的范围内,增加权重与阈值平方和这一项后,训练过程将会偏好比较小的权重和阈值,使网络输出更加“光滑”,从而对过拟合有所缓解。

4 全局最小与局部最小

全局最小与局部最小对其他机器学习模型同样适用。
西瓜书学习笔记 —— 第5章 神经网络_第8张图片

有以下策略来“跳出”局部极小,从而进一步接近全局最小:

  • 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数。这相当于从多个不同的初始点开始搜索,这样可能陷入不同的局部极小,从中进行选择有可能获得更接近全局最小的结果
  • 使用“模拟退火”(simulated annealing)技术。模拟退火在每一步都以一定的概率接受比当前更差的结果,从而有助于“跳出”局部极小,在每步迭代过程中,接受“次优解”的概率要随着时间的推移而逐渐降低,从而保证算法稳定。
  • 使用随机梯度下降,与标准梯度下降法精度计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素。于是,即便陷入局部极小点,它计算出的梯度仍不可能不为零,这样就有机会跳出局部极小继续搜索。
    此外,遗传算法(genetic algorithms)也常用来训练神经网络以更好地逼近全局最小。

5 其他常见神经网络

  • RBF网络
    RBF(Radial Basis Function,径向基函数)网络,是一种单隐层前馈神经网络,它使用径向基函数作为隐含层神经元激活函数,而输出层则是对隐含层神经元输出的线性组合。假定输入为 d d d维向量 x x x,而输出为实值,则RBF网络可表示为:
    ϕ ( x ) = ∑ i = 1 q w i ρ ( x , c i ) \phi(x)=\sum_{i=1}^{q}{w_i}\rho(x,c_i) ϕ(x)=i=1qwiρ(x,ci)
    其中 q q q为隐含层神经元个数, c i c_i ci和w_i分别是 第 i i i个隐含层神经元所对应的中心和权重, ρ ( x , c i ) \rho(x,c_i) ρ(x,ci)是径向基函数,这是某种沿径向对称的标量函数,通常定义为样本 x x x到数据中心 c i c_i ci之间欧氏距离的单调函数。常用的高斯径向基函数形如:
    ρ ( x , c i ) = e − β i ∣ ∣ x = c i ∣ ∣ 2 \rho(x,c_i)=e^{-\beta_i||x=c_i||^2} ρ(x,ci)=eβix=ci2

  • ART网络
    竞争型学习(competitive learning)是一种常用的无监督学习策略。网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激化,其他神经元的状态被抑制。这种机制亦称为“胜者通吃”(winner-take-all)原则。
    ART(Adaptive Resonance Theory,自适应谐振理论)网络是竞争型学习的重要代表。由比较层、识别层、识别阈值和重置模块构成。

  • SOM网络
    SOM(self-Organizing Map,自组织映射)网络 是一种竞争学习型的无监督神经网络,能将高危输入数据映射到低微空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的临近神经元。
    西瓜书学习笔记 —— 第5章 神经网络_第9张图片

  • 级联相关网络
    级联相关(Cacade-Correlation)网络是结构自适应网络的重要代表。
    西瓜书学习笔记 —— 第5章 神经网络_第10张图片

  • Elman网络

  • Boltzmann机

6 深度学习

你可能感兴趣的:(python学习随笔,西瓜书学习)