Lesson1 Week3 partⅠ-Ⅴ
神经网络综述
吴老师在课程中,举了一个最简单的神经网络示例,如下图所示: 宏观把握 神经网络的层数:2 层,包括中间的隐藏层和输出层,输入层可以视为第 0 层。 输入层:每个数据样本包含有 3 个特征。输入层的数据 隐藏层:有 4 个节点或者单元,或者称之为 4 个隐藏层单元。 输出层:有 1 个单元,负责产生输出值。
微观把握 输入层:输入的数据我们用
a
[
0
]
a^{[0]}
a[0] 来表示。在本示例中,
a
[
0
]
a^{[0]}
a[0] 和 x 表达的含义都是一样的,都是对输入数据的向量化处理之后的结果,再具体一点,就是说把每一个训练样本的特征束置,训练样本按列堆叠得到的 x,具体如公式所示:
a
[
0
]
=
x
=
[
?
?
?
?
x
(
1
)
x
(
2
)
?
x
(
m
)
?
?
?
?
]
a^{[0]} = x=\left[\begin{array}{clll} \vdots & \vdots & \vdots & \vdots \\ x^{(1)} & x^{(2)} & \cdots & x^{(m)} \\ \vdots & \vdots & \vdots & \vdots \end{array}\right]
a[0]=x=??????x(1)???x(2)???????x(m)??????? 隐藏层:首先,我们需要对某一个神经元进行研究,研究透彻一个神经元的计算才能进行第一层的计算。对于目前实例而言,我们取出第一层的第一个神经元进行分析。 这个神经元负责的工作有两步:
- 线性计算
z
1
[
1
]
=
w
1
[
1
]
x
+
b
1
[
1
]
z_{1}^{[1]}=w_{1}^{[1] } x+b_{1}^{[1]}
z1[1]?=w1[1]?x+b1[1]?.
- 通过激活函数计算
a
1
[
1
]
=
σ
(
z
1
[
1
]
)
a_{1}^{[1]}=\sigma {(z_{1}^{[1]})}
a1[1]?=σ(z1[1]?).
请注意:上标代表着第几层,下标代表着这一层的第几个单元。所以这第一个单元有参数
w
1
[
1
]
w_1^{[1]}
w1[1]? 和
b
1
[
1
]
b_{1}^{[1]}
b1[1]?,共计4个参数,如下所示。
w
1
[
1
]
=
[
w
11
[
1
]
w
12
[
1
]
w
13
[
1
]
]
b
1
[
1
]
=
b
1
[
1
]
w_1^{[1]} = \left[\begin{array}{clll} w_{11}^{[1]} & w_{12}^{[1]} & w_{13}^{[1]} \end{array}\right] \\ b_{1}^{[1]} = b_{1}^{[1]}
w1[1]?=[w11[1]??w12[1]??w13[1]??]b1[1]?=b1[1]? 如果再写一下 x 的表达式也不是未尝不可,考研上岸了,可以耐下心来学习一下自己喜欢的事情是真的快乐呀,在这里我们仅仅写一个样本的输入,不加入向量化。
x
=
[
x
1
[
0
]
x
2
[
0
]
x
3
[
0
]
]
x = \left[\begin{array}{clll} x_{1}^{[0]} \\ x_{2}^{[0]} \\ x_{3}^{[0]} \\ \end{array}\right]
x=????x1[0]?x2[0]?x3[0]??????
这样的话,我们的
w
1
[
1
]
w_1^{[1]}
w1[1]? 和 x 满足矩阵相乘条件,并得到参数
z
1
[
1
]
z_{1}^{[1]}
z1[1]?,随后我们通过激活函数计算得到
a
1
[
1
]
=
σ
(
z
1
[
1
]
)
a_{1}^{[1]}=\sigma {(z_{1}^{[1]})}
a1[1]?=σ(z1[1]?).如此,一个神经元的计算就到此结束了。隐藏层的第二个以及后面两个神经元的计算过程一样,只是注意符号表示不同,最终分别得到
a
2
[
1
]
a
3
[
1
]
a
4
[
1
]
a_{2}^{[1]} a_{3}^{[1]} a_{4}^{[1]}
a2[1]?a3[1]?a4[1]?,详细结果如下。吴恩达老师原幻灯片中是
w
i
[
1
]
T
w_i^{[1]T}
wi[1]T?参与的下面四个公式的运算,这是因为他的
w
i
[
1
]
=
[
w
11
[
1
]
w
12
[
1
]
w
13
[
1
]
]
w_i^{[1]} = \left[\begin{array}{clll} w_{11}^{[1]} \\ w_{12}^{[1]} \\ w_{13}^{[1]} \end{array}\right]
wi[1]?=????w11[1]?w12[1]?w13[1]??????.貌似插入的公式有点多,不过理解了就很好记忆,嘿嘿。
z
1
[
1
]
=
w
1
[
1
]
x
+
b
1
[
1
]
,
a
1
[
1
]
=
σ
(
z
1
[
1
]
)
z
2
[
1
]
=
w
2
[
1
]
x
+
b
2
[
1
]
,
a
2
[
1
]
=
σ
(
z
2
[
1
]
)
z
3
[
1
]
=
w
3
[
1
]
x
+
b
3
[
1
]
,
a
3
[
1
]
=
σ
(
z
3
[
1
]
)
z
4
[
1
]
=
w
4
[
1
]
x
+
b
4
[
1
]
,
a
4
[
1
]
=
σ
(
z
4
[
1
]
)
\begin{array}{l} z_{1}^{[1]}=w_{1}^{[1] } x+b_{1}^{[1]}, a_{1}^{[1]}=\sigma\left(z_{1}^{[1]}\right) \\ z_{2}^{[1]}=w_{2}^{[1]} x+b_{2}^{[1]}, a_{2}^{[1]}=\sigma\left(z_{2}^{[1]}\right) \\ z_{3}^{[1]}=w_{3}^{[1]} x+b_{3}^{[1]}, a_{3}^{[1]}=\sigma\left(z_{3}^{[1]}\right) \\ z_{4}^{[1]}=w_{4}^{[1] } x+b_{4}^{[1]}, a_{4}^{[1]}=\sigma\left(z_{4}^{[1]}\right) \end{array}
z1[1]?=w1[1]?x+b1[1]?,a1[1]?=σ(z1[1]?)z2[1]?=w2[1]?x+b2[1]?,a2[1]?=σ(z2[1]?)z3[1]?=w3[1]?x+b3[1]?,a3[1]?=σ(z3[1]?)z4[1]?=w4[1]?x+b4[1]?,a4[1]?=σ(z4[1]?)? 最后,我们言归正传,我们把单个单元做的两步工作整合起来,用矩阵表示、矩阵运算,所有的隐藏层的参数可以记作如下,根据参数我们计算
z
[
1
]
=
w
[
1
]
?
x
+
b
[
1
]
z^{[1]} = w^{[1]}*x+b^{[1]}
z[1]=w[1]?x+b[1] 和
a
[
1
]
=
σ
(
z
[
1
]
)
a^{[1]}=\sigma {(z^{[1]})}
a[1]=σ(z[1]).是不是很简单呢?
w
[
1
]
=
[
w
11
[
1
]
w
12
[
1
]
w
13
[
1
]
w
21
[
1
]
w
22
[
1
]
w
23
[
1
]
w
31
[
1
]
w
32
[
1
]
w
33
[
1
]
w
41
[
1
]
w
42
[
1
]
w
43
[
1
]
]
b
[
1
]
=
[
b
1
[
1
]
b
2
[
1
]
b
3
[
1
]
b
4
[
1
]
]
w^{[1]}= \left[\begin{array}{clll} w_{11}^{[1]} & w_{12}^{[1]} & w_{13}^{[1]} \\ w_{21}^{[1]} & w_{22}^{[1]} & w_{23}^{[1]} \\ w_{31}^{[1]} & w_{32}^{[1]} & w_{33}^{[1]} \\ w_{41}^{[1]} & w_{42}^{[1]} & w_{43}^{[1]} \\ \end{array}\right] \\ b^{[1]}= \left[\begin{array}{clll} b_{1}^{[1]} \\ b_{2}^{[1]} \\ b_{3}^{[1]} \\ b_{4}^{[1]} \\ \end{array}\right] \\
w[1]=??????w11[1]?w21[1]?w31[1]?w41[1]??w12[1]?w22[1]?w32[1]?w42[1]??w13[1]?w23[1]?w33[1]?w43[1]????????b[1]=??????b1[1]?b2[1]?b3[1]?b4[1]???????? 请注意,我们这里的
z
[
1
]
z^{[1]}
z[1] 和
a
[
1
]
a^{[1]}
a[1] 是没有下标的,因为这是整个第一层的输出而不是某一个单元的输出。运算之后的结果如下。
a
[
1
]
=
[
a
1
[
1
]
a
2
[
1
]
a
3
[
1
]
a
4
[
1
]
]
=
σ
(
z
[
1
]
)
a^{[1]}=\left[\begin{array}{c} a_{1}^{[1]} \\ a_{2}^{[1]} \\ a_{3}^{[1]} \\ a_{4}^{[1]} \end{array}\right]=\sigma\left(z^{[1]}\right)
a[1]=??????a1[1]?a2[1]?a3[1]?a4[1]????????=σ(z[1])
|