tensorflow实战之三:MNIST手写数字识别的优化2-多层感知器

本章节介绍如何使用TensorFlow实现多层神经网络优化MNIST手写数字识别,通过引入Dropout策略防止过拟合。通过4层网络结构,训练集准确率提升至97.52%,测试集达到96.8%,展现了多层网络的优势。
摘要由CSDN通过智能技术生成

上一章我们用到交叉熵代价函数来优化我们的模型,但是最后的准确率也只有92%,这一节我们会实现一个多层的神经网络其中会用的后面一节的知识。新手的话耐心点看看,会有不少收获偶。

 那我们就直接上代码了:

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data",one_hot=True)

老规矩先导入我们的MNIST数据集


#每个批次的大小
batch_size = 100
#计算一共有多少个批次
n_batch = mnist.train.num_examples // batch_size

定义每一个批次训练数据集的大小为100(就是每次向神经网络输入100张图片)和批次数目


#定义两个placeholder
x = tf.placeholder(tf.float32,[None,784])
y = tf.placeholder(tf.float32,[None,10])
keep_prob=tf.placeholder(tf.float32)

定义我们的图片及标签的容器placeholder ,这里的keep_prob就是指的消除神经网络过拟合的Dropout参数,具体的原理后面会讲到。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值