机器学习笔记(五)--神经网络

神经元网络:M-P神经元模型

神经元接收来自其他n个神经元传递过来的信号,这些信号通过有权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行对比,通过激活函数的处理产生神经元的输出。

感知机与多层网络

感知机:由两层神经元组成,输入层传递信号给输出层,输出层是M-P神经元。只有输出层进行激活函数处理,拥有一层功能神经元。不能解决异或、非线性可分的问题。

多层网络:隐藏层和输出层均拥有激活函数的功能神经元。

PS:常见的神经网络是层级结构,即每层神经元与下一层神经元互连,神经元之间不存在同层连接,也不存在跨层连接,也称为多层前馈神经网络。前馈是指网络拓扑结构上不存在环或者回路。

神经网络的学习过程,就是学习连接权值和阈值的过程

误差逆传播算法(BP)

不仅可以用于多层前馈神经网络,还可以用于其他类型的神经网络(如:训练递归神经网络)

BP是迭代学习算法,在每一轮迭代中采用广义的感知机学习规则对参数进行更新估计。基于梯度下降策略,以目标的负梯度方向对参数进行调整,由于强大的表示能力,因此用以过拟合。

标准的BP算法,每次仅针对一个训练样例更新连接权和阈值。

累积BP算法,直接针对累积误差最小化,读取整个训练集之后对参数更新。

存在的问题:如何设置隐层神经元的个数。实际中,往往通过试错法调整。

解决过拟合的策略:早停、正则化

全局最小和局部极小

跳出局部最小的方法

  • 利用多组不同参数值初始化多个神经元网络,相当于从多个初始点开始搜索。
  • 模拟退火
  • 随机梯度下降
  • 遗传算法

跳出局部极小的技术大多是启发式,理论上缺乏保障。

常见的其他神经网络:

  • RBF径向基函数网络;
  • ART自适应谐振理论网络,属于竞争性学习网络,是无监督学习,可塑性稳定性好;
  • SOM自组织映射网络,属于竞争性学习网络,是无监督学习;
  • 联级相关网络,即结构自适应网络
  • Elman网络,属于递归神经网络,允许网络有环形结构。
  • Boltzmann网络,基于能量的模型,属于递归神经网络

深度学习

一般复杂模型训练效率低,容易陷入过拟合,深度学习使得训练数据大幅增加,降低过拟合风险。

增加隐藏层数目比增加隐藏层神经元更有效,多层神经网络难以直接利用BP算法,因为误差在多个隐藏层传递,使得处于发散而不能收敛的状态。无监督逐层训练时多隐藏层网络训练的主要方法,即预训练+微调,另一种方法是权值共享,即让一组神经元使用相同的连接权。

上一篇:redis遍历hash key


下一篇:iOS--理解MVC与MVVM