【TensorFlow】神经网络MNIST手写识别

这篇博客介绍了如何使用TensorFlow构建神经网络进行MNIST手写数字识别。从MNIST数据集介绍开始,详细讲解了神经网络的基本结构和工作原理,重点阐述了在TensorFlow中创建和初始化变量,并提供了完整的模型训练和评估过程。
摘要由CSDN通过智能技术生成

项目稍有停歇,终于有时间来玩一下TensorFlow和DL了。看了官网入门教程就先来说说神经网络吧。

1.MNIST数据集

MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片,如下图:官网在此
MNIST例图
MNIST包含四个部分:一个训练图片集,一个训练标签集,一个测试图片集,一个测试标签集。下载下来后解压四个文件都是二进制文件,需要转换才能看到真实的图片。
每一个MNIST数据单元有两部分组成:一张包含手写数字的图片和一个对应的标签,每一张图片包含28X28个像素点。

2.神经网络

神经网络其实是一种算法,能够提供给我们一种复杂的非线性模型Hw,b(x),并以此来拟合我们的数据。又因为它的构造和处理信息的模式有点像人类,这让神经网络更显得神奇。

  • 基本结构
    先从最简单的说起,只有一个神经元的神经网络。
    这里写图片描述
    这就是一个简单的神经网络,图中的圆圈圈就是一个神经元。对于一个复杂的,多层的神经网络来说,一个神经元可以有多个输入和一个输出;每个神经元的输入即可以是其他神经元的输出,也可以是整个神经网络的输入。所谓的神经网络结构就是指不同神经元之间的连接结构。神经元结构的输出就是所有输入的加权和,不同输入的权重就是神经元的参数。
    一个多层的神经网络

  • 基本流程
    数据从输入层输入,在隐藏层进行加权变换,最后在输出层进行输出。神经网络的优化过程就是优化神经元中参数取值的过程。
    每个神经元都可以代表一种特定的输出函数,例如上面的h(x)=Wx+b。我们也称之为激励函数(Activation Function),又由于每次输入多多少少会带点噪声,那么我们则需要在后面上一个偏置(bias)。本文的激励函数我们选用softmax。

流程图

  • softmax回归模型
    softmax模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 y可以取两个以上的值。 由于MNIST是要辨识10个数字,所以该模型非常适合处理这个问题。值得一提的是,softmax是有监督。在Softmax回归中将 x 分类为类别 j 的概率为:这里写图片描述 使得所有概率之和为 1 。

3.TensorFlow变量

神经网络中的参数weight和bias是实现分类和回归问题中重要的部分。在TensorFlow中,tf.Variable的作用就是保存和更新神经网络中的参数。下面来看下TensorFlow中是如何生成和初始化变量的。
例子:

weight = tf.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值