1.什么是神经网络
1.1 背景 :
- 以人脑中的神经网络为启发,历史上出现过很多不同版本
- 最著名的算法是1980年的 backpropagation
1.2 多层向前神经网络(Multilayer Feed-Forward Neural Network)
- Backpropagation被使用在多层向前神经网络上
多层向前神经网络由以下部分组成:
输入层(input layer), 隐藏层 (hidden layers), 输入层 (output layers)- 每层由单元Unit组成
- 连接Unit之间有权重weights
- 输入层用来输入数据
- 隐藏层数量可以是任意的
- 理论上有足够多的数据以及足够多的隐藏层,该网络可以模拟出任何方程
- 需要进行非线性的转换
- 以上构成2层的神经网络 输入层不作为一层
2. 主要算法介绍
2.1 关于非线性转化方程(non-linear transformation function)
代码中叫做 sigmoid / sigmoidDer (命名不当,理解就好)
- 双曲函数(tanh) 以及 导数
numpy库提供了tanh函数 : numpy.tanh(x)
导数为 : 1.0−tanh(x)2
- 逻辑函数(logistic function) 以及 导数
函数为 : logistic(x)=11+e−x
导数为 : logistic(x)⋅(1−logistic(x))