神经元网络:M-P神经元模型
神经元接收来自其他n个神经元传递过来的信号,这些信号通过有权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行对比,通过激活函数的处理产生神经元的输出。
感知机与多层网络
感知机:由两层神经元组成,输入层传递信号给输出层,输出层是M-P神经元。只有输出层进行激活函数处理,拥有一层功能神经元。不能解决异或、非线性可分的问题。
多层网络:隐藏层和输出层均拥有激活函数的功能神经元。
PS:常见的神经网络是层级结构,即每层神经元与下一层神经元互连,神经元之间不存在同层连接,也不存在跨层连接,也称为多层前馈神经网络。前馈是指网络拓扑结构上不存在环或者回路。
神经网络的学习过程,就是学习连接权值和阈值的过程。
误差逆传播算法(BP)
不仅可以用于多层前馈神经网络,还可以用于其他类型的神经网络(如:训练递归神经网络)
BP是迭代学习算法,在每一轮迭代中采用广义的感知机学习规则对参数进行更新估计。基于梯度下降策略,以目标的负梯度方向对参数进行调整,由于强大的表示能力,因此用以过拟合。
标准的BP算法,每次仅针对一个训练样例更新连接权和阈值。
累积BP算法,直接针对累积误差最小化,读取整个训练集之后对参数更新。
存在的问题:如何设置隐层神经元的个数。实际中,往往通过试错法调整。
解决过拟合的策略:早停、正则化
全局最小和局部极小
跳出局部最小的方法:
- 利用多组不同参数值初始化多个神经元网络,相当于从多个初始点开始搜索。
- 模拟退火
- 随机梯度下降
- 遗传算法
跳出局部极小的技术大多是启发式,理论上缺乏保障。
常见的其他神经网络:
- RBF径向基函数网络;
- ART自适应谐振理论网络,属于竞争性学习网络,是无监督学习,可塑性稳定性好;
- SOM自组织映射网络,属于竞争性学习网络,是无监督学习;
- 联级相关网络,即结构自适应网络
- Elman网络,属于递归神经网络,允许网络有环形结构。
- Boltzmann网络,基于能量的模型,属于递归神经网络
深度学习
一般复杂模型训练效率低,容易陷入过拟合,深度学习使得训练数据大幅增加,降低过拟合风险。
增加隐藏层数目比增加隐藏层神经元更有效,多层神经网络难以直接利用BP算法,因为误差在多个隐藏层传递,使得处于发散而不能收敛的状态。无监督逐层训练时多隐藏层网络训练的主要方法,即预训练+微调,另一种方法是权值共享,即让一组神经元使用相同的连接权。