【机器学习】5.神经网络

🚩 西瓜书 第五章笔记它来咯!
🚩 本章核心内容为 深度学习基础,利用计算机模拟神经元的记忆能力,构建非线性函数的关系映射。



神经元模型

神经网络:是由具有适应性的简单单元组成的广泛并行互连的网络。[Kohonen, 1988]
神经元:如果神经元的电位超过一定阈值,那么该神经元会被激活,向其他神经元发送信息。

  • 下面是一个简单的神经元示意图
    在这里插入图片描述
  • 可以看到这个神经元由多个输入的线性加权作为总输入,利用一个激活函数产生一个输出值。
  • 一般激活函数以θ为阈值,超过阈值则输出1(或接近1),代表兴奋
  • 反之输出0(或接近0),代表抑制。
    在这里插入图片描述

感知机与多层网络

感知机:由两层神经元组成,输入层接收外界输入信号后传递给输出层, 输出层是M-P 神经元。
多层感知机(MLP):包含至少三层的节点:一个输入层、一个或多个隐藏层以及一个输出层。

  • 感知机结构示意
    在这里插入图片描述

  • 观察神经元的函数(神经元可被看做是一个直线):
    在这里插入图片描述

  • 使用直线解决线性可分问题,组成或与非
    在这里插入图片描述

  • 显然,要解决异或问题使用一个神经元是不够用的:
    在这里插入图片描述

  • 由多个全连接层组成的多层感知机的示意图(其实两层感知机就可以模拟任何非线性函数,只不过多层感知机能够更快收敛):
    在这里插入图片描述

  • 神经网络学到的东西都保存在连接权重阈值之中。

误差逆传播算法 BP

误差逆传播 BP(error BackPropagation)(反向传播算法):从输出层开始,利用链式法则计算误差对网络参数的梯度,然后逐层反向传播这些梯度。使用梯度下降来更新网络权重,以减少损失。主要用于多层前馈神经网络。

  • 如果使用均方误差作为损失,判断神经网络的好坏:
    在这里插入图片描述
  • 那么根据梯度下降法,在给定学习率 η 的情况下,权重更新公式为:
    在这里插入图片描述
  • 如果使用Sigmoid函数作为激活函数,求导会很方便:
    在这里插入图片描述
    在这里插入图片描述
  • 作者给出的训练过程示意图
    在这里插入图片描述

  • 由于BP神经网络强大的学习能力,经常出现过拟合问题,其训练误差持续降低,但是测试误差却可能上升。

两种策略解决过拟合

  • 早停:将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阔值;验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权重和阈值。

  • 正则化:在误差目标函数中增加一个用于描述网络繁杂度的部分,例如连接权重和阈值的平方和,那么误差变为:
    在这里插入图片描述

全局最优和局部最优

  • 我们为了找到损失最小的点,于是想使得神经网络抵达loss最低点,但是总有局部最小想要害朕,因为神经网络每次只能走一定的距离,并且总是想往低处(损失最小点)走。一但掉到小坑里面,就有可能走不出去,从而无法抵达大坑:
    在这里插入图片描述

为了“跳出”局部极小,从而进一步找到全局最小,经常使用启发式技术:

  • 模拟退火:在每一步都以一定概率接受比当前解更差的结果,有助于“跳出”局部极小。在每步迭代过程中,接受“次优解”的概率随着时间的推移而逐渐降低,从而确保算法的稳定性。

  • 随机梯度下降:在计算梯度时加入随机因素,有时候即使陷入局部极小坑,也可能梯度不为零,这样就有机会跳出局部极小继续搜索。

  • 以多组不同初始参数开始训练,相当于从多个不同初始点开始搜索,有可能找到全局最优。

  • 遗传算法也可以用来更好逼近全局最小。

其他常见神经网络

径向基函数 RBF 网络

  1. 单隐层前馈神经网络
  2. 使用径向基函数作为隐藏层神经元的激活函数
  3. 输出层是对隐层神经元输出的线性组合
    在这里插入图片描述
  • 其中 q 是隐层神经元个数, c i c_i ci 是隐层神经元的中心, w i w_i wi 是隐层神经元的权重
  • 径向基函数样本 x 到数据中心 c i c_i ci 之间欧氏距离的单调函数,常见的为高斯径向基函数
    在这里插入图片描述
  • 具有足够多隐层神经元的RBF网络能够以任意精度逼近任意连续函数。

