1、梯度下降法
(1)标准梯度下降法:
标准梯度下降先计算所有样本汇总误差,然后根据总误差来更新权值。
(2)随机梯度下降法:
随机梯度下降随机抽取一个样本来计算误差,然后更新权值。
(3)批量梯度下降法:
批量梯度下降算是一种折中的方案,从总样本中选取一个批次(比如一共有10000个样本,随机选取100个样本作为一个batch),然后计算这个batch的总误差,根据总误差来更新权值。
不同的优化器有不同的特点,如果追求准确率最好,可以每个优化器试试。
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
#载入数据
mnist=input_data.read_data_sets('mnist_data',one_hot=True)#noe_hot把像素点都转变成0或1的形式
#每个批次的大小,训练模型时,一次放入一批次
batch_size=100 #一批次100张图
#计算一共有多少个批次
n_batch=mnist.train.num_examples//batch_size# //是整除,得到批次数
#定义两个placeholder,添加一个placeholder
x=tf.placeholder(tf.float32,[None,784])#建立一个占位符,None是图片数,784是每幅图的像素个数
y=tf.placeholder(tf.float32,[No