信息量
可能性越小的事件其信息量越大,极端情况下,确定事件的信息量为0。
事件
a
a
a 的信息量为
I
a
=
−
l
o
g
P
(
a
)
I_a = -logP(a)
Ia=−logP(a),
P
(
a
)
P(a)
P(a) 为事件
a
a
a 发生的概率。
熵
熵就是一个随机变量X所有事件的信息量的期望
例如随机变量
X
X
X表示明天的天气,所有事件为
x
1
x_1
x1=晴天,
x
2
x_2
x2=雨天,
x
3
x_3
x3=多云,对应的概率为
P
(
x
1
)
P(x_1)
P(x1)=0.3,
P
(
x
2
)
P(x_2)
P(x2)=0.5,
P
(
x
3
)
P(x_3)
P(x3)=0.2,那么随机变量
X
X
X的熵为:
−
P
(
x
1
)
l
o
g
P
(
x
1
)
+
−
P
(
x
2
)
l
o
g
P
(
x
2
)
+
−
P
(
x
3
)
l
o
g
P
(
x
3
)
-P(x_1)logP(x_1)+ -P(x_2)logP(x_2)+ -P(x_3)logP(x_3)
−P(x1)logP(x1)+−P(x2)logP(x2)+−P(x3)logP(x3)
补充:
数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和
相对熵
相对熵用来衡量同一个随机变量可能的不同分布之间的差异
机器学习分类任务中,样本属于哪一个类别(假设它是一个随机变量
Y
Y
Y),存在一个真实分布
Q
(
Y
)
Q(Y)
Q(Y)和预测分布
G
(
Y
)
G(Y)
G(Y),我个人觉得机器学习的本质是通过反复训练大量有限的已知样本来使每一个样本的预测分布
G
(
Y
)
G(Y)
G(Y)尽可能地逼近真实分布
Q
(
Y
)
Q(Y)
Q(Y),从而获得模型参数,这些参数的实际意义可以理解为在一定程度上描述了所有样本中各个属性对某个样本属于哪一个类别的重要程度,即属性权重。
因为样本的真实分布无法知道,所以一般用样本属于哪一类别的概率表示,对于已知标签的样本,它的分布概率取值范围为0或者1,即它的标签类别概率为1,其他类别概率为0。一般
Q
(
Y
)
Q(Y)
Q(Y)用one-hot形式表示
例如3分类任务中,
Q
(
Y
)
Q(Y)
Q(Y)=[0,1,0],表示该样本为属于第二类。
G
(
Y
)
G(Y)
G(Y)=[0.3,0.5,0.2],这两个分布之间的差异计算公式为:
x
i
x_i
xi表示第
i
i
i个样本,
n
n
n表示类别总数,
D
k
l
D_{kl}
Dkl的值越小说明预测分布和真实分布越相似。KL散度是非对称的,一般是真实分布做分子,预测分布做分母,表示的是预测的出来分布相对于真实分布的差异。
交叉熵
D
k
l
D_{kl}
Dkl表达式展开的后一项即就是交叉熵,即交叉熵的定义公式:
当
q
(
x
i
)
q(x_i)
q(xi)用one-hot形式表示概率,
g
(
x
i
)
g(x_i)
g(xi)用softmax计算概率(不一定使用softmax计算),softmax loss 和cross entropy loss就是一样的。
softmax loss
在计算机视觉中,一般一个做多分类的网络的结构为:多个卷积层(池化)->一个或者两个全连接层->softmax层,softmax层的神经元个数由类别数决定(例如有10类,那么softmax层就有10个神经元),每个神经元的输出表示着输入样本属于该神经元代表的类的概率,他们的和为1。数学计算公式为:
q
(
x
i
)
q(x_i)
q(xi)表示样本标签概率分布,
g
(
x
i
)
g(x_i)
g(xi)表示神经网络的输出概率分布,
n
n
n为类别数。
logistic loss
ogistic regression解决的是二分类问题,所以可以把它是softmax loss的一种特例。所以它的损失计算公式可以简化为:
这里的
n
n
n=2,说明只有两类