两步训练RBF网络:

  1. 使用随机采样、聚类等方法确定神经元中心 c i c_i ci
  2. 使用BP算法来确定参数 w i w_i wi β i \beta_i βi

自适应谐振理论 ART 网络

  • 是一种无监督学习策略,网络的输出神经元互相竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元被抑制
  • 该网络由 比较层、识别层、识别阈值、重置模块 构成
  • 比较层:负责接收输入样本,并将其传递给识别层神经元
  • 识别层:该层每个神经元对应一个模式类,神经元数目可以在训练过程中动态增长,以适应新的模式类

  1. 竞争:计算输入向量与每个识别层神经元所对应的模式类的代表向量之间的距离,距离最小者获胜,获胜神经元向其他识别层神经元发送信号,抑制其激活。
  2. 权重更新:若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阈值,则当前输入样本为代表向量所属类别。同时网络的权重更新,使得之后接收相似的输入样本时会计算出更大的相似度,使得获胜几率变大。
  3. 动态增加神经元:若相似度不大于识别阈值,则重置模块将在识别层增设一个新的神经元,其代表向量就设为当前输入的向量。

  • 阈值设置高,输入样本将会被分成比较多、比较精细的模式类
  • 阈值设置低,输入样本将会被分成比较少、比较粗略的模式类

  • ART 的两个优点增量学习在线学习缓解了竞争型学习中的“可塑性-稳定性窘迫
    • 可塑性:神经网络学习新知识的能力
    • 稳定性:神经网络学习新知识时,保持对旧知识的记忆

自组织映射 SOM 网络

  • 是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输入层中的邻近神经元。它是一种非常有效的数据可视化和降维手段。

  • 训练过程:在接收到一个训练样本后,每个输出层神经元会计算该样本与自身携带的权向量之间的距离,距离最近的神经元成为竞争获胜者,称为最佳匹配单元(best matching unit).然后,最佳匹配单元及其邻近神经元的权向量将被调整,以使得这些权向量与当前输入样本的距离缩小,这个过程不断迭代,直至收敛。
    在这里插入图片描述

级联相关 网络

  • 是一种结构自适应网络,将网络的结构作为学习的参数。
    在这里插入图片描述
  • 级联:建立层次连接的层级结构:在开始训练时,网络只有输入层和输出层,处于最小拓扑结构;随着训练进行,新的神经元不断加入,从而建立起层级结构,其输入端连接权值是冻结固定的。
  • 相关:通过最大化新神经元的输出与网络误差之间的相关性来训练相关参数。

优势

  • 无需设置网络层数、隐层神经元数目,且训练速度较快

Elman 网络

  • 递归神经网络,与前馈神经网络不同,该网络允许网络中出现环形结构
    在这里插入图片描述

Boltzmann机

  • 是一种基于能量的模型,神经元分为两层:显层与隐层。

  • 为网络状态定义一个能量,当能量最小化时,网络达到理想状态,网络训练就是在最小化这个能量函数。
    在这里插入图片描述

  • 显层用于表示数据的输入与输出隐层被理解为数据的内在表达。

  • Blotzmann机 中的能量被定义为:
    在这里插入图片描述

  • 标准的Boltzmann是一个全连接图,训练复杂度很高,因此常用受限的Boltzmann机(简称RBM机

  • 受限Boltzmann机常用对比散度进行训练,权重更新公式:
    在这里插入图片描述

深度学习

  • 经典的深度学习模型就是很深层的神经网络

  • 预训练指的是在大规模数据集上训练模型,以使其学习通用的特征和模式。(GPT4-o的解释) 即无监督逐层训练,基本思想是每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入。(课本的解释,课本解释有点老旧了)

  • 微调:是指在预训练模型的基础上,针对特定任务或数据集进行的进一步训练。这一过程通常涉及较小的学习率,以便模型能在新数据上适应而不破坏其已有的知识。通常只训练最后几层或整个模型,依赖于任务复杂性。

  • 经典的手写体识别卷积神经网络结构:
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值