一、损失函数(loss) [前向传播的预测值y与已知答案y_的差距]:
1.优化目标:使loss达到最小值。
2.优化方法:均方误差(mse)
交叉熵(ce)
自定义
详解:
1.均方误差mse:
公式:
函数:loss_mse = tf.reduce_mean(tf.square(y_ - y))
tf.reduce_mean(x) :表示计算所有元素的平均值。
2.交叉熵cs: 表征两个概率分布之间的距离
公式:
函数:ce = -tf.reduce_mean(y_*tf.log(tf.clip_by_value(y, 1e-12, 1.0)))
也可以写成:ce = tf.nn.sparse_softmax_cross_entropy_with_logits(logits = y, labels = tf.argmax(y_,1))
cem = tf.reduce_mean(ce)
二、学习率:每次更新的幅度
公式:
优化目的:找到损失函数最小点。
注意:学习率设置大了,不收敛,设置小了收敛速度慢
指数衰减学习率:
global_step = tf.Variable(0, trainable = False) //记录运行了多少轮,设置为不可训练参数
learning_rate = tf.train.exponential_decay(LEARNING_RATE_BASE,global_step,LEARNING_RATE_STEP,LEARNING_RATE_DECAY,staircase = Ture)
参数:学习率基数,训练轮数,学习率多少次更新一次,(Ture为梯形下降,false为指数型下降)