神经网络构成
神经网络分为三层:输入层(input layer),隐含层(hidden layer),输出层(output layer)
(输入层的个数由输入层的特征个数决定,而不是样本的个数)
假设输入层有n个节点,隐含层有m个节点,输出层有k个节点
令W_ni_mj为输入层第i个节点到隐含层第j个节点的一个连接强度(这两个节点之间的权值),bj为隐含层第j个节点的阈值
第i个输入节点经过第j个隐含层的输出为
W_ni_mj*xi+bj
所有的输入节点经过第j个隐含层的输出为
S=sum{W_ni_mj*xI}+bj i=1,2,3…n
当然并不能把S直接输出
要通过传递函数/激活函数(transfer function/activate function )f(.) 进行转换就可以输出了
训练方式
BP神经网络由数据流的前向运算和误差分析的反向传播两部分构成
正向传播
方向为输入层->隐含层->输出层
每层神经元状态只影响下一层神经元
使用规定好的参数来一层一层的进行计算直到最后输出
反向传播
当得到的值不符合期望值时,就会反向传播根据损失函数来更新每一层神经元的参数值<