美文网首页
2、神经网络(Mnist数据集)

2、神经网络(Mnist数据集)

作者: MakeStart | 来源:发表于2019-11-09 17:02 被阅读0次

神经网络

(1)理论上,单隐层神经网络可以逼近任何连续函数(只要隐层的神经元个数足够)
(2)对于一些分类数据(比如CTR预估),3层神经网络效果优于2层神经网络,但如果把层数不断增加 ,对最后的结果的帮助没有那么大的跳变。
(3)提升隐层数量或者隐层神经元个数,神经网络的“容量”会变大,空间表达能力会变强。
(4)过多的隐层和神经元结点会带来过拟合问题。
(5)不要试图降低神经网络参数量来减缓过拟合,用正则化或者dropout层。

2、神经网络(Mnist数据集)
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("data/", one_hot=True)

numClasses = 10
inputSize = 784
numHiddenUnits = 50
trainingIterations = 10000
batchSize = 100

X = tf.placeholder(tf.float32, shape = [None, inputSize])
y = tf.placeholder(tf.float32, shape = [None, numClasses])

W1 = tf.Variable(tf.truncated_normal([inputSize, numHiddenUnits], stddev=0.1))
B1 = tf.Variable(tf.constant(0.1), [numHiddenUnits])
W2 = tf.Variable(tf.truncated_normal([numHiddenUnits, numClasses], stddev=0.1))
B2 = tf.Variable(tf.constant(0.1), [numClasses])

hiddenLayerOutput = tf.matmul(X, W1) + B1
hiddenLayerOutput = tf.nn.relu(hiddenLayerOutput)
finalOutput = tf.matmul(hiddenLayerOutput, W2) + B2
finalOutput = tf.nn.relu(finalOutput)

loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels = y, logits = finalOutput))
opt = tf.train.GradientDescentOptimizer(learning_rate = .1).minimize(loss)

correct_prediction = tf.equal(tf.argmax(finalOutput,1), tf.argmax(y,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))

sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)

for i in range(trainingIterations):
    batch = mnist.train.next_batch(batchSize)
    batchInput = batch[0]
    batchLabels = batch[1]
    _, trainingLoss = sess.run([opt, loss], feed_dict={X: batchInput, y: batchLabels})
    if i%1000 == 0:
        trainAccuracy = accuracy.eval(session=sess, feed_dict={X: batchInput, y: batchLabels})
        print ("step %d, training accuracy %g"%(i, trainAccuracy))

testInputs = mnist.test.images
testLabels = mnist.test.labels
acc = accuracy.eval(session=sess, feed_dict = {X: testInputs, y: testLabels})
print("testing accuracy: {}".format(acc))

相关文章

  • 使用必备模板搭建神经网络

    使用八股搭建神经网络 神经网络搭建八股 iris代码复现 MNIST数据集 训练MNIST数据集 Fashion数...

  • 搭建BP网络对实际图片进行预测

    在mnist数据集上搭建BP神经网络,完成在测试集上的训练,详情参看:基于TensorFlow的mnist数据集B...

  • 算法笔记(22)MLP手写识别及Python代码实现

    本节讲述神经网络实例用MLP进行手写识别。 使用MNIST数据集 MNIST数据集包含60,000个用于训练的示例...

  • mnist 多层神经网络

    1.基础 TensorFlow 训练MNIST数据集(2)—— 多层神经网络 - (•̀ω•́)y - 博客园 T...

  • 神经网络(二)

    神经网络 1. 神经网络基础 2. MNIST数据集浅层神经网络分析 3. 卷积神经网络 4. 卷积神经网络MNI...

  • 2019-10-14

    深度学习第八天 神经网络实现全过程理论部分介绍: 1.数据输入:以Mnist数据集为例子:Mnist数据集是来自美...

  • 使用Tensorflow进行Mnist数据集实战

    MNIST数据集简介 在进行MNIST数据集实战之前,我们先简单了解一下MNIST数据集。MNIST数据集的全称叫...

  • 神经网络入门 (8)

    这里用的 MNIST 就是一个手写数字图片的数据集,也是经典数据集,可以是神经网络的 helloworld 的数据...

  • Python读取mnist

    在做 TensorFlow和Python实现神经网络的时候,需要利用到一个MNIST数据集,数据集的格式是以.id...

  • 【2019-03-16】神经网络简单认识和应用

    神经网络如何通过反向传播与梯度下降进行学习 (1)初识神经网络 加载 Keras 中的 MNIST 数据集 fro...

网友评论

      本文标题:2、神经网络(Mnist数据集)

      本文链接:https://www.haomeiwen.com/subject/cbenbctx.html