一、M-P神经元模型
M-P是McCulloch and Pitts的简写。一个神经元的兴奋状态为当其接收的信号超过了一个阈值,电位发生改变,被激活。
引入激活函数:输出为0或者1,1对应于兴奋,0表示抑制。但阶跃函数不连续、不光滑,通常选用“S”型的函数,本文使用sigmoid函数,也成称为“挤压函数”
多个神经元按照一定的层次结构连接起来,就是神经网络,神经网络是包含了很多参数的数学模型,在训练模型的时候,也是一个求参数的过程。
二、感知机
比较简单,略。但需要知道感知机的学习规则是怎么样的,感知机的学习思路是多层网络学习算法的基础,即通过更新参数不断学习的过程。
三、BP算法
可用于多层前馈神经网络、递归神经网络。下面具体推导BP神经网络的更新公式。
BP算法是基于梯度下降的策略,即以目标的负梯度方向对参数进行更新。
赋予阈值更新公式的推导同理,推导不难,需要注意的是中间的求导过程不要漏掉符号。
在很多任务中,相比累积BP算法,标准BP往往会更快获得较好的解,因为累积误差下降到一定程度之后,进一步下降会非常缓慢,而这时,每次更新针对单个样例的标准BP算法会更快,尤其是当训练集很大的时候。
四、BP算法的缺点
1. BP神经网络容易过拟合。解决方法:早停和正则化
早停:若训练误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。
正则化:在误差目标函数中增加一个描述网络复杂度的部分。
2. 如何设置隐层神经元的个数,仍未解决,通常依靠“试错法”或经验