【机器学习小记】【深度神经网络】deeplearning.ai course1 4th week programming

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

目标:搭建L层神经网络

参考自:【中文】【吴恩达课后编程作业】Course 1 - 神经网络和深度学习 - 第四周作业(1&2)

数据集介绍

同第二周,猫的图片64*64的三通道图
具有神经网络思维的Logistic回归

模型搭建

每一层神经网络 都是 由两部分组成

  1. 线性部分 Z l = W l A l − 1 + b l Z^{l} = W^{l}A^{l-1} + b^{l} Zl=WlAl1+bl
  2. 激活部分 A l = a c t i v a t e ( Z l ) A^{l} = activate(Z^{l}) Al=activate(Zl)
    ( l l l表示层数)
    (输出层为第0层)

其中,由于是二分类神经网络,所以第1~L-1层使用ReLU激活函数,第L层使用Sigmoid激活函数

初始始化参数

注:返回的W是已经转置的过的

W.shape = (当前层的神经元数,上一层的神经元数)

前向传播

前向传播,对于第1~L-1层,
线性部分:
Z [ l ] ( i ) = W [ l ] A [ l − 1 ] ( i ) + b [ l ] ( i ) Z^{[l](i)} = W^{[l]}A^{[l-1](i)} + b^{[l](i)} Z[l](i)=W[l]A[l1](i)+b[l](i)
激活部分:
A [ l ] ( i ) = R e L U ( Z [ l ] ( i ) ) A^{[l](i)} = ReLU(Z^{[l](i)}) A[l](i)=ReLU(Z[l](i))


第L层,激活部分 激活函数不同
激活部分:
A [ L ] ( i ) = S i g m o i d ( Z [ L ] ( i ) ) A^{[L](i)} = Sigmoid(Z^{[L](i)}) A[L](i)=Sigmoid(Z[L](i))


计算成本

使用的是【交叉熵】成本函数

损失函数:
L ( A ( i ) , Y ( i ) ) = − Y ( i ) log ⁡ ( A [ L ] ( i ) ) − ( 1 − Y ( i ) ) log ⁡ ( 1 − A [ L ] ( i ) ) L(A^{(i)},Y^{(i)}) = -Y^{(i)}\log(A^{[L](i)}) - (1-Y^{(i)})\log(1-A^{[L](i)}) L(A(i),Y(i))=Y(i)log(A[L](i))(1Y(i))log(1A[L](i))
成本函数:
J = 1 m ∑ i = 1 n L ( A [ L ] ( i ) , Y ( i ) ) J = {1 \over m} \sum_{i=1}^n L(A^{[L](i)},Y^{(i)}) J=m1i=1nL(A[L](i),Y(i))

反向传播

先借图

在这里插入图片描述
在反向传播,对于第1~L-1层,我们依旧分两部分,分别求其激活部分线性部分
激活部分:

d Z [ l ] = d A [ l ] g ′ ( Z [ l ] ) dZ^{[l]} = dA^{[l]} g'(Z^{[l]}) dZ[l]=dA[l]g(Z[l])

线性部分:
d W [ l ] = ∂ L ∂ W [ l ] = 1 m d Z [ l ] ⋅ A [ l − 1 ] T dW^{[l]}= {\partial L \over \partial W^{[l]}} = {1 \over m}dZ^{[l]} \cdot A^{[l-1]T} dW[l]=W[l]L=m1dZ[l]A[l1]T

d b [ l ] = ∂ L ∂ b [ l ] = 1 m ∑ i = 1 m d Z [ l ] ( i ) db^{[l]} = {\partial L \over \partial b^{[l]}} = {1 \over m} \sum_{i=1}^m{dZ^{[l](i)}} db[l]=b[l]L=m1i=1mdZ[l](i)

d A [ l − 1 ] = ∂ L ∂ A [ l − 1 ] = W [ l ] T ⋅ d Z [ l ] dA^{[l-1]} = {\partial L \over \partial A^{[l-1]}} = W^{[l]T} \cdot dZ^{[l]} dA[l1]=A[l1]L=W[l]TdZ[l]


总结:
传入第 l l l层的 d A [ l ] dA^{[l]} dA[l]之后,经过激活部分得到 Z [ l ] Z^{[l]} Z[l],再经过线性部分得到 A [ l − 1 ] , W [ l ] , b [ l ] A^{[l-1]},W^{[l]},b^{[l]} A[l1],W[l],b[l]


对于第L层,由于激活函数不同,且dAL是 成本函数的导数,略微特殊处理
d A L = − Y A L + 1 − Y 1 − A L dAL = - {Y \over AL} + {1-Y \over 1-AL} dAL=ALY+1AL1Y

更新参数(梯度下降)

W [ l ] = W [ l ] − α   d W [ l ] W^{[l]} = W^{[l]} - \alpha ~dW^{[l]} W[l]=W[l]α dW[l]

b [ l ] = b [ l ] − α   d b [ l ] b^{[l]} = b^{[l]} - \alpha~db^{[l]} b[l]=b[l]α db[l]

结果

一个4层的神经网络

layers_dims = [12288, 20, 7, 5, 1]  # 4-layer model
0 次迭代,成本值为: 0.715731513413713100 次迭代,成本值为: 0.6747377593469114200 次迭代,成本值为: 0.6603365433622127300 次迭代,成本值为: 0.6462887802148751400 次迭代,成本值为: 0.6298131216927773500 次迭代,成本值为: 0.606005622926534600 次迭代,成本值为: 0.5690041263975134700 次迭代,成本值为: 0.519796535043806800 次迭代,成本值为: 0.46415716786282285900 次迭代,成本值为: 0.408420300482989161000 次迭代,成本值为: 0.373154992160690261100 次迭代,成本值为: 0.305723745730471061200 次迭代,成本值为: 0.268101528477408371300 次迭代,成本值为: 0.238724748276726541400 次迭代,成本值为: 0.206322632579147181500 次迭代,成本值为: 0.179438869274936051600 次迭代,成本值为: 0.15798735818801631700 次迭代,成本值为: 0.142404130122744921800 次迭代,成本值为: 0.128651659978886751900 次迭代,成本值为: 0.11244314998164372000 次迭代,成本值为: 0.085056310349824222100 次迭代,成本值为: 0.057583911986166912200 次迭代,成本值为: 0.0445675345469912642300 次迭代,成本值为: 0.038082751666002562400 次迭代,成本值为: 0.034410749018419895
准确度为: 0.9952153110047847
准确度为: 0.78

比第二周(只用一层单个结点的线性回归)的准确率70%提高了8%
在这里插入图片描述


预测失败的图片分析

在这里插入图片描述

在这里插入图片描述

模型往往表现欠佳的几种类型的图像包括:

  1. 猫身体在一个不同的位置
  2. 猫出现在相似颜色的背景下
  3. 不同的猫的颜色和品种
  4. 相机角度
  5. 图片的亮度
  6. 比例变化(猫的图像非常大或很小)

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值