一、概述
神经网络算法( Neural Network )是机器学习中非常非常重要的算法。这是整个深度学习的核心算法,深度学习就是根据神经网络算法进行的一个延伸。理解这个算法的是怎么工作也能为后续的学习打下一个很好的基础。
二、背景
神经网络是受神经元启发的,对于神经元的研究由来已久,1904年生物学家就已经知晓了神经元的组成结构。
- 1943年,心理学家McCulloch和数学家Pitts参考了生物神经元的结构,发表了抽象的神经元模型MP。
- 1949年心理学家Hebb提出了Hebb学习率,认为人脑神经细胞的突触(也就是连接)上的强度上可以变化的。于是计算科学家们开始考虑用调整权值的方法来让机器学习。这为后面的学习算法奠定了基础。
- 1958年,计算科学家Rosenblatt提出了由两层神经元组成的神经网络。他给它起了一个名字--感知器(
Perceptron
)。 - 1986年,Rumelhar和Hinton等人提出了反向传播(
Backpropagation
,BP)算法,这是最著名的一个神经网络算法。
三、多层神经网络
多层向前神经网络由三部分组成:输入层(input layer), 隐藏层 (hidden layers), 输入层 (output layers)
- 每层由单元(units)组成,输入层(input layer