Task04 详读西瓜书 + 南瓜书第 5 章
1 神经元模型
- 神经网络概念: 由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物种所作出的交互反应
- M-P 神经元模型: 每个神经元收到
个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接传递,神经元接收到的总输入值与该神经元阈值进行比较,然后通过激活函数处理,产生神经元的输出。 - 激活函数常采用 Sigmoid 函数:
2 感知机与多层网络
- 感知机概念: 由两层神经元组成,输入层接收外界信号后传递给输出层,输出层是 M-P 神经元(阈值逻辑单元)
- 感知机学习规则: 对训练样例
,若当前感知机的输出为 ,则感知机权重进行如下调整:
其中
- 多层神经网络:目的是解决非线性可分问题,输出层和输入层之间的被称为隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。
3 误差逆传播算法 (BP 算法)
- BP 算法思路: 首先将误差反向传播给隐含层神经元,调节隐含层到输出层的连接权重与输出层神经元的阈值;接着根据隐含层神经元的均方误差,来调节输入层到隐含层的连接权值与隐含层神经元的阈值。
- BP 算法基本流程: 输入: 训练集
学习率 过程: (1) 在 范围内随机初始化网络中所有连接权和阈值; (2) repeat (3) for all do (4) 根据当前参数和 计算当前样本的输出 ; (5) 根据 计算输出层神经元的梯度项 ; (6) 根据 隐藏层神经元的梯度项 ; (7) 更新连接权 与阈值 ; (8) end for (9) until 达到停止条件 输出: 连接权与阈值确定的多层前馈神经网络 - BP 算法更新规则: 基于每个样本的预测值与真实类标的均方误差来进行权值调节,即每次更新只针对单个样例。其最终目标是要最小化整个训练集
上的累积误差,即: - 通过“试错法”设置隐含层神经元个数,使得多层前馈网络能够逼近连续函数。
- 解决 BP 网络的过拟合:
- 早停(early stopping):将数据分为训练集与验证集,训练集用于计算梯度、更新连接权重和阈值,验证集用于评估误差,若在训练过程中,训练集误差降低,而验证集误差升高,则停止训练。
- 正则化(regularization):在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权重与阈值的平方和,其中
用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计。
