激活函数


目前很少用这个激活函数,因为在深度神经网络中更新参数时需要从输出层到输入层逐层进行链式求导,而sigmoid函数倒数值为0-0.25之间,链式求导需要多层导数连续相乘,会出现多个0-0.25之间的连续相乘,结果趋于零,产生梯度消失,无法进行参数更新


使用中应避免负数特征进入RELU函数,否则会导致神经元死亡



过拟合的解决方法:L1正则化和L2正则化

用Tensorflow API :tf.keras搭建网络八股
六步法:
1、import
import相关模块,如:import tensorflow as tf
2、train,test
要指定训练集的输入特征x_train和训练集的标签y_train,还可以指定测试集的输入特征x_test和测试集的标签y_test
3、在Sequential()中搭建网络结构:model = tf.keras.model.Sequential,逐层描述没层网络,相当于走了一遍前向传播
4、model.compile(),在compile()中配置训练方法,告知训练时选择哪种优化器,选择哪种损失函数,选择哪种评测指标
5、model.fit ()在fit中执行训练过程,告知训练集和测试集的输入特征和标签,告知每一个batch是多少,告知要迭代多少次数据集
6、model.summary(),用summary打印出网络的结构和参数统计
注:以上六部为以后写代码的提纲,一定一定一定要记住,重要的事情说三遍

可以认为Sequential()是一个容器,封装了一个神经网络结构,在Senquential中要描述从输入层到输出层每一层的网络结构,每一层的网络结构可以是拉直层Flatten(),这一层不含计算,只是形状转换,把输入特征拉直变成一维数组;


batch_size=每次喂入神经网络的样本数
epochs=迭代多少次数据集

注一

model.fit(x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)
x_train——训练集输入特征
y_train——训练集标签
batch_size——训练时一次喂入神经网络多少组数据
epochs——数据集迭代循环多少次
validation_split=0.2——告知从训练集中选择20%的数据作为测试集
validation_freq=20——每迭代20次训练集要在测试集中验证一次准确率

注二

loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
由于神经网络末端使用了Softmax函数,使得输出是概率分布而不是原始输出,所以from_logits是False

注三

metrics=[‘sparse_categorical_accuracy’])
由于鸢尾花数据集给的标签是0,1,2是数值,神经网络前向传播的输出是概率分布,所以选择sparse_categorical_accuracy作为评测指标

注四

用summary打印出网络结构和参数统计

用Sequential可以搭建出上层输出就是下层输入的顺序网络结构,无法写出一些带有跳连的非顺序网络结构,这个时候可以选择用类class搭建神经网络结构


可以认为__init__函数准备出搭建网络所需的各种积木
call函数调用__init__中搭建好的积木,实现前向传播

第五章

