周志华《机器学习》第 5 章 神经网络

来源:互联网 发布:临沂数据恢复 编辑:程序博客网 时间:2024/05/22 14:58

本文是 周志华《机器学习》系列文章 之一,主要介绍神经网络的原理 及常用的神经网络算法,最后介绍了深度学习算法。

第 5 章 神经网络

5.1 神经元模型

神经网络(neural networks)是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反映。神经网络中最基本的成分是神经元(neuron)模型,即上述定义中的“简单单元”。

在“M-P 神经元模型”中,神经元接收到来自 n 个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”(activation function)处理以产生神经元的输出。

5.2 感知机与多层网络

感知机(Perceptron)由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是 M-P 神经元,亦称“阈值逻辑单元”(threshold logic unit)。感知机能容易地实现逻辑与、或、非运算。感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元(functional neuron),其学习能力非常有限。

要解决非线性可分问题,需要考虑使用多层功能神经元,输出层与输入层之间的一层神经元被称为隐层或隐含层(hidden layer),隐含层和输出层神经元都是拥有激活函数的功能神经元。

每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,这样的神经网络结构通常称为“多层前馈神经网络”(multi-layer feedforward neural networks),其中输入层神经元接收外界输入,隐含层与输出层神经元对信号进行加工,最终结果由输出层神经元输出。换言之,输入层神经元仅是接受输入,不进行函数处理,隐层与输出层包含功能神经元。

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

5.3 误差逆传播算法

误差逆传播(error BackPropagation,简称 BP)算法是迄今最为成功的神经网络学习算法。现实任务中使用神经网络时,大多是在使用 BP 算法进行训练。BP 算法不仅可用于多层前馈神经网络,还可以用于其他类型的神经网络。但通常说“BP 网络”时,一般是指用 BP 算法训练的多层前馈神经网络。

BP 算法基于梯度下降(gradient descent)策略,以目标的负梯度方向对参数进行调整。学习率 η∈(0,1)控制着算法每一轮迭代中的更新步长,若太大则容易震荡,太小则收敛速度又会过慢。

BP 算法的目标是要最小化训练集 D 上的累积误差
这里写图片描述

如何设置隐层神经元的个数仍是个未知问题,实际应用中通常靠“试错法”(trial-by-error)调整。

有两种策略常用来缓解 BP 网络的过拟合,第一种策略是“早停”(early stopping),第二种策略是“正则化”(regularization)。

5.4 全局最小与局部最小

我们常会谈到两种“最优”:“局部极小”(local minimum)和“全局最小”(global minimum),“全局最小”一定是“局部极小”,反之则不成立。

基于梯度的搜索是使用最为广泛的参数寻优方法。

5.5 其他常见神经网络

5.5.1 RBF 网络

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

5.5.2 ART网络

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

ART 比较好地缓解了竞争型学习中的“可塑性-稳定性窘境”(stabilityplasticity dilemma),可塑性是指神经网络要有学习新知识的能力,而稳定性则是指神经网络在学习新知识时要保持对旧知识的记忆。这就使得 ART 网络具有一个很重要的优点:可进行增量学习(incremental learning)或在线学习(online learning)。

5.5.3 SOM网络

SOM (Self-Organizing Map,自组织映射)网络是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间相似的样本点映射到网络输出层中的邻近神经元。

SOM 的训练目的是为每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的。

5.5.4 级联相关网络

结构自适应网络将网络结构也当作学习的目标之一,并希望能在训练过程中找到最符合数据特点的网络结构。级联相关(Cascade-Correlation)网络是结构自适应网络的重要代表。

与一般的前馈神经网络相比,级联相关网络无需设置网络层数、隐层神经元数目,且训练速度较快,但其在数据较小时易陷入过拟合。

5.5.5 Elman 网络

与前馈神经网络不同,“递归神经网络”(recurrent neural networks)允许网络中出现环形结构,从而可让一些神经元的输出反馈回来作为输入信号。Elman 网络是最常用的递归神经网络之一。

5.5.6 Boltzmann 机

神经网络中有一类模型是为网络状态定义一个“能量”(energy),能量最小化时网络达到理想状态,而网络的训练就是在最小化这个能量函数。Boltzmann 机就是一种“基于能量的模型”(energy-based model)。

5.6 深度学习

随着云计算、大数据时代的到来,计算能力的大幅提高可缓解训练低效性,训练数据的大幅增加则可降低过拟合风险,因此,以“深度学习”(deep learning)为代表的复杂模型开始受到人们的关注。

典型的深度学习模型就是很深层的神经网络。对神经网络模型而言,提高容量的一个简单方法是增加隐层的数目,模型复杂度也可以通过单纯增加隐层神经元的数目来实现,但没增加隐层数目有效。

无监督逐层训练(unsupervised layer-wise training)是多隐层网络训练的有效手段,其基本思想是每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入,这称为“预训练”(pre-training);在预训练全部完成后,再对整个网络进行“微调”(finetuning)训练。

通过多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示后,用“简单模型”即可完成复杂的分类等学习任务。由此可将深度学习理解为进行“特征学习”(feature learning)或“表示学习”(representation learning)。

以往在机器学习用于现实任务时,描述样本的特征通常由人类专家来设计,这称为“特征工程”(feature engineering)。众所周知,特征的好坏对泛化性能有至关重要的影响,人类专家设计出好特征也并非易事;特征学习则通过机器学习技术自身来产生好特征,这使机器学习向“全自动数据分析”又前进了一步。

资源

周志华《机器学习》系列文章:http://blog.csdn.net/u012318074/article/category/6899087

周志华《机器学习》XMind思维导图笔记:http://pan.baidu.com/s/1eS5S95S 密码:oef0

0 0
原创粉丝点击