python神经网络编程

本文详细介绍了神经网络的工作原理,包括思路、方法、计算过程以及权重更新策略。通过矩阵乘法阐述神经网络的计算,并重点讲解了反向传播误差和梯度下降法在权重更新中的应用。最后,文章预告了Python实现神经网络的相关内容。
摘要由CSDN通过智能技术生成

神经网络如何工作

思路

多层神经网络,每一层中的神经元都与前后层的神经元互相连接,不采用创造性的方式将神经元连接起来,原因有两点:

  1. 第一是这种一致的完全连接方式事实上可以相对容易地编码成计算机指令;
  2. 第二是神经网络的学习过程将会弱化这些实际上不需要的连接(也就是这些连接的权重将趋于0),因此对于解决特定任务所需最小数量的连接冗余几个连接,也无伤大雅。

方法

使用矩阵乘法来进行神经网络的计算:

  1. 通过神经网络向前馈送信号所需的大量运算可以表示为矩阵乘法;
  2. 不管神经网络的规模如何,将输入输出表达为矩阵乘法,使得我们可以更简洁的进行书写;
  3. 更重要的是,一些计算机编程语言理解矩阵运算,并认识潜在的计算方法的相似性。并允许计算机高速高效地进行这些计算。

计算过程

以3层神经网络为例:
输入层到隐藏层: X h i d d e n = W i n p u t − h i d d e n . I 输入层到隐藏层: X_{hidden} = W_{input-hidden} . I 输入层到隐藏层:Xhidden=Winputhidden.I
隐藏层输出矩阵: O h i d d e n = s i g m o i d ( X h i d d e n ) 隐藏层输出矩阵: O_{hidden} =sigmoid(X_{hidden}) 隐藏层输出矩阵:Ohidden=sigmoid(Xhidden)
输出层的组合调节输入信号: X o u t p u t = W h i d d e n − o u t p u t . O h i d d e n 输出层的组合调节输入信号: X_{output} = W_{hidden-output} . O_{hidden} 输出层的组合调节输入信号:Xoutput=Whiddenoutput.Ohidden
输出信号: O o u t p u t = s i g m o i d ( X o u t p u t ) 输出信号: O_{output} = sigmoid(X_{output}) 输出信号:Ooutput=sigmoid(Xoutput)

下一步,将神经网络的输出值与训练样本中的输出值进行比较,计算出误差。我们需要利用这个误差值来调整神经网络本身,进而改进神经网络的输出值。

多个输出节点反向传播误差

  1. 将输出误差标记为 e o u t p u t e_{output} eoutput,将在输出层和隐藏层之间的链接权重标记为 w h o w_{ho} who。通过将误差值按权重的比利进行分割,我们计算出与每条链接相关的特定误差值。将与隐藏层节点相关联的这些误差标记为 e h i d d e n e_{hidden} ehidden,再次将这些误差按照输入层和隐藏层之间的链接权重 w i h w_{ih} wih进行分割。
  2. 但是,对于隐藏层的节点,我们没有目标值或希望的输出值。我们只有最终输出层节点的目标值,这个目标值来自于训练样本数据。
    实际上,我们可以重组这两个链接的误差,形成这个节点的误差(可以理解为过程中误差),如下图所示:
    在这里插入图片描述
    e h i d d e n , 1 e_{hidden,1} ehidden,1 = 链接 w 1 , 1 w_{1,1} w1,1和链接 w 1 , 2 w_{1,2} w1,2上的分割误差之和
    = e o u t p u t , 1 ∗ w 1 , 1 w 1 , 1 + w 2 , 1 e_{output,1} * \frac{w_{1,1}}{w_{1,1} + w_{2,1}} eoutput,1w1,1+w2,1w1,1 + e o u t p u t , 2 ∗ w 1 , 2 w 1 , 2 + w 2 , 2 e_{output,2} * \frac{w_{1,2}}{w_{1,2} + w_{2,2}} eoutput,2w1,2+w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值