tensorflow——损失函数

交叉熵损失函数(cross entropy)

分类问题中使用比较广的一种损失函数。
刻画两个概率分布之间的距离。

给定两个概率分布p和q,通过q来表示p的交叉熵为:
在这里插入图片描述
在tensorflow中交叉熵,实现代码1:

cross_entropy= -tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))

其中,y_表示预测值,y表示实际输出。tf.clip_by_value()函数将一个张量的数值控制在一个范围之内,可以避免一些错误,如log0无效等。
交叉熵一般与softmax回归一起使用,实现代码2:

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(y,y_)

其中,y_表示预测值,y表示实际输出。该函数的功能是自动计算logits(未经过Softmax)与labels之间的cross_entropy交叉熵。

均方误差损失函数(MSE,mean squared error)

回归问题最常用的损失函数
在这里插入图片描述
使用tensorflow实现代码1:

mse = tf.reduce_mean(tf.square(y_-y))

其中,y_表示预测值,y表示实际输出。
实现代码2:

mse = tf.loss.mean_squared_error(y_,y)

其中,y_表示预测值,y表示实际输出。

猜你喜欢

转载自blog.csdn.net/cherry1307/article/details/88291282
今日推荐