损失函数:刻画当前预测值和真实值之间的差距。
import tensorflow as tf
#定义损失函数-交叉熵
#说明:
#1.tf.clip_by_value(v,a,b)函数:将一个张量中的数值限制在一个范围之内。(本博客有具体讲解。)
#2.tf.log函数:对张量中所有元素依次求对数
#3.y_*tf.log(tf.clip_by_value(v,1e-10,1.0)) 元素之间直接相乘
#前三步计算得到的结果是一个n*m的二维矩阵;n:一个batch中样例的数量,m:分类的类别数量。
#4.tf.reduce_mean()函数:求平均值
cross_entropy=-tf.reduce_mean(y_*tf.log(tf.clip_by_value(v,1e-10,1.0)))
#定义学习率
learning_rate=0.001
#定义优化器
train_step=tf.train.AdamOptimizer(learning_rate).minimize(cross_entropy)