美文网首页
一层隐藏层的神经网络

一层隐藏层的神经网络

作者: xiongsirui | 来源:发表于2018-02-05 22:51 被阅读28次

    神经网络模型:
    一、初始化参数:
    W1, b1, W2, b2
    二、前向计算求出cache:
    Z1 = np.dot(W1, X) + b1
    A1 = np.tanh(Z1)
    Z2 = np.dot(W2, A1) + b2
    A2 = sigmoid(Z2)
    三、计算损失值:
    cost = - np.sum(np.multiply(np.log(A2), Y) + np.multiply(np.log(1. - A2), 1. - Y)) / m
    四、后向计算求值:
    dZ2 = A2 - Y
    dW2 = np.dot(dZ2, A1.T) / m
    db2 = np.sum(dZ2, axis = 1, keepdims = True) / m
    dZ1 = np.dot(W2.T, dZ2) * (1 - A1**2)
    dW1 = np.dot(dZ1, X.T) / m
    db1 = np.sum(dZ1, axis = 1, keepdims = True) / m
    五、根据梯度下降方向不断迭代,优化参数,减少损失函数的值:
    W1 = W1 - learning_rate * dW1
    b1 = b1 - learning_rate * db1
    W2 = W2 - learning_rate * dW2
    b2 = b2 - learning_rate * db2

    相关文章

      网友评论

          本文标题:一层隐藏层的神经网络

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