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.2 | Jack Zhang | 0.6 |
李四 | 0.2 | Eric Li | 0.1 |
王五 | 0.2 | Vicky Wang | 0.1 |
赵六 | 0.2 | Nicholas Zhao | 0.1 |
钱七 | 0.2 | Tsien | 0.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.7 | 1 |
张三国庆去青海 | 0.1 | 0 |
张三国庆去宁夏 | 0.2 | 0 |
求交叉熵:
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+(1−P)log(1−Q))
(注:为什么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
这个比较常见,推导就不做了。