信息熵、KL散度、交叉熵、softmax函数学习小记

1.信息熵

简介:
描述一组样本的不确定程度。

公式:
H ( x ) = − ∑ i = 1 n P ( x i ) l o g P ( x i ) H(x)=-\sum_{i=1}^{n} P(x_{i})log P(x_{i}) H(x)=i=1nP(xi)logP(xi)

例如一组样本:

样本1国庆假期选择出游的概率样本2国庆假期选择出游的概率
张三0.2Jack Zhang0.6
李四0.2Eric Li0.1
王五0.2Vicky Wang0.1
赵六0.2Nicholas Zhao0.1
钱七0.2Tsien0.1

求信息熵:

样本1样本2
= - (0.2log(0.2) + 0.2log(0.2) + 0.2*log(0.2)) …= - (0.6log(0.6) + 0.1log(0.1) + 0.1*log(0.1)) …
= - ((0.2 * -0.699) + (0.2 * -0.699) + (0.2 * -0.699)) …= - ((0.6 * -0.2218) + (0.1 * -1) + (0.1 * -1)) …
= 0.699= 0.53308

结论:

样本1中的学生选择国庆假期出游的不确定性比较大。

2.交叉熵

简介:
度量预测样本与真实样本之间的差距。NN中最常见的名词之一,但除了会用,还可以再多了解一下。

公式:
H ( P , Q ) = − ∑ i = 1 n P ( x i ) l o g Q ( x i ) H(P,Q)=-\sum_{i=1}^{n} P(x_{i})log Q(x_{i}) H(P,Q)=i=1nP(xi)logQ(xi)

(注:交叉熵有多种变形公式)

例如一组样本:

预测分类预测标签( Q )真实标签( P )
张三国庆去甘肃0.71
张三国庆去青海0.10
张三国庆去宁夏0.20

求交叉熵:

H(P,Q) = -(1Log(0.7) + 0log(0.1) + 0*log(0.2)) = 0.1549

结论:

预测结果越准确,交叉熵越小。

3.KL散度

简介:
描述2个概率分布间的差异或者距离。也是学习GAN时需要了解的重要概念。

公式:
D K , L ( P ∣ ∣ Q ) = − ∑ i = 1 n P ( x i ) l o g ( P ( x i ) Q ( x i ) ) D_{K,L}(P||Q)=-\sum_{i=1}^{n} P(x_{i})log (\frac{P(x_{i})}{Q(x_{i})}) DK,L(P∣∣Q)=i=1nP(xi)log(Q(xi)P(xi))

特性:

1.非对称性:
D K , L ( P ∣ ∣ Q ) ≠ D K , L ( Q ∣ ∣ P ) D_{K,L}(P||Q) ≠ D_{K,L}(Q||P) DK,L(P∣∣Q)=DK,L(Q∣∣P)

2.非负性:
D K , L ( P ∣ ∣ Q ) > = 0 D_{K,L}(P||Q) > = 0 DK,L(P∣∣Q)>=0

3.通过公式变形可知:
KL散度 = 交叉熵-信息熵

我们知道Log(1)=0,分类问题结果往往是one hot形式的,那么上面公式就变成了:
KL散度 = 交叉熵 - 0

所以有时候直接求交叉熵就行了。

4.交叉熵二分类公式

简介:
又名BCE、BinaryCrossEntropy。
二分类即是或者不是两种结果,同时也会得到返回是或者不是的概率,概率值带入该公式求得损失,同时也是GAN运用中用来求得损失函数的公式。

公式:
H ( P , Q ) = − ∑ i = 1 n P ( x i ) l o g Q ( x i ) H(P,Q)=-\sum_{i=1}^{n} P(x_{i})log Q(x_{i}) H(P,Q)=i=1nP(xi)logQ(xi)

= − ( P ( x 1 ) l o g Q ( x 1 ) + P ( x 2 ) l o g Q ( x 2 ) ) = -(P(x1)log Q(x1) + P(x2) log Q(x2)) =(P(x1)logQ(x1)+P(x2)logQ(x2))
= − ( P l o g Q + ( 1 − P ) l o g ( 1 − Q ) ) = -(P log Q + (1-P) log(1-Q)) =(PlogQ+(1P)log(1Q))

(注:为什么xi可以替换成x1和x2,是因为二分类只有2个分类)

导数(这是chatgpt给的):
(Q - P) / (Q * (1 - Q))

5.Softmax

简介:
将数字结果转换为概率,所以对于非分类问题的神经网络,要去掉Softmax操作。

公式:
S i = e z i ∑ i = 1 n e z i S_{i} = \frac{e^{zi}}{\sum_{i=1}^{n} e^{zi}} Si=i=1neziezi

这个比较常见,推导就不做了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值