TensorFlow 实战(一)—— 交叉熵(cross entropy)的定义

对多分类问题(multi-class),通常使用 cross-entropy 作为 loss function。cross entropy 最早是信息论(information theory)中的概念,由信息熵(information entropy,与压缩比率有关)变化而来,然后被用到很多地方,包括通信,纠错码,博弈论和机器学习等。交叉熵与信息熵的关系请见:机器学习基础(六)—— 交叉熵代价函数(cross-entropy error)。文章来源地址https://www.yii666.com/article/758103.html文章地址https://www.yii666.com/article/758103.html

在运作对 loss function 的定义时,y 是预测的概率分布,y′ 是真实的概率分布(在多分类问题的 one-hot 编码),用来判断模型对真实概率分布估计的准确程度。

H(y,y′)=Hy′(y)=−∑iy′ilogyi

i 表示的是样本编号。此外交叉熵还可以用来度量两个同维度的向量之间的举例,二分类问题又可进一步展开为:网址:yii666.com

H(y,a)=Hy(a)=−(yloga+(1−y)log(1−a))
# y_ 真实输出值,y 预测值
y_ = tf.placeholder(tf.float32, [None, 10])
cross_ent = -tf.reduce_mean(tf.reduce_sum(y_*tf.log(y), reduce_indices=[1]))

预测值y是经过一系列的机器学习(深度学习)的算法得到(y_以预先 placeholder,占位),此时便可定义优化算法:网址:yii666.com<文章来源地址:https://www.yii666.com/article/758103.html

lr = 1e-4
train_step = tf.train.AdamOptimizer(lr).minimize(cross_ent)

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png