在之前的文章中我简单展望过人工智能。并提出过神经网络是一个核心技术,今天我就要介绍神经网络的经典算法反向传播神经网络(Backpropagation Neural Network)。
BP网络由DE Rumelhart, GE Hinton等于1986年提出(值得注意的是GE Hinton也是深度学习的奠基人),它是最经典的一个神经网络算法。神经网络是一组连接的输入/输出神经元,每个连接都有相对应的权重。如图,是一个典型的多层前馈(multilayer feed-forward)神经网络结构。它由一个输入层、一个输出层和多个隐藏层组成。在给出输入后,经过层层网络,最后得到一个输出。而神经网络算法本质就是找为各连接找出合适的权值。
网络计算过程
在讨论BP算法前,还是先明确一下,在上面的网络中得到权值后,具体的计算过程到底是怎么回事。首先明确,上图中的输入层其实是我们要分类的样本的各特征,而隐藏层和输出层每个圆圈都代表了一个sigmoid单元。如下图所示,sigmoid的计算过程为:首先得到各输入与常数1的和 net=∑ni=0wixi ,然后用sigmoid函数计算输出 out=σ