神经网络
- 输入层+隐藏层+输出层
- 隐藏层有不同的种类
神经网络的术语
n i : n^{i}: ni:第i层的神经元个数
z i , w i , b i z^{i},w^{i},b^{i} zi,wi,bi:第i层的参数
a i : a^{i}: ai:第i层的激活函数
神经网络的原理
前向传播
z l + 1 = W l + 1 A l + b l + 1 z^{l+1}=W^{l+1}A^{l}+b^{l+1} zl+1=Wl+1Al+bl+1
其中:
- 矩阵 A l A^{l} Al是第 l l l层的输出矩阵(等价于第 l + 1 l+1 l+1层的输入矩阵),规模大小为( n l n^{l} nlx m m m)
- 矩阵 W W W是第 l l l层的权重矩阵,规模大小为( n l + 1 n^{l+1} nl+1x n l n^{l} nl)
矩阵A的实际含义是:列是样本,行是特征
矩阵W的实际含义是:看作当前层神经元的权重向量(这是一个行向量)组成的列向量
反向传播
提示:
J ( w , b ) J(w,b) J(w,b)等价于 J ( y , a l + 1 ) J(y,a^{l+1}) J(y,al+1)
利用链式法则求导,每次反向传播 z l + 1 z^{l+1} zl+1
推导过程如下

超参数和参数
- 参数:w,b
- 超参数:学习率, λ \lambda λ,神经元的个数,神经网络的层数,不同的层等,正则化方法
正则化
L2-正则化
公式与线性回归一致,只不过对矩阵 W W W求范数,需要计算 W W W中所有权重的和np.sum
Dropout正则化(反向随机失活)
随机丢弃一些神经元(输出结果置0)
表现在代码上就是生成随机矩阵作为掩码与输出矩阵相乘
