zoukankan      html  css  js  c++  java
  • BP反向传播

    笔记在pad中

    接下来,我们就将问题慢慢复杂化,一步一步接近最终的神经网络中的反向传播!

    前文中,我们利用的是一个神经元,这里我们讲问题变复杂,变成两个神经元,并且是有嵌套关系的两个神经元!如下图:


     

    将输入值相加然后输出到第二个神经元,同时第二个神经元还接受输入c,并将两个值相乘,最后输出!
    这个简单网络的正向传播很容易写出来:

    def product(x, y):
        return x * y
    
    
    def addition(x, y):
        return x + y
    
    
    def forward(a, b, c):
        d = addition(a, b)
        return product(d, c)
    
    
    print(forward(5, -6, 7))
    现在开始我们的训练吧!
    目标和之前一样,就是改变输入的a,b,c三个值,使函数f的值增加!之后我们就会发现,在这个过程中,我们会慢慢接触到反向传播的核心思想!

        误差反向传播算法简称反向传播算法(即BP算法)。使用反向传播算法的多层感知器又称为BP神经网络。BP算法是一个迭代算法,

    它的基本思想为:(1)先计算每一层的状态和激活值,直到最后一层(即信号是前向传播的);

    (2)计算每一层的误差,误差的计算过程是从最后一层向前推进的(这就是反向传播算法名字的由来);

    (3)更新参数(目标是误差变小)。迭代前面两个步骤,直到满足停止准则(比如相邻两次迭代的误差的差别很小)。

  • 相关阅读:
    HDOJ 4747 Mex
    HDU 1203 I NEED A OFFER!
    HDU 2616 Kill the monster
    HDU 3496 Watch The Movie
    Codeforces 347A A. Difference Row
    Codeforces 347B B. Fixed Points
    Codeforces 372B B. Hungry Sequence
    HDU 1476 Sudoku Killer
    HDU 1987 How many ways
    HDU 2564 词组缩写
  • 原文地址:https://www.cnblogs.com/h694879357/p/13353846.html
Copyright © 2011-2022 走看看