首页 > 其他 > 详细

深度学习TensorFlow笔记——损失函数

时间:2019-09-29 21:57:03      阅读:107      评论:0      收藏:0      [点我收藏+]

1.交叉熵:交叉熵刻画了两个概率分布之间的距离,它是分类问题中使用比较广的一种损失函数。通过q来表示p的交叉熵为:

 

技术分享图片

Softmax将神经网络前向传播得到的结果变成概率分布,原始神经网络的输出被用作置信度来生成新的输出,而新的输出满足概率分布的所有要求。

交叉熵函数不是对称的,H(p,q)!=H(q,p),他刻画的是通过概率分布q来表达概率分布p的困难程度。因为正确答案是希望得到的结果,所以当交叉熵作为神经网络的损失函数是,p代表的是正确答案,q代表的是预测值。交叉熵刻画的是两个概率分布的距离,也就是说交叉熵值越小,两个概率分布越接近。

tensorflow实现交叉熵代码:技术分享图片

 

 其中y_代表正确结果,y代表预测结果。tf.clip_by_value()函数的意思是,小于1e-10的数全换成1e-10,大于1的数全换成1。tensorflow中*的意思是对应相同位置的数项乘,不是矩阵的乘法。

 因为交叉熵一般会与softmax回归一起使用,所以tensorflow对这两个功能进行了统一封装:技术分享图片

 

 通过这个命令就可以得到使用了Softmax回归之后的交叉熵。

在只有一个正确答案的分类问题中,tensorflow提供了tf.nn.sparse_softmax_cross_entropy_with_logits函数来进一步加速计算过程。

2.损失函数---------经典损失函数--------均方误差(MSE,mean squared error):

技术分享图片

 

 其中yi为一个batch中第i个数据的正确答案,而yi‘为神经网络给出的预测值。tensorflow实现代码:技术分享图片

 3.损失函数---------自定义函数-----

tf.greater(A,B)    返回A>B的结果,布尔值

tf.select(C,A,B)   C为真时(True),返回A值,为假(False)时返回B值。

这两个函数都是在元素级别进行

 

深度学习TensorFlow笔记——损失函数

原文:https://www.cnblogs.com/Turing-dz/p/11609833.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!