python神经网络编程

python神经网络编程目录神经网络如何工作功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入目录学习笔记:《pyth...
摘要由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
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python神经网络编程是使用Python编写和实现神经网络的过程。在Python中,可以使用各种库和框架来创建和训练神经网络模型。在给出的引用中,我们定义了一个NeuralNetwork类来创建神经网络,并包含了初始化函数、训练函数和查询函数来完成神经网络的各项任务。在初始化函数中,我们设置了输入层节点、隐藏层节点和输出层节点的数量,并指定学习率。通过训练函数,我们可以使用给定的训练集样本来优化权重,从而训练出准确的预测模型。而查询函数则可以根据给定的输入,从输出节点给出相应的答案。 Python神经网络编程可以应用于各种领域,包括人工智能、机器学习、数据分析等。它可以用于解决分类、回归、聚类等各种问题。Python提供了丰富的库和框架,例如TensorFlow、PyTorch和Keras,使得神经网络的实现变得简单和高效。 总之,Python神经网络编程是指使用Python语言来创建、训练和应用神经网络模型的过程。通过合理选择合适的库和框架,可以更加高效地实现各种神经网络任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [推荐 :手把手教你用Python创建简单的神经网络(附代码)](https://blog.csdn.net/weixin_55154866/article/details/128491110)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [神经网络编程(python实现)](https://blog.csdn.net/qq_43959027/article/details/108588448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值