TensorFlow2神经网络基础

文章目录

  • TensorFlow2神经网络基础
    • 数据加载
    • 全连接神经网络
    • 误差计算
    • 补充说明

数据加载

  • TensorFlow依托Keras,预先封装了很多小型的数据集,可以通过接口下载并使用该数据集。包含boston_housing(波士顿房价回归预测数据集)、cifar10(Cifar图像分类数据集共10大类)、cifar100(Cifar图像分类数据集共100小类)、mnist(手写数字识别数据集)、fashion_mnist(常用品分类数据集)、imdb(电影情感评论文本分类数据集)。
  • 调用load_data方法TensorFlow会自动从Google下载暂存的数据集到本地(第一次运行,后面不再下载,需要科学上网),然后以numpy格式返回训练集和测试集的x和y。
  • tf.data.Dataset
    • 在TensorFlow中,data模块中的Dataset是一个很重要的对象,作为数据加载的接口。
    • Dataset对象的form_tensor_slices方法可以很方便地从numpy矩阵等加载数据并进行预处理(注意Dataset对象的使用必须先取得对应的迭代器)。
    • Dataset对象的shuffle方法可以很方便地打散数据(特征和标签同步打散),一般只需要一个buffer_size参数,该数值越大,混乱程度越大。
    • Dataset对象的map方法可以很方便地进行数据预处理或者数据增广的操作,其功能类似于Python的map方法,传入一个函数对象,对每个数据调用该函数进行处理。
    • Dataset对象的batch方法可以直接设定每次取出数据的batch_size(默认为1),这是最核心的功能。
    • Dataset对象的repeat方法可以指定迭代器迭代的次数(在Python中对可迭代对象一旦取完就会停止取数据,但是训练往往需要很多轮次),默认不指定repeat的参数则会一直迭代下去。

全连接神经网络

  • 说明

    • 经典的神经网络结构是由多个隐藏层的神经元级联形成的全连接神经网络,后来各类针对不同任务的神经网络结构的设计都是基于全连接神经网络的思路,如计算机视觉的卷积神经网络、自然语言处理的循环神经网络等。对于全连接神经元的神经网络,由于结构固定,已经做了一定程度的封装。
  • tf.keras.layers.Dense(units)
    • 可以创建包含参数w和偏置b的一层全连接层网络,units表示神经元的数目。注意在创建Dense对象后,weights参数是默认没有创建的,需要通过build方法创建,使用net实例进行运算时会自动检查参数,若没有创建,则依据参与运算的数据自动创建weights。
  • tf.keras.Sequential
    • Sequential是用于线性堆叠多层网络结构的一个基础容器,其会自动将输入的张量流过多层得到输出。

误差计算

  • MSE均方差

    • 计算式为loss⁡=1N∑(y−out)2\operatorname{loss}=\frac{1}{N} \sum(y-o u t)^{2}loss=N1​∑(y−out)2,在TensorFlow中对这类简单的误差函数(损失函数)进行了简单封装。MSE这类损失函数一般都要除以一个样本量N,以保证求得的梯度值不会太大。
  • CrossEntropy交叉熵
    • 计算式为H(p,q)=−∑p(x)log⁡q(x)H(p, q)=-\sum p(x) \log q(x)H(p,q)=−∑p(x)logq(x),预测的q分布尽量逼近于真实的p分布,此时交叉熵函数值最小,故优化该损失函数合理。在TensorFlow中,对交叉熵函数计算进行了封装。

补充说明

  • 本文主要针对TensorFlow2中数据加载和误差计算的接口进行了简略说明。
  • 博客同步至我的个人博客网站,欢迎浏览其他文章。
  • 如有错误,欢迎指正。

