神经元模型
单一神经元的模型通常是一个阶跃函数或sigmoid函数,像是模拟神经元输入累积超过一定阈值才给一个输出。
感知机与多层网络
感知机就是两个输入给出一个输出的基础模型,再复杂的神经网络都是多个感知机叠加而成的。感知机可以根据训练误差,调整权重。
误差逆传播
误差逆传播就是BP算法,是神经网络训练的常用算法。标准BP算法和累积BP算法基本对应于随机梯度下降(参数更新只针对单个样本,参数更新频繁)和批量梯度下降(参数更新考虑所有样本)。
BP算法避免过拟合的策略包括“早停”和“正则化”。“早停”在每次训练完都要用验证集估计误差,当训练误差下降但验证误差升高时停止训练。“正则化”在误差函数中加入描述网络复杂度的部分。
全局最小与局部最小
这一部分内容对其他模型也都适用。梯度下降算法趋向于梯度为零的位置,但有可能是一个局部最小值,而非全局最小。常用的跳出局部最小的方法有:
以多组不同参数值初始化多个神经网络,相当于从不同初始点开始梯度下降,有可能陷入不同的局部最小,再从中选择更接近全局最小的结果;
模拟退火,类似金属冷却中的原子,一开始都是随机运动的,但慢慢趋于稳定。在当前问题中,即在梯度下降的每一步中都以一定概率接受比当前解更差的结果,从而有助于跳出局部最小。
随机梯度下降。因为每次更新只考虑一个样本,那么单一样本的随机误差其实也有助于跳出局部最小。