机器学习西瓜书第五章神经网络笔记

本文最后更新于:2023年4月7日 下午

第五章:神经网络

1、神经网络(neural networks):神经网络是由具有适应性的简单单元组成的广泛并进行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应。
2、感知机(Perceptron)由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,也称为“阈值逻辑单元”(threshold logic unit)
   1)、感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元(functional neuron),其学习能力非常有限。
   2)、输入层与输出层之间的层神经元,被称为隐层或隐含层(hidden layer)
3、多层前馈神经网络(multi-layer feedforward neural networks):每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接。
   1)、前馈并不意味着网络中的信号不能向后传递,而是指网络拓扑结构上不存在环或者回路。
   2)、神经网络的学习过程,就是根据训练数据来调整神经元之间的“连接权”(connection weight)以及每个功能神经元的阈值,换言之,神经网络“学”到的东西,蕴含在在连接权和阈值中。
4、误差逆传播(error BackPropagation,简称:BP)算法:是最成功的的神经网络学习算法,可用于多层前馈神经网络和其他类型的神经网络。
   1)、BP是一个迭代学习算法,在迭代的每一轮中采用广义感知机学习规则对参数进行更新估计。
   2)、BP算法是基于梯度下降(gradient descent)策略,以目标的负梯度方向对参数进行调整。
   3)、BP操作过程:先将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果;然后计算输出层的误差,再将误差逆向传播至隐层神经元,最后根据隐层神经元的误差来对连接权和阈值进行调整。该迭代过程循环进行,直到达到某些停止条件为止。
   4)、BP算法由于其强大的表示能力,所以经常遭遇过拟合,其训练误差持续降低,但测试误差却可能上升。有两种策略缓解BP过拟合问题:
     (1)、早停(early stopping):将数据分为训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。
       (2)、正则化(regularization):在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权和阈值的平方和。
BP算法实质是LMS(Least Mean Square)算法的推广
5、全局最小和局部极小
   1)、用E表示神经网络在训练集上的误差,显然,它是关于连接权和阈值的函数。此时,神经网络训练过程可以看做是一个参数寻优过程,我们需要寻找一组最优参数使得E最小。
   2)、两种最优:全局最小(global minimum)局部极小(local minimum),全局最小一定是局部极小,反之不成立。我们在寻优的过程就是希望找到全局最小。
   3)、由于负梯度方向是函数值下降最快的方向,因此梯度下降法就是沿着负梯度方向搜索最优解。
   4)、“跳出”局部极小,寻找全局最小的策略:
      (1)、以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数。
      (2)、“模拟退火”(simulated annealing)技术:模拟退火在每一步都以一定的概率接受比当前解更差的结果,在每步迭代过程中,接受“次优解”的概率要随着时间的推移而逐渐降低,从而保证算法稳定。但是也可能会造成“跳出”全局最小。
      (3)、使用随机梯度下降。
      (4)、遗传算法(genetic algorithms)
6、常见的神经网络
   1)、RBF(Radial Basis Function,径向基函数)网络:是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元激活函数,而输出层则是对隐层神经元输出的线性组合。
   2)、ART(Adaptive Resonance Theory,自适应谐振理论)网络:是竞争型学习(competitive learning)【注:无监督学习策略】的代表。
   3)、SOM(Self-Organizing Map,自组织映射)网络:是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间,同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的邻近神经元。
   4)、级联相关(Cascade-Correlation)网络:是结构自适应网络的重要代表。
   5)、Elman网络:是最常用的递归神经网络之一。
7、Boltzmann机(玻尔兹曼机)
   1)、一种基于能量的模型(energy-based model),其神经元分为两层:显层与隐层。显层用于表示数据的输入与输出,隐层则被理解为数据的内在表达。
   2)、Boltzmann机中的神经元都是布尔型。
   3)、它的训练过程就是将每个训练样本视为一个状态向量,使其出现的概率尽可能大。
   4)、标准Boltzmann机是一个全连接图,训练网络复杂度很高,这使其难以用于解决现实任务。所以现实中一般采用受限Boltzmann机(Restricted Boltzmann Machine,简称:RBM)
8、受限Boltzmann机常用“对比散度”(Contrastive Divergence,简称CD)算法来进行训练。


打赏支持
“如果你觉得我的文章不错,不妨鼓励我继续写作。”

机器学习西瓜书第五章神经网络笔记
https://dreamoneyou.github.io/2018/机器学习西瓜书第五章神经网络笔记 /
作者
九叶草
发布于
2018年12月27日
更新于
2023年4月7日
许可协议