机器学习,参数之-学习率设置

1,机器学习中的学习率设置
       学习率控制的是参数的更新速度,学习率设置过大,会导到损失函数在极小值附近来回变化,不收敛,
学习率设置过小,会导到学习速度变慢。
  tensorflow中提供了学习率衰减机制,可以开设置一个较大的学习率和一个衰减系数,让损失函数在刚开始
以的较快的速度下降,随着训练次数增加,学习率也逐渐变小,使用损失函数以一个比较慢的速度收敛。
2,公式
       decayed_learning_rate = learning_rate * decay_rate^(global_step/decay_steps)
  learning_rate为学习率,初始时设置为一个较大的值,比如0.2,
  decay_rate 为衰减率,初始时设置为较大的值0.9
  global_steps:训练次数,当前训练了多少次
  decay_steps:衰减次数,为样本总数/个次训练的batch大小,固定值
3,一个tensorflow中的使用样例
learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE,
                                                global_step,                   mnist.train.num_examples/BATCH_SIZE,                                    
LEARNING_RATE_DECAY)
train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=global_step)

你可能感兴趣的:(机器学习)