本节基于回归学习对 MNIST 数据集进行处理,但将添加一些 TensorBoard 总结以便更好地理解 MNIST 数据集。
MNIST由https://www.tensorflow.org/get_started/mnist/beginners提供。

大部分人已经对 MNIST 数据集很熟悉了,它是机器学习的基础,包含手写数字的图像及其标签来说明它是哪个数字。

对于逻辑回归,对输出 y 使用独热(one-hot)编码。因此,有 10 位表示输出,每位的值为 1 或 0,独热意味着对于每个图片的标签 y,10 位中仅有一位的值为 1,其余的为 0。

因此,对于手写数字 8 的图像,其编码值为 [0000000010]:

具体做法
导入所需的模块:

可以从模块 input_data 给出的 TensorFlow 示例中获取 MNIST 的输入数据。该 one_hot 标志设置为真,以使用标签的 one_hot 编码。这产生了两个张量,大小为 [55000,784] 的 mnist.train.images 和大小为 [55000,10] 的 mnist.train.labels。mnist.train.images 的每项都是一个范围介于 0 到 1 的像素强度:

在 TensorFlow 图中为训练数据集的输入 x 和标签 y 创建占位符:

创建学习变量、权重和偏置:

创建逻辑回归模型。TensorFlow OP 给出了 name_scope(“wx_b”):

训练时添加 summary 操作来收集数据。使用直方图以便看到权重和偏置随时间相对于彼此值的变化关系。可以通过 TensorBoard Histogtam 选项卡看到:

定义交叉熵(cross-entropy)和损失(loss)函数,并添加 name scope 和 summary 以实现更好的可视化。使用 scalar summary 来获得随时间变化的损失函数。scalar summary 在 Events 选项卡下可见:

采用 TensorFlow GradientDescentOptimizer,学习率为 0.01。为了更好地可视化,定义一个 name_scope:

为变量进行初始化:

组合所有的 summary 操作:

现在,可以定义会话并将所有的 summary 存储在定义的文件夹中:

经过 30 个周期,准确率达到了 86.5%;经过 50 个周期,准确率达到了 89.36%;经过 100 个周期,准确率提高到了 90.91 %。
解读分析
这里使用张量 tensorboard–logdir=garphs 运行 TensorBoard。在浏览器中,导航到网址 localhost:6006 查看 TensorBoard。该模型图如下:

在 Histogram 选项卡下,可以看到权重(weights)和偏置(biases)的直方图:

权重和偏置的分布如下:

可以看到,随着时间的推移,偏置和权重都发生了变化。在该示例中,根据 TensorBoard 中的分布可知偏置变化的范围更大。在 Events 选项卡下,可以看到 scalar summary,即本示例中的交叉熵。下图显示交叉熵损失随时间不断减少:

TensorFlowMNIST数据集逻辑回归处理相关推荐

  1. 使用鸢尾花数据集实现一元逻辑回归、多分类问题

    目录 鸢尾花数据集 逻辑回归原理 [1]从线性回归到广义线性回归 [2]逻辑回归 [3]损失函数 [4]总结 TensorFlow实现一元逻辑回归 多分类问题原理 独热编码 多分类的模型参数 损失函数 ...

  2. 机器学习-回归之逻辑回归算法原理及实战

    逻辑回归 简介 在一元回归和多元回归模型中,处理的因变量都是数值型区间变量,建立的模型描述的是因变量的期望与自变量之间的线性关系.然而,在实际的问题分析时,所研究的变量往往不全是区间变量而是顺序变量或 ...

  3. 基于逻辑回归算法癌症症状预测分析

    本文后面附有数据集 逻辑回归介绍 逻辑回归(Logistic Regression)是机器学习中的一种分类模型,虽然名字中带有回归, 就是因为它与回归之间有一定的联系.由于算法的简单和高效,在实际中应 ...

  4. R语言使用broom包将回归模型(线性回归、逻辑回归、比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集

    R语言使用broom包将回归模型(线性回归.逻辑回归.比例风险回归)的结果整理成dataframe并导出到excel等文件中:基于mtcars和colon数据集 目录

  5. ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)

    ML:基于自定义数据集利用Logistic.梯度下降算法GD.LoR逻辑回归.Perceptron感知器.支持向量机(SVM_Linear.SVM_Rbf).LDA线性判别分析算法进行二分类预测(决策 ...

  6. Tensorflow逻辑回归处理MNIST数据集

    #1:导入所需的软件 import tensorflow as tf ''' 获取mnist数据放在当前文件夹下,利用input_data函数解析该数据集 train_img和train--label ...

  7. 机器学习核心总结-概念、线性回归、损失函数、泛化及数据集划分、特征工程、逻辑回归和分类

    文章目录 一.机器学习入门概念 一.基本概念 机器学习:让机器进行学习和决策 机器学习分类:无监督学习.监督学习.强化学习 深度学习:模拟人脑,自动提取输入特征,是实现机器学习的方式之一 神经网络:一 ...

  8. 用逻辑回归实现鸢尾花数据集分类(1)

    鸢尾花数据集的分类问题指导 -- 对数几率回归(逻辑回归)问题研究 (1) 这一篇Notebook是应用对数几率回归(Logit Regression)对鸢尾花数据集进行品种分类的.首先会带大家探索一 ...

  9. 课堂笔记:逻辑回归和鸢尾花数据集

    一.机器学习 机器学习过程: 二.逻辑回归 1.作用:(1)估计某事物的可能性 :(2)适用于流行病学资料的危险因素分析. 2.介绍:简单来说它是线性回归的一种,事实上它是一个被logistic方程归 ...

最新文章

  1. .NET 2.0 中使用Active Directory 应用程序模式 (ADAM)
  2. 【蓝桥杯】基础练习 十六进制转十进制
  3. 关于mybatis的@Param注解和参数
  4. mapreduce,map后面跟map是什么操作???
  5. img设置宽高不生效_便宜 好用 不掉盘 保姆级粒子云刷机攻略
  6. ubuntu17.04 调试系统工具bcc,systamtap安装
  7. C++ 定义 string
  8. centos arm-linux-gcc,CentOS 5.5下arm-linux-gcc交叉编译环境的搭建
  9. Helm 3 完整教程(二十一):Helm 创建和引用子模板
  10. 启动virt-manager报错:Failed to open /var/lib/dbus/machine-id
  11. 分布式架构设计之电商平台
  12. Java入门级基础教学(史上最详细的整合)
  13. 域名使用https访问配置
  14. 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储
  15. 关于计算机四级网络工程师的考试
  16. Adobe Camera Raw v15.0.0.1264 增效工具
  17. 检测报告上CNAS、CMA资质含义及联系
  18. 抖音挑战微信能赢么?
  19. JDE910笔记2--OMW项目建立及简单使用[转]
  20. Okra App Framework 框架导航过程

热门文章

  1. 2022-2028年中国工业环保产业投资分析及前景预测报告
  2. c语言long int表示范围_C语言编程第9讲——这些C语言整数类型的知识点你掌握了吗...
  3. 2021年中国服装行业分析报告-产业规模现状与发展规划趋势
  4. 前端Vue学习之路(二)-Vue-router路由
  5. 【Spring】ioc的常用注解
  6. python命令之m参数 局域网传输
  7. 五分钟搭建一个基于BERT的NER模型
  8. Python ljust()方法
  9. 台积电2nm与3nm制程
  10. CPU,GPU,Memory调度