机器学习入门——MINST

本文介绍了MNIST手写数字数据集,并详细讲解了TensorFlow的基本概念,包括张量、常量、变量和占位符。通过实例展示了如何使用TensorFlow进行操作,包括初始化变量、计算交叉熵、应用梯度下降算法以及实现softmax回归。目的是与初学者分享深度学习入门知识。
摘要由CSDN通过智能技术生成


在进行机器学习时,一般学习的第一个项目就是手写MNIST识别学习。相当于Hello,Word,方便我们初步对机器学习有一个大概的概念。

什么是MNIST?

MNIST 是一个入门级计算机视觉数据集,包含了很多手写数字图片。如下图所示,为四张MNIST图片.
在这里插入图片描述
(MNIST资源很有网站都可以免费下载,如果实在找不到的可以联系我)

什么是TensorFlow?

TensorFlow是谷歌于2015年11月9日正式开源的计算框架。TensorFlow计算框架可以很好地支持深度学习的各种算法,但它的应用也不限于深度学习。

TensorFlow是由Jeff Dean领头的谷歌大脑团队基于谷歌内部第一代深度学习系统DistBelief改进而来的通用计算框架。DistBelief是谷歌2011年开发的内部深度学习工具,这个工具在谷歌内部已经获得了巨大的成功。
综上,TensorFlow就是深度学习工具。也就是流图从网络的一端流动到另一端的计算过程。

基本概念

TensorFlow中所有数据都是由张量的形式表示。
张量是什么?张量是一种组合数据类型,表示一个多维数组,通用表达形式为:[T1,T2,T3,…Tn],其中T可以是单个数字,也是是一个矩阵。
张量的维又叫张量的阶,是张量维数的一个数量描述。例:

1 #维度为0的张量
[1,2,3] #维度为1
[[1],[2]] #维度为2
[[1],[2],[3]] #维度为2
[[[1],[2]],[[3],[4]]] #维度为3

张量的形状,表达形式为[D0,D1,…Dn] D为任意正整数。例:
形状[3,4] 表示第一维有3个元素,第二维有4个元素。 [3,4]表示一个3行4列的矩阵
常量

def constant(value,dtype=None,shape=None,name=‘Const’,verify_shape=False)
value: 符合tf中定义的数据类型的常数值或者常数列表
dtype:数据类型,可选
shape:常量的形状,可选
name:常量的名字,可选
verify_shape:常量的形状是否可以被更改,默认不可更改
例:tensor_constant1 = tf.constant([1,2,3,4])

变量

TensorFlow中的变量特指深度学习机制中,控制输入到输出映射的可以变化的数据,
这些变化数据随着训练迭代的进行,不断地改变数值,不断优化,使输出的结果越来越接近于正确的结果。
例:初始化一个含有100个值为0的一维常量的变量:
w_c1 = Variable(tf.zeros([100]))

占位变量

def placeholder(dtype,shape=None,name=None)
dtype:表示tensorflow中的数据类型,如常用的tf.float32,tf.float64等数值类型
shape:表示数据类型,默认的None是一个一维的数值,shape=[None,5],表示行不定,列是5
name:张量名称
例:X = tf.placeholder(tf.float32,shape=[None,100*100])

常用函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值