TensorFlow使用交叉熵函数

TensorFlow使用交叉熵函数

首先:由于tensorflow库里面是没有带有交叉熵函数的类,但是分配了交叉熵函数计算过程中使用到的数学函数.

交叉熵是什么?

交叉熵损失函数中所使用的函数 (损失函数:预测答案和正确答案之间的距离)

交叉熵的作用是描述概率分布Q对概率分布P估计的准确程度,一般会设定P代表的是正确答案,二Q代表的是预测的结果值.

简单来说,假设"P"为正确答案[1,2,3],而"Q"预测的结果是[0.8,1.9,2.8]."Q"与正确答案之间是有差距的,这差距就为损失函数.
想让其结果更接近正确答案,所以就要用交叉熵来计算使其损失函数一步步减少.

交叉熵计算公式

H ( P , Q ) = − ∑ x P ( x ) log ⁡ ( Q ( x ) ) H(P,Q)=-\displaystyle\sum_{x}^{} P(x)\log(Q(x)) H(P,Q)=xP(x)log(Q(x))

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

这个公式具体是怎么推算而来的?我也是看书迷迷茫茫的摸索出来的,一开始照着书上看,那一堆看不懂公式我真的快晕了,我把我不入流的理解 说出来给大家,这只是我本人的理解,有什么错误的 请多多包涵.

首先

第一个概念

信息量:
(1)极可能发生的事情信息量会比较少(也就是我连猜都不用猜,知道这件事会发生,那这件事就没有什么我想知道的信息量,)
(2)越小概率发生的事件越具有较高的信息量(物以稀为贵,这件事我了解的较少,不清楚的内容就会更多,所以这不清楚内容就是比较高信息量)
(3)重复发生的独立事件具有增量的信息(抛两次硬币正面朝上所包含的信息是抛一次硬币正面朝上信息的两倍)

假设有32个球队参加中国足球杯,恰巧我没有看过中国杯,我想问一个朋友,今年是哪一个球队进入冠军,但是他就不愿告诉我,让我猜,我将球队编号从1排到32,1.首先我问他"冠军球队在1~16"号之间吗,他告诉我猜对了,2.我接着问他"冠军球队在1 ~ 8号之间吗?",他告诉我猜错了,那我就知道冠军球队在"9 ~ 16之间",3.我再问他"冠军球队在9 ~ 12 号之间吗?" 这样我只需要问五次就可以猜到冠军球队在哪一号.(不明白的可以推算一下)

其实利用 l o g log log函数很快就能计算出结果,能发现这一点的数学家也是牛皮
因为 l o g 32 log32 log32= l o g 2 5 log2^5 log25 就得到5次.
上述的概率问题只有对与不对,所以就相当于2倍数,猜五次就得出答案,如果有64个球队的话,只需要6次就可以得到答案.{ 2 6 2^6 26}

香农熵

按照刚才的例子,假设我把想知道足球比赛冠军结果定义为事件X,
那么我们想得到所不确定事件的结果,就会使用香农熵来量化,也就是使用 l o g log log函数来计算.
I ( x ) = − l o g P ( x ) I(x)=-logP(x) I(x)=logP(x)

 tf.log()

以上的例子得数知道,这个事件 I ( x ) I(x) I(x)的得数为5,所以这个事件的信息量就是5(bit)

第二个概念

离散型随机变量

离散型随机变量我也是弄好久才摸清点点皮毛,其实和上面的香农熵做一个区分就是,香农熵猜测的概率事件是对与不对,如果要猜测数据比较多,或者比较离散的事件,那用log函数就算不出来了,所以就要用到离散型随机变量.例如一个城市人口是10万人,有一个孩子的家庭是9万人,有两个孩子的家庭是6000人,有三个孩子的是3000人,没有孩子的是1000人.那这个城市里每个家庭平均有几个小孩?

每个家庭中小孩的概率表

1个孩子的家庭 2个孩子的家庭
概率P= 90000 100000 \frac{90000}{100000} 10000090000= 9 10 = 0.9 \frac{9}{10}=0.9 109=0.9 6000 100000 \frac{6000}{100000}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值