前馈神经网络的图例及推导过程见https://blog.csdn.net/u010089444/article/details/52555567,接下来我们用python语言实现多层前馈神经网络。本例使用的是MINST数据集,由输入层,两个隐藏层,输出层. MNIST数据集中图片的大小为28*28,即每张图片可用一个28*28=784的向量表示.网络输入层的维度是784, 第一层隐藏层包含625个激活单元,第二层隐藏层包含500个激活单元,因此输入层到第一层隐藏层的权重矩阵维度是625*784,第一层到第二层隐藏层的权重矩阵维度是500*625,第二层隐藏层到输出层的权重矩阵维度是10*500,即网络最后输出一个10维向量,表示模型对图片中数字的预测结果.具体代码如下:
import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_data #数据读取 data_sets = input_data.read_data_sets("MNIST_data/", one_hot=True) trX, trY, teX, teY = data_sets.train.images, data_sets.train.labels, data_sets.test.images, data_sets.test.labels #占位符 images_placeholder = tf.placeholder("float", [None, 784]) labels_placeholder = tf.placeholder("float"