Make Your Own Neural Network(十五)-----权重更新实例

Make Your Own Neural Network

构建你自己的神经网络

https://blog.csdn.net/lz0499

作者:lz0499


 

声明:

1)Make Your Own Neural Network翻译自Tariq Rashid编写的神经网络入门书籍。作者的目的是尽可能的少用术语和高深的数学知识,以图文并茂的方式讲解神经网络是如何工作的。任何拥有高中数学水平的人就能够理解神经网络的工作方式。强烈推荐初学者以这本书作为神经网络入门书籍。

2)本文仅供学术交流,非商用。翻译的初衷是一边翻译一边加深对神经网络的理解。

3)由于刚刚接触神经网络这方面的知识,翻译过程中难免有些错误。若发现错误,还请各位前辈指正。谢谢!

4)由于工作原因,我将有选择的按照原文的章节不定期的进行翻译更新。

5)此属于第一版本,若有错误,还需继续修正与增删。


目录:

第一部分:神经网络是如何工作的

一种简单的预测机

分类即是预测

训练一个简单的分类器

单个分类器似乎远不够

神经元,自然界的计算机

通过神经网络的信号

矩阵很有用

利用矩阵计算三层神经网络的输出结果

从多个节点更新权重

从多个节点中反向传递误差

多层神经网络层反向传输误差

利用矩阵乘法计算反向传输误差

实际上是如何更新权重(一)

实际上是如何更新权重(二)

权重更新实例

权重更新实例

让我们实际计算下一个简单的神经网络中权重是如何更新的。

下图是我们之前遇到的一个神经网络。但是这次我们添加了每一个隐藏层的输出结果。这些输出结果只是为了演示如何更新权重而设置的,实际中并不一定是这个值。


我们想更新隐藏层和输出之间的权重W1,1。W1,1当前的权重值为2.0.

让我们再一次写出误差斜率表达式

我们一步一步开始计算:

l  第一部分tk-ok是误差e1=0.8

l  Sigmoid函数中的加权和为2.0*0.4+3.0*0.5=2.3

l  把2.3带入Sigmoid函数得到0.909.中间表达式为0.909*(1-0.909)=0.083

l  最后一部分Oj即使j=1的隐藏层输出,即为oj=0.4

把上述所有部分相乘,不要忘记前面的负号。我们将得到最后的结果为-0.0265。如果我们设置学习率为0.1,则我们需要改变权重W1,1 -(0.1*-0.0265)=0.002650大小,即W11=2.0+0.002650=2.00265。

这个改变值很小,但是经过上千次甚至上万次迭代之后,权重值将固定在某一个数值,表示的是神经网络已经训练好了。







评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值