吴恩达深度学习--浅层神经网络
什么是神经网络
- 神经网络的作用是给定一组输
(x1,x1...xn) 经过一系列的计算得出一个输出a,然后将输出a和实值y作比较,不断地调整参数,最终使得输出a的值达到合适的位置。 - 如图二所示,它的计算流程是:
-反向传播是将loss反向传播回去,本质是链式法则求导,然后更新权重参数。
神经网络的层数
- 如图一的神经网络,它包括输入层,隐藏层和输出层,分别是第0层、第1层、第2层。但是我们不把输入层称为一层,所以这个神经网络只有2层,也称作单隐层神经网络。
神经网络的表达
- 由图3可以看出,每一层的计算包括两部分,一部分是计算出z的值,另一部分是利用**函数求出输出值。对于一个单隐层的神经网络来说,它的计算如下:
- 第一层
z[1]1=w[1]T1x+b[1]1,a[1]1=δ(z[1]1)
- 第二层
z[2]=w[2]Ta[1]+b[2],a[2]=δ(z[2])
神经网络的向量化表达
-
向量化可以消除for循环带来的低效率,在非向量化的伪代码表示为:
for−i=1−to−m z[1](i)=W[1]x(i)+b[1] a[1](i)=δ(z[1](i)) z[2](i)=W[2]a[1](i)+b[2] a[2](i)=δ(z[2](i)) -
向量化表示为
Z[1]=W[1]X+b[1] A[1]=δ(Z[1]) Z[2]=W[2]X+b[2] A[2]=δ(Z[2])
**
-
最后附Ng大佬视频截图