代价函数
像大部分机器学习一样,从代价函数开始讲起。
重点讲解,神经网络在分类问题中的应用。
神经网络层数
用
L
L
L来表示神经网络结果的总层数。
每层单元数
用
s
l
s_l
sl表示第
l
l
l层的单元数,但不包括偏置。
Binary classification
一个输出单元
Multi-class classification
k分类,含有k个输出单元
Cost function
- Logistic regression:
- Neural network
不再只有一个输出单元,而是K个。
Θ ( l ) \Theta^{(l)} Θ(l)表示第 l l l层T对应的参数,最后一层没有参数。
反向传播算法
需要优化的参数
Θ
i
j
l
\Theta^{l}_{ij}
Θijl
如何计算参数的偏导
每个单元的激活误差
第4层的激活误差
其它层的激活误差
参数的偏导
Backpropagation algorithm
理解反向传播
中间偏导
如果cost函数为:
g
(
z
)
=
y
log
h
Θ
(
z
)
+
(
1
−
y
)
log
(
1
−
h
Θ
(
z
)
)
g(z)= y\log h_\Theta(z) + (1 - y) \log( 1 - h_\Theta(z))
g(z)=yloghΘ(z)+(1−y)log(1−hΘ(z))
则对
z
z
z求导后:
∂
z
g
(
z
)
=
y
−
h
Θ
(
z
)
\frac \partial z {g(z)} = y - h_\Theta(z)
z∂g(z)=y−hΘ(z)
梯度检测
将计算的导师值与
D
V
e
c
DVec
DVec比较
随机初始化
对称权重问题
当两个参数初始化为0时,之后用梯度下降法,它们的更新保持一致。
随机初始化思想
初始化时,对参数进行随机化。
组合到一起
输入特征的维数
输出特征的维数
隐藏层数量
默认一层
每一层的隐藏层单元相同,效果会更好。
一般单元数也与输出层单元数相同,或者大几倍。
训练一个神经网络的过程