Course 1 神经网络和深度学习 Week4 搭建多层神经网络识别猫图

本文详细介绍了如何搭建一个多层神经网络,用于识别猫的图像。内容涵盖神经网络的基本元素符号约定,初始化参数,前向传播、反向传播的原理和实现,以及模型的训练和结果分析。通过L层神经网络,结合ReLU和Sigmoid激活函数,最终实现图像分类。
摘要由CSDN通过智能技术生成

基本元素符号约定

  • 上标 [ l ] [l] [l]代表神经网络的层数 l t h l^{th} lth ,比如 a [ L ] a^{[L]} a[L] [ L ] [L] [L]层的激活, W [ L ] W^{[L]} W[L] [ L ] [L] [L]层的权重, b [ L ] b^{[L]} b[L] [ L ] [L] [L]层的偏置。
  • 上标 ( i ) (i) (i) 表示第 i t h i^{th} ith个样本,比如 x ( i ) x^{(i)} x(i)是第 i t h i^{th} ith个训练样本。
  • 下标 i i i 表示 [ l ] [l] [l]层的第 i t h i^{th} ith 项, 比如 a i [ l ] a^{[l]}_i ai[l] 表示第 l t h l^{th} lth层的第 i t h i^{th} ith个激活项

一、原理

多层神经网络搭建的流程图
在这里插入图片描述

1.1 为L-层神经网络初始化参数

W的维度 b的维度 激活值的计算 激活值的维度
第1层 ( n [ 1 ] , 12288 ) (n^{[1]},12288) (n[1],12288) ( n [ 1 ] , 1 ) (n^{[1]},1) (n[1],1) Z [ 1 ] = W [ 1 ] X + b [ 1 ] Z^{[1]} = W^{[1]} X + b^{[1]} Z[1]=W[1]X+b[1] ( n [ 1 ] , 209 ) (n^{[1]},209) (n[1],209)
第2层 ( n [ 2 ] , n [ 1 ] ) (n^{[2]}, n^{[1]}) (n[2],n[1]) ( n [ 2 ] , 1 ) (n^{[2]},1) (n[2],1) Z [ 2 ] = W [ 2 ] A [ 1 ] + b [ 2 ] Z^{[2]} = W^{[2]} A^{[1]} + b^{[2]} Z[2]=W[2]A[1]+b[2] ( n [ 2 ] , 209 ) (n^{[2]}, 209) (n[2],209)
⋮ \vdots ⋮ \vdots ⋮ \vdots ⋮ \vdots ⋮ \vdots
第L-1层 ( n [ L − 1 ] , n [ L − 2 ] ) (n^{[L-1]}, n^{[L-2]}) (n[L1],n[L2]) ( n [ L − 1 ] , 1 ) (n^{[L-1]}, 1) (n[L1],1) Z [ L − 1 ] = W [ L − 1 ] A [ L − 2 ] + b [ L − 1 ] Z^{[L-1]} = W^{[L-1]} A^{[L-2]} + b^{[L-1]} Z[L1]=W[L1]A[L2]+b[L1] ( n [ L − 1 ] , 209 ) (n^{[L-1]}, 209) (n[L1],209)
第L层 ( n [ L ] , n [ L − 1 ] ) (n^{[L]}, n^{[L-1]}) (n[L],n[L1]) ( n [ L ] , 1 ) (n^{[L]}, 1) (n[L],1) Z [ L ] = W [ L ] A [ L − 1 ] + b [ L ] Z^{[L]} = W^{[L]} A^{[L-1]} + b^{[L]} Z[L]=W[L]A[L1]+b[L] ( n [ L ] , 209 ) (n^{[L]}, 209) (n[L],209)
  • W [ l ] W^{[l]} W[l]parameters['W' + str(l)] = np.random.randn(layer_dims[l], layer_dims[i - 1]) / np.sqrt(layer_dims[l - 1])

  • b [ l ] b^{[l]} b[l]parameters['b' + str(l] = np.zeros(shape=(layer_dims[l], 1))

1.2 前向传播

1.2.1 前向传播的线性部分 Z [ l ] = W X + b Z^{[l]}=WX + b Z[l]=WX+b

W = [ j k l m n o p q r ]        X = [ a b c d e f g h i ]        b = [ s t u ] W = \begin{bmatrix} j & k & l\\ m & n & o \\ p & q & r \end{bmatrix}\;\;\; X = \begin{bmatrix} a & b & c\\ d & e & f \\ g & h & i \end{bmatrix} \;\;\; b =\begin{bmatrix} s \\ t \\ u \end{bmatrix} W=jmpknqlorX=adgbehcfib=stu

W X + b = [ ( j a + k d + l g ) + s ( j b + k e + l h ) + s ( j c + k f + l i ) + s ( m a + n d + o g ) + t ( m b + n e + o h ) + t ( m c + n f + o i ) + t ( p a + q d + r g ) + u ( p b + q e + r h ) + u ( p c + q f + r i ) + u ] WX + b = \begin{bmatrix} (ja + kd + lg) + s & (jb + ke + lh) + s & (jc + kf + li)+ s\\ (ma + nd + og) + t & (mb + ne + oh) + t & (mc + nf + oi) + t\\ (pa + qd + rg) + u & (pb + qe + rh) + u & (pc + qf + ri)+ u \end{bmatrix} WX+b=(ja+kd+lg)+s(ma+nd+og)+t(pa+qd+rg)+u(jb+ke+lh)+s(mb+ne+oh)+t(pb+qe+rh)+u(jc+kf+li)+s(mc+nf+oi)+t(pc+qf+ri)+u
Z [ l ] = W [ l ] A [ l − 1 ] + b [ l ] Z^{[l]} = W^{[l]}A^{[l-1]} +b^{[l]} Z[l]=W[l]A[l1]+b[l]其中 A [ 0 ] = X A^{[0]} = X A[0]=X

1.2.2 计算前向传播的线激活函数部分

激活函数公式

  • Sigmoid: σ ( Z ) = σ ( W A + b ) = 1 1 + e − ( W A + b ) \sigma(Z) = \sigma(W A + b) = \frac{1}{ 1 + e^{-(W A + b)}} σ(Z)=σ(WA+b)=1+e(WA+b)1
  • Relu: A = R E L U ( Z ) = m
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值