神经网络3——深层神经网络的构建

深层神经网络:

神经网络3——深层神经网络的构建
损失函数:
dA[L]=(-y(1)/a(1)+(1-y(1)/1-a(1)))【第一个参数的损失】+(-y(1)/a(1)+(1-y(1)/1-a(1)))+(-y(1)/a(1)+(1-y(1)/1-a(1)))------(-y(m)/a(m)+(1-y(m)/1-a(m)))【第m个参数的损失】

正向传播函数:
z[1]=w[1]*x+b[1]
a[1]=g[1] (z[1])
z[2]=w[2]*a[1]+b[2]
a[2]=g[2] (z[2)
‘’-------
z[m]=w[m]*a[2]+b[m]
a[m]=g[m] (z[m)
向量化后:
Z[1]=W[1]*A[0]+B[1]
A[1]=g[1] (Z[1])
Z2]=W[2]*A[1]+B[2]
A[2]=g[2] (Z[2)
‘’-------
Z[m]=W[m]*A[2]+B[m]
A[m]=g[m] (Z[m)
神经网络3——深层神经网络的构建
反向传播函数:本质和正向相同,只不过是由dA[i]得到dA[i-1]
并利用正向传播时储存的Z[i]x
dA【L】=-(Y/A【L】 - (1 - Y)/(1 - A【L】) ******************dA【L】= - (np.divide(Y, A【L】) - np.divide(1 - Y, 1 - A【L】))
dZ【L】=dA【L】*g【L】’
dW【L】=dZ【L】 *A【L-1】 ************************ dW = np.dot(dZ, A【L-1】.T) / m
dB【L】=dZ【L】 **************************************** dB = np.sum(dZ, axis=1, keepdims=True) / m
dA【L-1】=W【L-1】*dZ【L】 *************************** dA【L-1】 = np.dot(W.T, dZ)

神经网络3——深层神经网络的构建

矩阵维度:
当只有一层输入(其中n[i]代表此层结点个数)
第i层的:
Z(n[i],1)
X(n[i-1],1)
W(n[i],n[i-1])
B(n[i],1)
当有多个输入时
第i层的:因为W,B作为参数矩阵不会改变
Z(n[i],m)
X(n[i-1],m)
W(n[i],n[i-1])
B(n[i],1)//利用Python的广播
神经网络3——深层神经网络的构建
神经网络3——深层神经网络的构建

参数设置:超参数,能够控制W,B
learning rate
梯度下降法循环数量
隐层数
隐层单元数
修正**函数