5.1 神经网络模型
5.1.1.基本概念
- 神经网络:具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应
- 本课程进讨论神经网络与机器学习的交集,即“神经网络学习”亦称“连接主义”学习
- “简单单元”神经元模型如图1所示,神经网络学得的知识蕴含在连接权与阈值中
图1 M-P神经元模型
- 运行过程:神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将于神经元的阈值进行比较,若其比阈值大,通过“激活函数”处理产生神经元的输出
5.1.2.神经元”激活函数“
- 理想激活函数是阶跃函数,0表示抑制神经元,1表示激活神经元
- 阶跃函数具有不连续、不光滑等不好的性质,常用的是Sigmoid函数,亦称”挤压函数“
图2 典型的神经元激活函数
5.2 感知机与多层网络
5.2.1.感知机
- 感知机由两层神经元组成,如图1所示,输入层接受外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”
图1 两个输入神经元的感知机网络结构示意图
- 感知机是一个二分类线性分类器,其基本原理如下
- )模型结构:感知机由输入层和输出层组成。输入层接收输入特征向量 ( \mathbf{x} = (x_1, x_2, \ldots, x_n) ),每个输入特征对应一个权重 ( \mathbf{w} = (w_1, w_2, \ldots, w_n) ),并且有一个偏置项 ( b )。输出层根据输入特征向量加权求和后通过激活函数(通常是阶跃函数)得到预测输出 ( \hat{y} )。
-
)激活函数:最经典的激活函数是阶跃函数(Step Function),根据加权和 ( \mathbf{w} \cdot \mathbf{x} + b ) 的结果输出 0 或 1。也可以使用其他函数如符号函数(Sign Function),将加权和的结果直接作为输出的类别标签。
-
)学习算法:感知机的学习算法是一种在线学习的算法,通常采用随机梯度下降(Stochastic Gradient Descent, SGD)来更新权重和偏置 ( b )。当预测错误时,调整权重和偏置来减少错误,直到达到一定的迭代次数或者达到一定的准确率。
- 感知机的特点:线性可分性、收敛性
5.2.2.多层前馈网络结构
- 多层网络:包含隐层网络
- 前馈网络:神经元之间不存在同层连接也不存在跨层连接
- 隐层和输出层神经元亦称“功能单元”
图1 多层前馈神经网络结构示意图
- 多层前馈网络有强大的表达能力(“万有逼近性”),仅需要一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数
- 如何设置隐层神经元数是未决问题,实际常用“试错法”
5.3 BP算法推导(误差逆传播算法)
5.3.1.BP算法推导
- 推导过程
- BP是一个迭代学习算法,在迭代的每一轮中采用广义感知机学习规则
- BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整
- E的表达由y决定,y由公式中的B决定
- 学习率控制着算法每一轮迭代中的更新步长,过大容易振荡,过小则收敛速度过慢