1、神经元模型
神经网络最广泛的定义:神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,他的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
神经网络中最基本的成分是神经元模型,即上述定义中的“简单单元”。在生物神经网络中,神经元之间相连,当某一个“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位,如果超过“阈值”,那么就被激活,即“兴奋”起来,向其他神经元发送化学物质。
上述情形可以抽象为下图所示的简单模型,“M-P神经元模型”
神经元接受到的总输入值与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。
以下是理想中的阶跃函数和常用的挤压函数
2、感知机与多层网络
感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”
感知机能容易的实现逻辑与、或、非运算。
感知机的学习规则非常简单,对训练样例(x,y),若当前感知机的输出为y’,则感知机权重调整:
η
∈(0,1)成为学习率,通常为小正整数。
感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元,学习能力有限,只能解决与、或、非等线性可分的问题,像异或这样简单的非线性可分问题也不能解决。
要解决非线性可分问题,需要考虑使用多层功能神经元。
两层感知机(单隐层网络),输出层与输入层之间的一层神经元被称为隐层或隐含层,隐含层和输出层神经元都是拥有激活函数的功能神经元。
常见的神经网络(下图)层级结构。每层神经元与下一层神经元全互通,神经元之间不存在同层连接,也不存在跨层连接。这样的神经网络结构通常称为“多层前反馈神经网络”。
输入层接收外界输入,隐层与输出层对信号进行加工,最终结果由输出层神经元输出。
神经网络的学习过程就是根据训练数据来调整神经元之间的“连接权”以及每个功能神经元的阈值。
3、误差逆传播算法
BP算法不仅可用于多层前馈神经网络,还可用于其他类型的神经网络,例如训练递归神经网络,但通常所说的BP网络,一般是指用BP算法训练的多层前馈神经网络。
BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整。
学习率
η
∈(0,1)控制着算法每一轮迭代中的更新步长,若太大则容易振荡,太小则收敛速度过慢,(还容易陷入局部最优)
全局最小与局部极小
求导易陷入局部最优解
现实任务中,常采用以下策略来试图“跳出”局部极小
1、以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数。
2、使用“模拟退火”技术,在每一步以一定的概率接受一个次优解,随着时间的推移接受次优解的概率逐渐降低,从而保证算法稳定。
3、使用随机梯度下降,与标准梯度下降法精确计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素。
此外,遗传算法也常用来训练神经网络以更好地逼近全局最小。