TensorFlow2-神经网络基础相关推荐

  1. 神经网络基础及逻辑回归实现

    神经网络基础及逻辑回归实现 1. Logistic回归 1.1 Logistic回归 逻辑回归是一个主要用于二分分类类的算法.逻辑回归是给定一个x , 输出一个该样本属于1对应类别的预测概率​​=P( ...

  2. 深度学习:神经网络基础知识总结

    [神经网络基础知识总结]: 定义: 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它 ...

  3. 【赠书】图神经网络基础与前沿最新书籍,赠5本学习

    假期快要到了,本次给大家赠送5本人工智能领域的技术书籍,这次赠送的书籍是<图神经网络基础与前沿>. 这是一本什么样的书 图神经网络是近两年学术界的热点,在顶级会议上的文章越来越多.目前图像 ...

  4. 【阿里云课程】图神经网络基础:图的应用、表示与图卷积

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第9课中的一节,介绍如下: 图神经网络基础 本次课程是阿里天池联合有三AI推出的深度学习系列课程第9期,讲述图神经网络,图的 ...

  5. 吴恩达《Machine Learning》精炼笔记 4:神经网络基础

    作者 | Peter 编辑 | AI有道 今天带来第四周课程的笔记:神经网络基础. 非线性假设 神经元和大脑 模型表示 特征和直观理解 多类分类问题 非线性假设Non-linear Hypothese ...

  6. Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了逻辑回归,以输出概率的形式来处理二分类问题.我们介绍了逻辑回归的Cost function表达式,并使用梯度下降算法来计算最小 ...

  7. 吴恩达深度学习笔记2-Course1-Week2【神经网络基础:损失函数、梯度下降】

    神经网络基础:损失函数.梯度下降 本篇以最简单的多个输入一个输出的1层神经网络为例,使用logistic regression讲解了神经网络的前向反向计算(forward/backward propa ...

  8. 温州大学《深度学习》课程课件(七、卷积神经网络基础)

    这学期我上的另一门课是本科生的<深度学习>,主要用的是吴恩达老师的<深度学习>视频课的内容. 使用教材:吴恩达<深度学习>课程笔记 课外参考书:<深度学习&g ...

  9. 神经网络基础之可视化和交互式指南

    1.动机 2015年11月谷歌开源TensorFlow的时候,我非常兴奋,知道是时候开始学习了.听起来不太戏剧化,但对我来说,这实际上有点像普罗米修斯从机器学习的奥林匹斯山把火传给人类.在我的脑海里浮 ...

  10. 计算机视觉:卷积神经网络基础

    计算机视觉:卷积神经网络基础 计算机视觉概述 计算机视觉的发展历程 卷积神经网络 卷积(Convolution) 卷积计算 填充(padding) 步幅(stride) 感受野(Receptive F ...

最新文章

  1. np.dot()运算准则
  2. python yield用法
  3. 过虑数字类型后面的0
  4. 【小白学习keras教程】九、keras 使用GPU和Callbacks模型保存
  5. 移动端使用页尾文字使用绝对定位遇到input框会飘起来的处理方案
  6. python爬虫酷狗_python爬虫教程:爬取酷狗音乐,零基础小白也能爬取哦
  7. 三维点云课程(一)——点云基础介绍
  8. matlab 各类符号意义
  9. GDELT数据库入门与了解(码字中...)
  10. 网页服务器卡是什么原因吗,网速很快但打开网页速度很慢什么原因导致的
  11. Java统计字符串中文字符数目
  12. 不安分的 android 开发者(小程序初尝试)
  13. Android定制Home,以及launcher的自定义
  14. 用PHP删除一条记录,php如何删除一条记录
  15. java程序实现可移植性依靠的是_什么是JAVA的可移植性
  16. wine 的使用方法
  17. 最新发行版Openstack Havana单机安装指引
  18. 航空业中的Li-Fi应用
  19. 什么是机器人的五点校正法_机器人校准
  20. UE4虚幻引擎,编辑器基础应用,使用技巧(一)

热门文章

  1. Dubbo的发展历史
  2. 并发的发展历史-真空管和穿孔打卡
  3. 缓存-分布式锁-分布式锁原理与使用
  4. 工程搭建:搭建子工程之搭建环境构造返回实体类
  5. spring5新特性的介绍
  6. 使用springaop技术面向切面编程
  7. 多库共存 包装集的问题 点击按钮创建一个p 几个属性介绍 jQuery的插件
  8. wps怎么投递简历发到boss直聘_央视新闻联合BOSS直聘带“岗”年薪超82亿元
  9. kafka技术内幕(一)
  10. Spring--Resource