资讯详情

西瓜书 第5章 神经网络 5.1-5.3

神经网络

一、神经元模型

生物神经元

??在生物神经网络中,每个神经元与其他神经元相连。当它兴奋时,它会向相邻的神经元发送化学物质,从而改变这些神经元的电位。如果一个神经元的电位超过一个阈值,它将被激活(兴奋)并向其他神经元发送化学物质。 在这里插入图片描述

??1943年,McCulloch and Pitts基于生物神经元模型的经典抽象M-P神经元模型。神经元接收来自n个其他神经元的输入信号,通过权重连接传输,神经元接收总输入值将与神经元的阈值通过激活函数处理进行比较,产生神经元输出。

2.激活函数的作用

a、引入非线性因素

??面对线性可分数据集,简单地使用线性分类器来解决分类问题。然而,现实生活中的数据往往不是线性的。面对这些数据,通常有两种方法:引入非线性函数线性变换

b、线性变换

??它是通过一定的线性映射将当前特征空间转换为另一个空间,使数据更好地分类。

c、激活函数(响应函数)

??在神经网络中,为了避免简单的线性组合,在每层输出后添加激活函数(sigmoid、tanh、ReLu等等)。通过这些激活函数,每层的输出变得比以前复杂得多,从而提高了神经网络模型的表达能力。当然,如何选择这个激活函数仍然需要结合问题进行分析。 ??理想中的激活函数应该是将任意输入值映射为 0(抑制)或 1(兴奋),即阶跃函数。但是阶跃函数具有不连续、不光滑等不良性质。所以在实践中经常使用 sigmoid 作为激活函数,函数将可能在较大范围内发生变化的输入值挤压到(0,1)输出值内(所以也叫挤压函数)。阶跃函数(左)和sigmoid函数(右)。

d、Sigmoid函数

??它是一种常用的非线性激活函数,可以连续输入实值压缩到0和1之间。 特别是,如果是非常大的负数,则输出为0;如果是非常大的正数,则输出为1。 sigmoid 函数被广泛使用,但近年来,使用它的人越来越少。主要是因为它的一些缺点

  1. ??sigmoid 当输入非常大或非常小时,有一个非常致命的缺点(saturation),从图中可以看出,这些神经元的梯度接近0。因此,应尽量避免参数的初始值 saturation 的情况。如果初始值很大,大部分神经元可能都在 saturation 的状态而把 gradient kill 掉下来,会使网络难以学习。
  2. ??这是不可取的,因为这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。 结果之一是,如果数据进入神经元是正的(e.g.x>0 elementwise in f=wTx b),那么 w 计算出来的梯度总是正的。 ??当然,如果按batch去训练,那个batch它可能会得到不同的信号,所以这个问题仍然可以得到缓解。因此,虽然非0平均值会产生一些不良影响,但上述问题 kill gradients 问题要好得多。

e、神经网络模型

??将许多这样的神经元模型连接到一定程度的结果中,以获得神经网络。事实上,神经网络模型只是给出了类比神经网络的概念,而不是真正模拟神经网络本质上面是几个函数的嵌套(带入),有效的神经网络模型大多由数学模型支撑。

二、感知机和多层网络

1、感知机

??感知机(perceptron)输入层由两层神经元组成,接收外部信号后输入输出层(一个M-P神经元)。

2.感知机网络

感知功能很容易实现、或、非操作:

??一般来说,给定训练集,权重 以及阈值 θ 可通过学习获得(阈值) θ 连接权重可视为固定输入的哑节点 ,可以统一学习权重)。

感知机权重调整过程:

???∈(0,1)学习率, xi 控制每一个 wi 不同的变化率。如果感知机预测准确,感知机不会改变,否则权重会根据错误程度进行调整。 ??感知机只有一层功能神经元,如果两种模式是,只能解决线性可分问题线性可分是的,必须有线性超平面将其分开,因此只需要适当的权向量,感知机就会收敛。然而,对于非线性可分问题,感知机会波动,无法得到适当的解决方案,如不同或问题。

3、多层网络

??为了解决异常或问题,需要多层功能神经元,因此引入了具有激活函数的功能神经元。 下图为解决异常或问题的两层感知机:

??在多层网络中,每层神经元与下层神经元完全相连,同层神经元不相连,相邻层神经元不相连。这种神经网络被称为多层前馈神经网络(前馈并不是说信号不能向后传输,而是说网络拓扑结构中没有环或电路)。 下图为两种多层感知机:

??神经网络学到的东西包含在连接权(包括激活阈值)中。

三、误差逆传播(error BackPropagation)算法

??给定训练集 (输入是 d 输出是个属性 l 维实向量)得到以下多层前馈网络结构,其中输出层 j 使用神经元第阈值 θj 表示,隐层第 h 使用神经元第阈值 γh 表示。 下图为多层前馈网络(BP网络结构:

??假设隐层和输出层都使用神经元sigmoid函数(sigmoid函数很多,实际上是对率函数)。

对训练例 (x_k,y_k) ,假设神经网络的输出是 ,即

网络在 (x_k,y_k) 均方误差为

易知以上网络中有 (d i 1)q l 需要确定个参数,BP在每一轮迭代中,迭代学习算法使用广义第感知器学习规则来更新参数 ? ← ? △? 以 为例 BP算法基于梯度下降,根据目标负梯度方向调整参数,给出学习率 ? ,则

根据链式法则

显然

对率函数有

令上式为 g_j ,则

类似地令 e_h 为

??? 算法的收敛效果直接受到选择的影响,隐藏层通常用于输出层之间 ?1 ,输入层与隐藏层之间使用另一层 ?2 。

首先向输入神经元提供输入示例,然后逐层前传信号,直到输出层结果;然后计算输出层的误差,然后将误差反向传播到隐藏神经元,最后根据隐藏神经元的误差调整连接权和阈值,以便循环迭代,直到达到停止条件。

最小化训练集累计误差

??上面(标准BP)推导是单个为基础 Ek 是的,每次只更新一个训练样本的链接权和阈值。如果更新规则基于累积误差最小化,则累积误差反向传播(累积误差反向传播)BP)。 ??标准BP更新非常频繁,抵消可能发生在不同的例子之间。因此,为了达到相同的累积误差,标准非常小BP 需要更多的第迭代次数;累计BP 阅读完整的训练集 i 在更新参数之前,更新频率要小得多,但累积误差下降到一定程度后,下降会非常缓慢(特别是当训练集非常大时),这是标准BP 收敛速度会更快。 ??只要神经元足够,BP 由于其强大的表达能力,算法可以以任意精度连续函数,BP 神经网络经常过拟合,常用的解决方案是提前终止(训练集误差降低但验证集误差升高则终止)和正则化。 ??正则化的基本思想是定义约束和惩罚,上述提前终止是一种约束。以惩罚为例,目标误差函数可以改写为

传输网络在增加正则项后会更加光滑。

标签: 5挤压单连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台