参考:
吴恩达视频课
深度学习笔记
1. 深层神经网络
有的时候只有非常深的神经网络才能发挥作用。
但是无法提前预知多少层的神经网络合适,可以先尝试逻辑回归,尝试一层,然后两层隐含层,然后把隐含层的数量当作超参数,然后交叉验证
2. 前向传播和反向传播
前向传播:
- 输入:
a[l−1]
- 输出:
a[l]
- 缓存:
z[l],w[l],b[l]
z[l]=W[l]⋅a[l−1]+b[l]
a[l]=g[l](z[l])
向量化写法
z[l]=W[l]⋅A[l−1]+b[l]
A[l]=g[l](Z[l])
后向传播:
- 输入:
da[l]
- 输出:
da[l−1],dw[l],db[l]
dz[l]=da[l]∗g[l]′(z[l])dw[l]=dz[l]⋅a[l−1]db[l]=dz[l]da[l−1]=w[l]T⋅dz[l]dz[l]=w[l+1]Tdz[l+1]⋅g[l]′(z[l])
向量化写法
dZ[l]=dA[l]∗g[l]′(Z[l])dW[l]=m1dZ[l]⋅A[l−1]Tdb[l]=m1np⋅sum(dz[l],axis=1, keepdims =True)dA[l−1]=W[l]T⋅dZ[l]
3. 核对矩阵维数
4. 参数、超参数
参数有 W, b
超参数:
- 学习率
- 梯度下降 迭代次数
- 隐藏层数量
- 隐藏层单元数量
- 激活函数选择
- momentum
- mini batch size
- 正则化参数
多种组合,各种尝试,选择效果最好的参数组合,第二门课会介绍