bp神经网络
1.前向传播
前向传播为基础神经网络知识,此处不过多叙述。
2.反向传播
反向传播为bp算法核心,即使用梯度下降的方法反向训练模型,将cost function(用J函数表示)最小化。
为什么vij与wj都可以被J函数求偏导呢,它们不在同一层,且vij会影响wj?
答:神经网络的多层结构中,每一层都有参数,前层的参数经过计算为后层提供输出。
但可以将整个网络看作vij与wj再加上偏置值b作为所有参数构成的一个模型,最终产生一组输出值y。
并且cost function可以看作vij与wj再加上偏置值b作为所有参数进行输入,返回一个损失值作为输出的一个函数。
因此cost function可以进行梯度下降,并且对于多层之前的参数,需要进行链式求导。
1.求wj梯度
2.求θy梯度(隐藏层的偏置值)
3.求vij梯度 (假设y与ui都使用sigmoid函数)
4.求θju梯度(输入层的偏置值)
补充:各激活函数的求导