神经网络优化器
Optimizer
- tf.train.GradientDescentOptimizer
- tf.train.AdadeltaOptimizer
- tf.train.AdagradDAOptimizer
- tf.train.MomentumOptimizer
- tf.train.AdamOptimizer
- tf.train.FtrlOptimizer
- tf.train.ProximalAdagradOptimizer
- tf.train.RMSPropOptimizer
各种优化器对比
- 标准梯度下降法:先计算所有样本汇总误差,然后根据总误差来更新权值;
- 随机梯度下降法:随机抽取一个样本来计算误差,然后更新权值;
- 批量梯度下降法:一种折中的方案,从总样本中选取一个批次(比如一共有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)
batch_size = 100
n_batch = mnist.train.num_examples // batch_size
x