One hidden layer Neural Network
1.Neural Network Overview and Representation
从整体结构上来大致看一下神经网络模型,神经网络的结构与逻辑回归类似,只是神经网络的层数比逻辑回归多一层,多出来的中间那层称为隐藏层或中间层。隐藏层是抽象的非线性的中间层。这样从计算上来说,神经网络的正向传播和反向传播过程只是比逻辑回归多了一次重复的计算。
正向传播过程分成两层,第一层是输入层到隐藏层,用上标[1]来表示;第二层是隐藏层到输出层,用上标[2]来表示。
注意:方括号上标 [ i ] 表示当前所处的层数;圆括号上标 ( i ) 表示第 i 个样本。
同样,反向传播过程也分成两层。第一层是输出层到隐藏层,第二层是隐藏层到输入层。
输入层(input layer)
我们把输入矩阵X记为a[0]。通常我们只计算隐藏层输出和输出层的输出,输入层是不用计算的。故把输入层层数上标记为0,即a[0],也因此把这种单隐藏层神经网络成为两层神经网络(2 layer NN)。
隐藏层(hidden layer)
把隐藏层输出记为 a[1]。用下标表示第几个神经元(下标从1开始)。例如 a1[1] 表示隐藏层第1个神经元,a[1]2 表示隐藏层第2个神经元……这样,隐藏层的4个神经元就可以将其输出 a[1] 写成矩阵的形式
隐藏层对应的权重 W[1] 和常数项 b[1]
若第 i 层的权重 W[i] 维度是(m,n),则i层神经元的个数为m,i-1层神经元的个数为n;若第 i 层常数项 b[i] 维度是(p,1),则 i 层神经元的个数为p,列始终为1。
例如,隐藏层对应的权重 W[1] 维度是(4,3),4对应隐藏层神经元个数,3对应输入层 x 特征向量包含元素个数;常数项b[1]的维度是(4,1),4同样对应隐藏层神经元个数。 输出层对应的权重 W[2] 维度是(1,4),1对应输出层神经元个数,4对应着隐藏层神经元个数。常数项 b[2] 的维度是(1,1),1对应输出层神经元的个数(因为输出只有一个神经元),列始终为1。
输出层(output layer)
输出层记为a[2] ,即y^。
2.Computing the Neural Network’s Output
2.1正向传播
基于单个样本
对于两层神经网络,从输入层到隐藏层对应一次逻