1 深层(deep)神经网络的符号表示
L
L
L表示神经网络层数,一般L<3都称为浅层(shallow)神经网络.
a
[
l
]
a^{[l]}
a[l]表示激活单元。
在编程中最需要注意的是核对矩阵的维数,避免numpy在计算上出现的错误。
2为什么深层神经网络是有效的?
1)神经网络前面的隐藏层计算比较低层次的信息,然后组合到一个比较复杂的信息进行进行处理,比如声音识别中,可能先识别出每个发音中最简单的音节,然后再组合成为一个单词的发音,然后进行判别是哪个单词。
2)电路理论。在浅层神经网络需要使用呈指数增长的隐藏单元表示的数学函数可以使用小型的L-layer深层神经网络去表示。例如“异或”单元:
在一开始搭建一个模型的时候,可以先从LR开始,效果不太好的话可以训练两层的神经网络,依次增加层数,不需要一开始就使用非常深的神经网络。
3 神经网络的正向传播与反向传播
计算反向传播的过程中计算出参数w,b的梯度:
写反向传播公式的时候,写出
d
a
[
l
−
1
]
\rm d a^{[l-1]}
da[l−1]更便于推导。自己推导的时候可以画出正向传播与反向传播的框图,便于理解!
4参数与超参数
超参数hyperparameter包括:
{
学
习
速
率
α
迭
代
次
数
隐
藏
层
的
数
量
L
每
个
隐
藏
层
的
单
元
数
n
[
l
]
激
活
函
数
的
选
择
g
[
l
]
\begin{cases}学习速率 \alpha\\ 迭代次数\\ 隐藏层的数量L\\ 每个隐藏层的单元数n^{[l]}\\ 激活函数的选择g^{[l]} \end{cases}
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧学习速率α迭代次数隐藏层的数量L每个隐藏层的单元数n[l]激活函数的选择g[l]
这些超参数决定了参数w,b的选取,
1.选取超参数是一种经验方法,先选取一个经验值来学习,然后观察这个数值是否能够进一步优化(画出不同取值时iterations–损失L的曲线图);2.超参数的最优值可能会随着时间和数据的变化而改变,因此要勤于检查。