神经网络算法推导,附python实现一个简单神经网络

关于神经网络的介绍,搜了一下****多如牛毛,就不多介绍了。本博客的算法推导过程,参考了以下链接的文章,可参阅:

https://www.zybuluo.com/hanbingtao/note/476663

另外谷歌机器学习课程里面有一个神经网络反向传播的演示,可参考,链接如下:

https://google-developers.gonglchuangl.net/machine-learning/crash-course/backprop-scroll/

我在本推导中是矩阵的形式,为的是和后面python代码的公式对应起来,这样方便看到怎么把算法推导过程转变成代码。

红色字体是该公式的推导过程注释。

本例子非常简单,有3个输入,2两个输出,一层输入层,一层隐藏层,一层输出层,中间是找到两个合适的权重矩阵w12和w23,使得满足输入经过计算得到正确的输出。寻找合适的w12和w23权重矩阵,用的还是梯度下降法,即找到合适的权重,使得输出的误差和最小。

神经网络算法推导,附python实现一个简单神经网络神经网络算法推导,附python实现一个简单神经网络神经网络算法推导,附python实现一个简单神经网络神经网络算法推导,附python实现一个简单神经网络

运行结果:173次迭代之后输出值和目标值相等,即我们希望的目标值是0.5和0.7,经过迭代之后找到了w12和w23,使得输出的误差最小。

神经网络算法推导,附python实现一个简单神经网络

最佳权重矩阵:

神经网络算法推导,附python实现一个简单神经网络