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

这一章对人还是比较友好的,主要就是公式比较复杂,个人觉得这一章不如吴老师深度学习课程讲得好,有需要的小伙伴请移步B站学习。

文章目录

  • 前言
  • 一、感知机与多层网络
  • 二、BP算法
  • 三、其他常见的神经网络
    • RBF网络
    • ART网络
    • SOM网络
    • 级联相关网络
    • Elman网络
    • Boltzmann机
  • 三、深度学习


前言

``

以下是我个人的一些理解。


多多见谅

一、感知机与多层网络

感知机有两层神经元组成,分为输入层和输出层,输入层接受外界输入信号后传递给输出层,而输出层则是笔记1中的M-P 神经元模型。
只要包涵一个隐藏层,也就是至少两层有功能的M-P神经元,就可称为多层神经网络

二、BP算法

真正决定神经网络好不好用的,是神经元之间连接的权重和神经元的阈值。如何确定神经元的权重和阈值?大部分时间是在用反向传播。BP算法的思想非常简单:根据网络输出的答案与正确答案之间的误差,不断调整网络的参数。从数学层面上来讲就是链式求导法则,从程序上则是通过动态规划来实现的。
假设我们正在训练一个图片分类网络,输入一张图片,逐层向前计算后,输出该图片属于每个类别的概率。由于神经网络的初始参数是随机赋予的,大部分时间的答案都不尽如人意。这时,我们可以根据网络输出与正确答案之间的差距,从最后一层开始,逐层向前调整神经网络的参数。如果误差值为负,就提升权重,反之就降低权重。BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整。调整的程度受学习率的制约。学习率像一个旋钮,用来控制参数调整程度的高低。由于强大的调整能力,BP算法控制下的神经网络容易过拟合。即:在训练数据上表现得很好,却认不出新数据是什么。针对过拟合,我们可以采用 提前停止 策略。也就是将数据按一定的比例划分为训练集和验证集。用训练集调整参数,用验证集估算误差。如果训练集误差降低的同时,验证集的误差在升高,就代表网络开始过于适应训练集,这时就可以结束训练。还可以采用正则化策略

三、其他常见的神经网络

RBF网络

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

ART网络

竞争性学习(competitive learning)是神经网络中常用的一种无监督学习策略。网络的输出层神经元相互竞争,每个时刻仅有一个竞争获胜的神经元被激活,其他被抑制,即“胜者通吃”原则。

ART(Adaptive Resonance Theory,自适应谐振理论)网络是竞争性学习的代表。由比较层、识别层、识别阈值和重置模块构成。

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

SOM网络

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

级联相关网络

结构自适应网络:不仅利用训练样本确定合适的连接权、阈值等参数,还将网络结构作为学习的目标之一。级联相关(Cascade-Correlation)网络是结构自适应网络的代表。

级联:建立层次连接的层级结构。
相关:通过最大化新神经元的输出与网络误差之间的相关性(correlation)来训练相关的参数。
优点:无需设置网络层数、隐层神经元数目,训练速度较快

缺点:数据较小时容易陷入过拟合。

Elman网络

递归神经网络(recurrent neural networks, RNN):允许网络中出现环形结构,从而可以让神经元的输出反馈回来作为输入信号。这样使得网络在t tt时刻的状态不仅与t tt时刻的输入有关,还与t − 1 t-1t−1时刻的网络状态有关,从而处理与时间有关的动态变化。

Elman网络是最常用的递归神经网络之一。隐层神经元的输出被反馈回来,与下一时刻的输入层神经元提供的信号一起,作为隐层神经元的输出在下一时刻的输入。隐层神经元常常采用Sigmoid激活函数,网络的训练常通过推广的BP算法进行。

Boltzmann机

Boltzmann机(平衡态分布) 是一种“基于能量的模型”(最小化能量,达到理想状态),其神经元分为两层:显层与隐层。显层用于表示数据的输入和输出,隐层是数据的内在表达。

三、深度学习

预训练:无监督逐层训练是多隐层网络训练的 有效手段,基本思想是每次训练一层隐节点,训练时将上一层节点的输出作为输入,而本层隐结点的输出作为下一隐层的输入。
在训练全部结束后,再对整个网络进行微调
(DBN)训练加微调有效的节省了开销。另外一种手段是“权共享”(CNN),即让一组神经元使用相同的连接权。
经过多层处理,逐渐将初始的低层特征表示转换为高层特征表示后,用简单模型即可完成复杂的分类等学习任务。由此可以将深度学习理解为特征学习或者说表示学习。

你可能感兴趣的:(神经网络,学习)