概述
M-P神经元模型:神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将于神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。
实际常用Sigmoid函数作为激活函数
把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络。
事实上,从计算机科学的角度看,我们可以先不考虑神经网络是否真的模拟了生物神经网络,只需将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数,例如y嵌套代入而得。有效的神经网络学习算法大多以数学证明为支撑。
反向传播算法
反向传播算法使用梯度下降算法作为核心学习机制。开始给定随机的权重,反向传播算法计算网络的权重,做出细小调整,并逐渐根据网络产生的效果和预期结果之间的误差做出调整。
该算法从输出向输入传播误差,并且逐渐精细地调整网络权重,来让使用梯度下降法计算的误差总和最小化。学习过程的每个周期被称为一个epoch。
基本算法步骤如下:
- 第一步——网络初始化:确定权重的初始值。通常神经网络使用随机权重进行初始化。
- 第二步——前向反馈:通过节点激活函数和权重,信息在网络中从输入层前向传递到隐藏层和输出层。
- 第三步——误差评估:评估误差是否足够小到能够满足需求,或者迭代次数是否已经达到预设的上限。如果满足任何一种情况,训练结束。反之,学习进程迭代地持续。
- 第四步——传播:使用输出层的误差来重新调整权重。算法在网络中反向传播误差,并计算相对于权重值变化的误差变化的梯度。
- 第五步——调整:以降低误差为目标,使用变化梯度对权重作出调整,根据激活函数的导数,网络输出和实际目标结果之间的差异,以及神经元输出,调整每个神经元的权重和偏差。网络通过该过程进行“学习”。
公式: