您的位置:首页 > 理论基础 > 计算机网络

吴恩达深度学习--浅层神经网络

2018-01-25 20:09 260 查看

什么是神经网络

神经网络的作用是给定一组输(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−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大佬视频截图



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