美文网首页算法小白菜
深度学习笔记2-反向传播

深度学习笔记2-反向传播

作者: 林桉 | 来源:发表于2020-03-27 10:23 被阅读0次

    from 感知机

    https://blog.csdn.net/duduhonghong/article/details/98668881

    机器学习中,神经网络算法可以说是当下使用的最广泛的算法。神经网络的结构模仿自生物神经网络,生物神经网络中的每个神经元与其他神经元相连,当它“兴奋”时,想下一级相连的神经元发送化学物质,改变这些神经元的电位;如果某神经元的电位超过一个阈值,则被激活,否则不被激活。误差逆传播算法(error back propagation)是神经网络中最有代表性的算法,也是使用最多的算法之一。

    BP(errorBackPropagation)

    image.png image.png

    激活函数

    image.png
    image.png
    image.png
    f为激活函数,一般为sigmoid
    从隐含层的第h个神经元看,输入层总共有 d 个权重传递参数传给他,它又总共有 l 个权重传递参数传给输出层, 自身还有 1 个阈值。所以在我们这个神经网络中,一个隐含层神经元有(d+l+1)个参数待确定。输出层每个神经元还有一个阈值,所以总共有 l 个阈值。最后,总共有(d+l+1)q+l 个待定参数。首先,随机给出这些待定的参数,后面通过BP算法的迭代,这些参数的值会逐渐收敛于合适的值,那时,神经网络也就训练完成了。

    神经元工作方式

    每个神经元接受n个来自其他神经元或者直接输入的输入信号,这些输入信号分别与每条“神经”的权重相乘,并累加输入给当前神经元。每个神经元设定有一个阈值θ,累计值需要减去这个阈值,并且将最终结果通过“激活函数”(f)挤压到(0,1)范围内,最后输出。


    image.png

    公式推导

    下面以隐含层到输出层的权重参数 whj 为例说明:
    误差:
      

    image
      我们可以按照前面给出的公式求出均方差误差 Ek ,期望其为0,或者为最小值。而BP算法基于梯度下降法(gradient descent) https://datawhalechina.github.io/leeml-notes/#/chapter6/chapter6来求解最优解,以目标的负梯度方向对参数进行调整,通过多次迭代,新的权重参数会逐渐趋近于最优解。对于误差 Ek ,给定学习率(learning rate)即步长 η ,有:
    image
     再看一下参数的传递方向,首先 whj 影响到了输出层神经元的输入值 βj ,然后影响到输出值 Yjk ,然后再影响到误差 Ek ,所以可以列出如下关系式1: image

    根据输出层神经元的输入值 βj 的定义:

    image
    得到:隐含层输出 image

    对于激活函数(sigmoid函数):

    image

    很容易通过求导证得下面的性质:

    image
    image.png
    image.png
    image.png

    类似的:


    image.png
    #BP神经网络
    import numpy as np
    X=np.array([[0,0,-1],[0,1,-1],[1,0,-1],[1,1,-1]])
    Y=np.array([[0],[1],[1],[0]])
    
    V = (np.random.rand(3,2)-0.5)*2/np.sqrt(2)
    W = (np.random.rand(3,1)-0.5)*2/np.sqrt(2)
    i=1
    
    while i<2000:
        B=1/(1+np.exp(-np.dot(X,V)))
        ones=-np.ones((4,1))
        B=np.hstack((B,ones))
        Y_h=1/(1+np.exp(-np.dot(B,W)))
        G= (Y-Y_h)*Y_h*(1-Y_h)
        E=B*(1-B)*np.dot(G,W.T)
        W=W+np.dot(B.T,G)
        V=V+np.dot(X.T,E[:,:-1])
        i=i+1
    print(Y_h)
    

    相关文章

      网友评论

        本文标题:深度学习笔记2-反向传播

        本文链接:https://www.haomeiwen.com/subject/errwdhtx.html