1.多层向前神经网络由以下部分组成:
输入层(input layer ),隐藏层(hidden layers ), 输入层(output layers)
(1)输入层:数据集传入到里面开始计算,训练集的实例向量来传入的。
(2)经过连接结点的权重(weight)传入下一层,一层的输出是下一层的输入
(3)隐藏层的个数可以是任意的,输入层有一层,输出层有一层
(4)一层中加权的求和,然后根据非线性方程转化输出
2.Backpropagation算法:
通过迭代性的来处理训练集中的实例
对比经过神经网络后输入层预测值(predicted value)与真实值(target value)之间
反方向(从输出层=>隐藏层=>输入层)来以最小化误差(error)来更新每个连接的权重(weight)
算法详细介绍
输入:D:数据集,l 学习率(learning rate), 一个多层前向神经网络
输入:一个训练好的神经网络(a trained neural network)
初始化权重(weights)和偏向(bias): 随机初始化在-1到1之间,或者-0.5到0.5之间,每个单元有
一个偏向
1.[(输入层的第一个神经元*对应权重)+(输入层的第二个神经元*对应权重)+。。。]
2.对于输出层:
2.对于输出层:
误差: 输出层的值×(1-输出层的值)×(真正的值-输出层的值 )
3.对于隐藏层:
误差:(当前层算出来的值)×(1-当前层算出来的值)×(上一层的值×当前层和上一层的权重)
4.权重的更新:
原来的权重 + (学习率×后面层的误差)× 前面层的值
*****注意输出层和隐藏层的区别********
5.偏向的更新:
原来的偏向+(学习率×当前点的误差)