神经网络算法推导,附python实现一个简单神经网络
2018-03-08 00:32
1266 查看
关于神经网络的介绍,搜了一下csdn多如牛毛,就不多介绍了。本博客的算法推导过程,参考了以下链接的文章,可参阅: 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权重矩阵,用的还是梯度下降法,即找到合适的权重,使得输出的误差和最小。
运行结果:173次迭代之后输出值和目标值相等,即我们希望的目标值是0.5和0.7,经过迭代之后找到了w12和w23,使得输出的误差最小。
最佳权重矩阵:
另外谷歌机器学习课程里面有一个神经网络反向传播的演示,可参考,链接如下: https://google-developers.gonglchuangl.net/machine-learning/crash-course/backprop-scroll/
我在本推导中是矩阵的形式,为的是和后面python代码的公式对应起来,这样方便看到怎么把算法推导过程转变成代码。
红色字体是该公式的推导过程注释。
本例子非常简单,有3个输入,2两个输出,一层输入层,一层隐藏层,一层输出层,中间是找到两个合适的权重矩阵w12和w23,使得满足输入经过计算得到正确的输出。寻找合适的w12和w23权重矩阵,用的还是梯度下降法,即找到合适的权重,使得输出的误差和最小。
运行结果:173次迭代之后输出值和目标值相等,即我们希望的目标值是0.5和0.7,经过迭代之后找到了w12和w23,使得输出的误差最小。
最佳权重矩阵:
相关文章推荐
- 基于python实现一个简单的神经网络
- 实现一个最简单的神经网络
- 一个 11 行 Python 代码实现的神经网络
- 在matlab基础上简单实现一个神经网络算法
- 一个 11 行 Python 代码实现的神经网络
- 用Python 代码实现简单的神经网络
- 使用python实现简单全连接神经网络
- Python写一个简单的神经网络
- 一个 11 行 Python 代码实现的神经网络
- python简单实现神经网络
- 十一行Python代码实现一个神经网络(第一部分)
- 13行Python代码实现一个神经网络(Part 2 - 梯度下降法)
- 十一行Python代码实现一个神经网络(第一部分)
- 神经网络中的反向传播的推导和python实现
- 用python实现一个神经网络
- 三层神经网络简单实现(Python版)
- 一个 11 行 Python 代码实现的神经网络
- 一个 11 行 Python 代码实现的神经网络
- 利用tensorflow 一步一步实现一个简单神经网络,线性回归
- 深度学习(二):用CNTK在Python下实现一个简单的FeedForward网络