我是靠谱客的博主 老实中心,最近开发中收集的这篇文章主要介绍吴恩达团队 Tensorflow课程学习笔记 4-----dropout,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

keras中还有另一种层----dropout

导读

    • 1. 原理简介
      • ⑴问题分析
      • ⑵添加dropout
    • 2. 模型搭建
      • ⑴模型总体
      • ⑵Dropout层
      • ⑶模型摘要部分展示
    • 3. 结果展示
      • ⑴ epochs = 100
      • ⑵ epochs = 20

1. 原理简介

⑴问题分析

神经网络中的层可能具有相似的权重,也有可能相互影响,从而导致过拟合 .
像这样的复杂模型,存在这样的风险 .
在这里插入图片描述

⑵添加dropout

通过删除一些节点,使它看起来如下图,这样会使得节点相互之间影响不太大,可能消除过拟合 .
在这里插入图片描述

2. 模型搭建

⑴模型总体

from tensorflow.keras.optimizers import RMSprop

# Flatten the output layer to 1 dimension
x = layers.Flatten()(last_output)
# Add a fully connected layer with 1,024 hidden units and ReLU activation
x = layers.Dense(1024, activation='relu')(x)
# Add a dropout rate of 0.2
x = layers.Dropout(0.2)(x)                  
# Add a final sigmoid layer for classification
x = layers.Dense  (1, activation='sigmoid')(x)           

model = Model( pre_trained_model.input, x) 

model.compile(optimizer = RMSprop(lr=0.0001), 
              loss = 'binary_crossentropy', 
              metrics = ['acc'])

⑵Dropout层

x = layers.Dropout(0.2)(x)

参数在0-1之间,表示要丢弃的单位分数,这里我们要丢弃的是20%的神经元

⑶模型摘要部分展示

在这里插入图片描述

3. 结果展示

⑴ epochs = 100

在这里插入图片描述
训练100轮的结果???

⑵ epochs = 20

在这里插入图片描述
两条曲线大致是同步的,过拟合的问题得到了改善 .

最后

以上就是老实中心为你收集整理的吴恩达团队 Tensorflow课程学习笔记 4-----dropout的全部内容,希望文章能够帮你解决吴恩达团队 Tensorflow课程学习笔记 4-----dropout所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部