《机器学习》 第五章神经网络 总结

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

神经元(neuron)模型:上述定义中的”简单单元“,每个神经元与其他神经元相连,当它”兴奋“时,会向相连的神经元发送化学物质,从而改变这些神经元的电位,若这些神经元电位超过了一个阈值(threshold),那么它也会被激活,图5.1

激活函数(activation function):由神经元的输入产生一个值从而与阈值相比较,最理想的为阶跃函数,但为了连续且可导,一般采用sigmoid函数

感知机(perceptron):由两层神经元组成(图5.3),输入层接受外界信号后传递给输出层,输出层时M-P神经元,亦称阈值逻辑单元(threshold logic unit),实质是只拥有一层功能神经元(functional neuron)。感知机很容易实现逻辑与、或和非运算。

学习率(learning rate):影响权值调整幅度的一个参数,公式(5.2)

线性可分问题(linearly separable problem):能仅用一个线性超平面将两类模式分开的问题,解决此种问题时,感知机在学习过程中一定能达到收敛(converge);反之,处理线性不可分问题时感知机在学习过程中将会发生震荡(fluctuation),权值无法稳定下来,这个问题可用多层功能神经元解决

隐层(hidden layer):输出层和输入层之间地一层神经元,和输出层类似,隐层神经元也具有激活函数。只要包含隐层,则可称为多层网络

多层前馈神经网络(multi-layer feedforward neural networks):每层神经元与下一层神经元全互联,神经元之间不存在同层和跨层链接

神经网络的学习过程:根据训练数据来调整神经元之间的连接权(connection weight)以及每个神经元的阈值。换言之,神经网络学到的东西蕴含在连接权与阈值中

误差逆传播算法(error Backpropagation,BP)
训练多层网络的最经典算法,不仅可用于前馈神经网络,还可用于其他类型如递归神经网络,但“BP网络”不加说明通常指用BP算法训练的多层前馈神经网络,具体算法看另一篇博客

标准BP算法:每次仅针对一个训练样例更新权值和阈值

累计BP算法(accumulated error backpropagation):标准BP算法对不同样例的更新效果可能会出现“抵消”现象,为了达到同样的累计误差极小点,标准BP算法往往需要更多次数的迭代。累计BP算法在读取整个训练集D一边之后才对参数进行更新,对参数的更新频率低很多。在算法的具体体现上在于while(maxIter>0)循环中不嵌套for i in range(m)循环,这样就不需要每个样例更新一次阈值和权值

早停(early stopping):BP算法过拟合解决办法之一。将数据分为训练集和测试集,训练集用来计算梯度和更新权值阈值,训练集用来估计误差,若训练集误差降低而验证集误差升高则停止训练,同时返回具有最小验证机误差的连接权和阈值

正则化(regularization):在误差目标函数内增加一个用于描述网络复杂度的部分,例子公式(5.17)

全局最小与局部极小
这部分类似于高等数学中函数的极小值和最小值的关系。神经网络的训练过程可以看作一个参数寻优的过程,即在参数空间中寻找一组最优参数使得均方误差E最小。这个“最优”分为两种:局部极小(local minimum)和全局最小(global minimum)。参数寻优过程中可能存在多个局部极小值,但却只会有一个全局最小值,显然参数寻优的目标是全局最小

基于梯度的搜索:从某些初始解出发(例如BP算法一开始用随机数生成权值和阈值),迭代寻找最优参数值。每次迭代先计算误差函数在当前点的梯度,然后根据梯度下降最快的方向搜索最优解。然而这种搜索方法很有可能陷入某个局部极小中而找不到全局最小

跳出局部极小的方法1:以多组不同参数值初始化多个神经网络,按标准方法训练后取其中误差最小的解作为最终参数。这相当于从不同的点陷入不同的局部极小,从中选择最可能接近全局极小的结果

跳出局部极小的方法2:模拟退火(simulated annealing)。每一步都以一定概率接受比当前解更差的结果,这有助于跳出局部极小(但也有可能跳出全局极小)。同时为了保证算法稳定,接受次优解的概率要随着时间推移而降低

跳出局部极小的方法3:使用随机梯度下降。在计算梯度时加入随机因素,这使得在局部极小点时计算出的梯度仍然可不为零,这样就有机会跳出局部最小继续搜索

其他常见神经网络
书本这部分介绍十分简略,基本不涉及细节,主要是概念和思想

RBF网络(Radial Basis Function):使用径向基函数作为隐层神经元的激活函数,而输出层是隐层神经元输出的线性组合。具有多层隐层神经元的RBF网络能以任意精度逼近所有连续函数

竞争型学习(competitive learing):神经网络中一种常用的无监督学习策略,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的输出神经元被激活,其他输出神经元被抑制。这种机制亦称胜者通吃(winner-take-all)原则

ART网络(Adaptive Resonance Theory):竞争型学习的典型代表,神经元数目可以在训练过程中动态增长以适应新的模式类。ART比较好地缓解了竞争型学习中“可塑性-稳定性”窘境(stability-plasticity dilemma)。可塑性是指神经网络地学习新知识地能力,稳定性是指神经网络在学习新知识时要保持对旧知识的记忆。这就使得ART具有增量学习(incremental learning)的能力。

SOM(Self-Organizing Map)网络:一种竞争型无监督神经网络,它将高维输入数据映射到低维空间,同时保持输入数据在高维空间的头结构。

结构自适应网络:将网络结构也当作学习的目标,并希望能在训练过程中找到最符合数据特点的网络结构。前面讲的ART网络也是一种结构自适应网络

级联相关网络(cascade-carrelation):一种结构自适应网络。级联相关网络有级联和相关两个主要部分。级联是指建立层次连接的层级结构。开始训练时,网络只有输入层和输出层,随着训练进行,新的隐层神经元逐渐加入。相关是指通过最大化新神经元的输出与网络误差之间的相关性来训练相关参数。级联相关网络与前馈神经网络相比无需设置网络层数和隐层神经元数目,但在数据较小时容易过拟合

递归神经网络(recurrent neural networks):允许网络中出现环形结构,可让一些神经元的输出来反馈回来作为输入信号,这使得这种神经网络能够处理与时间有关的动态变化

Boltzmann机:一种基于能量的模型(enegy-based model)。为网络状态定义一个能量,能量最小化时网络达到理想状态。

深度学习(deep learing)
典型的深度学习就是很深层的神经网络。显然对于神经网络而言,容量(capacity)越大,模型复杂度越高,就越有可能完成更复杂的任务。因此以深度学习为代表的复杂模型开始受到关注。通常采取增加隐层的层数来增加模型复杂度,这比单纯地增加隐层神经元个数一般效率会更高。但多层神经网络难以用经典算法(例如BP算法)进行训练,这是因为误差在多隐层内传播时往往会发散(diverge)而达不到收敛稳定状态

无监督逐层训练(unsupervised layer-wise training):一种多隐层网络训练的有效手段。其基本思想是每次训练一层隐层节点,在每一层都训练结束后再对整个网络进行微调(fine-tunning)

权共享(weight sharing):让一组神经元使用相同的连接权。这个策略在卷积神经网络(convolutional neural network,CNN)中发挥了重要作用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值