什么是神经网络
- 神经网络的作用是给定一组输
(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[1]2=w[1]T2x+b[1]2,a[1]2=δ(z[1]2)
z[1]3=w[1]T3x+b[1]3,a[1]3=δ(z[1]3)
z[1]4=w[1]T4x+b[1]4,a[1]4=δ(z[1]4)
- 第二层
z[2]=w[2]Ta[1]+b[2],a[2]=δ(z[2])
神经网络的向量化表达
向量化可以消除for循环带来的低效率,在非向量化的伪代码表示为:
for−i=1−to−mz[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大佬视频截图