北京大学Tensorflow2.0笔记相关推荐

  1. 人工智能实践:Tensorflow2.0笔记 北京大学MOOC(1-1)

    人工智能实践:Tensorflow2.0笔记 北京大学MOOC(1-1) 说明 一.神经网络计算过程 1. 人工智能三学派 2. 神经网络设计过程 2.1 人脑中的神经网络形成过程 2.2 计算机模仿 ...

  2. 人工智能实践:Tensorflow2.0笔记 北京大学MOOC(2-1)

    人工智能实践:Tensorflow2.0笔记 北京大学MOOC(2-1) 说明 一.神经网络的优化 1. 神经网络复杂度 2. 学习率策略 2.1 学习率概念回顾 2.2 动态调整学习率 2.2.1 ...

  3. 〖TensorFlow2.0笔记21〗自定义数据集(宝可精灵数据集)实现图像分类+补充:tf.where!

    自定义数据集(宝可精灵数据集)实现图像分类+补充:tf.where! 文章目录 一. 数据集介绍以及加载 1.1. 数据集简单描述 1.2. 程序实现步骤 1.3. 加载数据的格式 1.4. map函 ...

  4. tensorflow2.0 学习笔记:一、神经网络计算

    mooc课程Tensorflow2.0 笔记 人工智能三学派 行为主义:基于控制论,构建感知-动作控制系统(自适应控制系统) 符号主义:基于算数逻辑表达式,求解问题时先把问题描述为表达式,再求解表达式 ...

  5. Tensorflow2.0学习笔记(一)北大曹健老师教学视频1-4讲

    Tensorflow2.0学习笔记(一)北大曹健老师教学视频1-4讲 返回目录 这个笔记现在是主要根据北京大学曹健老师的视频写的,这个视频超级棒,非常推荐. 第一讲 常用函数的使用(包含了很多琐碎的函 ...

  6. TensorFlow2.0 Guide官方教程 学习笔记20 -‘Effective TensorFlow 2‘

    本笔记参照TensorFlow Guide官方教程,主要是对'Effictive TensorFlow 2'教程内容翻译和内容结构编排,原文链接:Effictive TensorFlow 2 高效的T ...

  7. TensorFlow2.0 学习笔记(三):卷积神经网络(CNN)

    欢迎关注WX公众号:[程序员管小亮] 专栏--TensorFlow学习笔记 文章目录 欢迎关注WX公众号:[程序员管小亮] 专栏--TensorFlow学习笔记 一.神经网络的基本单位:神经元 二.卷 ...

  8. Tensorflow2.0学习笔记(一)

    Tensorflow2.0学习笔记(一)--MNIST入门 文章目录 Tensorflow2.0学习笔记(一)--MNIST入门 前言 一.MNIST是什么? 二.实现步骤及代码 1.引入库 2.下载 ...

  9. Tensorflow2.0学习笔记(二)

    Tensorflow2.0学习笔记(二)--Keras练习 文章目录 Tensorflow2.0学习笔记(二)--Keras练习 前言 二.使用步骤 1.实现步骤及代码 2.下载 Fashion MN ...

最新文章

  1. 网络推广外包——企业委托网络推广外包公司提高网站流量和访问量
  2. Swift中GCD与NSOperation相关
  3. 父亲节python代码_python 计算 父亲节
  4. 第十三节、SURF特征提取算法
  5. MySQL 高级 游标介绍
  6. SAP UI5 应用开发教程之五十六 - SAP UI5 树控件(tree)的开发
  7. mock 生成在线图片
  8. 北理工在线作业计算机的主要特点是( ),北理工18秋《计算机组成原理》在线作业【答案】...
  9. php里isset的属性,PHP魔术方法__isset()
  10. /bin/bash: jar: command not found(
  11. 谈谈Tensorflow的Batch Normalization
  12. word文档中打钩的8种方法【实用】
  13. https spdy
  14. 一寸照片快照多少钱_去照相馆拍照一般多少钱
  15. java使用nmap工具进行端口扫描,简单学习
  16. adb路径不能包含2空格remote couldn‘t create file: Is a directory
  17. 赶时间发布 ChatGPT 竞品后,Google 遭员工反讽:太仓促、拙劣、非 Google Style
  18. Chrome谷歌浏览器自动填充账号密码样式
  19. 前端必学——用JavaScript实现电商图片放大镜效果(附代码)
  20. 电子元器件分销业ERP系统供应链解决方案

热门文章

  1. 限流中间件IpRateLimitMiddleware的使用
  2. 体验.NET Core使用IKVM对接Java
  3. 2021编程语言排行:C#飙升,Python蝉联榜首
  4. 开源的负载测试/压力测试工具 NBomber
  5. 在 CAP 中使用 AOP ( Castle.DynamicProxy )
  6. dotNet Core 3.1 使用 Elasticsearch
  7. Dapr微服务应用开发系列2:Hello World与SDK初接触
  8. 对 JsonConvert 的认识太肤浅了,终于还是遇到了问题
  9. [半翻] 设计面向DDD的微服务
  10. 【C# 调用 Go 语言】0x2 参数、返回值与类型转换