Tensorflow(二)MNIST数据集分类

1.获取数据集

有两种方式可以得到数据集,第一是直接通过mnist = input_data.read_data_sets('MNIST_data',one_hot = True)进行联网下载,但这个方法可能很慢或者连接不到服务器,所以推荐使用第二个,在MNIST 直接下载数据,然后放在当前路径下的‘MNIST_data’文件夹中,下载以后不需要解压,直接压缩包放进去就好,它会自动解压获取数据的。

这个数据集是包含了0-9这10个数字的很多图片,我们要做的就是给出一张图片上面有数字,分析出这个数字是0-9中的哪一个。

one-hot的意思就是,输出值y应该是一个这样的形式【0,1,2,3,4,5,6,7,8,9】,每一个位置对应一个数字,得到的预测值只有一位为1,其他都是0,也就是说,如果预测值是【1,0,0,0,0,0,0,0,0,0】代表这个数字为0。预测值和给定的y值都是这种形式

 

2.softmax

softmax是一个激活函数,用在多分类问题的最后一层,最后一层使用这个函数以后得到的yhat并不是最终的预测值,以数据集分类例子来说,他是由10个小数组成的向量,并且这10个数的和为1,这10个数分别代表了最后这张图片是哪个数字的几率。选择最大的一项作为1,其他项都为0,最终得到预测值。

 

3.关于数据维度的问题

上面在讲向量的时候我都说的比较模糊,没有说明到底是行向量还是列向量,在之前吴恩达老师深度学习的课程中,神经网络中各层数据和参数的维度是这样定义的:(这是简化示例图,为了方便说明w和b的维度,下面代码展示的并没有隐藏层)

但这个数据集获取到的数据定义形式,也就是X和Y正好是反着来的,如果想要按照这个模型来,把获取到的数据转置即可,但这里为了以后增加改进方便,用了数据原始的格式。

注意数据的格式会引起两个问题,第一是参数值的维度,第二是向前传播是矩阵乘法的顺序

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值