一、期望(Expect)
随机变量的均值:
E
(
x
)
=
x
1
∗
P
(
x
1
)
+
x
2
∗
P
(
x
2
)
+
…
+
x
n
∗
P
(
x
n
)
E(x)=x_1*P(x_1)+x_2*P(x_2)+…+x_n*P(x_n)
E(x)=x1∗P(x1)+x2∗P(x2)+…+xn∗P(xn)
如果变量x满足均匀分布,那么期望=均值
二、熵(Entropy)
信息量:
I
(
x
0
)
=
−
l
o
g
(
P
(
x
0
)
)
I(x_0)=-log(P(x_0))
I(x0)=−log(P(x0))
概率越小,信息量越大
熵:表示所有信息量的期望
熵:
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)log(P(xi))
log的底一般取2
特例
二项分布
H
(
x
)
=
−
∑
i
=
1
n
P
(
x
i
)
l
o
g
(
P
(
x
i
)
)
=
−
P
(
x
)
l
o
g
(
P
(
x
)
)
−
(
1
−
P
(
x
)
)
l
o
g
(
1
−
P
(
x
)
)
H(x)=-\sum_{i=1}^nP(x_i)log(P(x_i))=-P(x)log(P(x))-(1-P(x))log(1-P(x))
H(x)=−∑i=1nP(xi)log(P(xi))=−P(x)log(P(x))−(1−P(x))log(1−P(x))
三、相对熵(KL散度)
KL散度:同一随机变量x,有两个单独的概率分布P(x)和Q(x),用KL散度衡量这两个分布之间的差异
D
K
L
(
P
∣
∣
D
)
=
∑
i
=
1
n
P
(
x
i
)
l
o
g
(
P
(
x
i
)
Q
(
x
i
)
)
D_{KL}(P||D)=\sum_{i=1}^nP(x_i)log(\frac{P(x_i)}{Q(x_i)})
DKL(P∣∣D)=∑i=1nP(xi)log(Q(xi)P(xi))
KL散度越小,表示P和Q的分布约接近。
理解:P可以理解为标签,Q可以理解为预测值。
四、交叉熵(Cross entropy)
对KL散度进行变形
由上式可以看出前半部分就是熵,P(x)一旦确定就是一个定值,一般不需要优化;后半部分就是交叉熵,所以在做交叉熵损失时,值越小代表预测值越接近真实值。
交叉熵:
H
(
P
,
Q
)
=
−
∑
i
=
1
n
P
(
x
i
)
l
o
g
(
Q
(
x
i
)
)
H(P,Q)=-\sum_{i=1}^nP(x_i)log({Q(x_i)})
H(P,Q)=−∑i=1nP(xi)log(Q(xi))
五、Softmax
softmax:
a
j
=
e
Z
j
∑
i
=
1
k
e
Z
k
a_j=\frac{e^{Z_j}}{\sum_{i=1}^ke^{Z_k}}
aj=∑i=1keZkeZj
Z
j
Z_j
Zj表示第j个神经元的输入
a
j
a_j
aj表示第j个神经元的输出
神经元的输出(概率)=每个神经元的输入/所有神经元的输入之和
简单说一下为什么softmax是这种形式,因为概率有两个性质:非负性和总体之和为1。 e x e^x ex让负无穷到正无穷的预测结果x映射为正数,再做归一化处理就将其转化为概率了。
将softmax代入交叉熵
H
(
P
,
Q
)
=
−
∑
i
=
1
n
P
(
x
i
)
l
o
g
(
Q
(
x
i
)
)
=
−
∑
i
=
1
n
y
i
l
o
g
a
i
=
−
∑
i
=
1
n
y
i
l
o
g
(
s
o
f
t
m
a
x
)
H(P,Q)=-\sum_{i=1}^nP(x_i)log({Q(x_i)})=-\sum_{i=1}^ny_iloga_i=-\sum_{i=1}^ny_ilog(softmax)
H(P,Q)=−∑i=1nP(xi)log(Q(xi))=−∑i=1nyilogai=−∑i=1nyilog(softmax)
y
i
y_i
yi代表标签
六、One-hot编码
One-hot编码就是将分类整数值映射到二进制向量
对一个几分类问题,二进制向量长度为几:
black–>0–>[1,0] black是第0个类,对应到二进制向量第0个位置为1
white–>1–>[0,1] white是第1个类,对应到二进制向量第1个位置为1
……
对一个分类问题
交叉熵:
H
=
−
∑
i
=
1
n
y
i
l
o
g
(
a
i
)
H=-\sum_{i=1}^ny_ilog(a_i)
H=−∑i=1nyilog(ai)
a
i
a_i
ai是预测类别的概率,
a
i
∈
[
0
,
1
]
a_i\in[0,1]
ai∈[0,1];
y
i
y_i
yi是0或1;
y=0时,H=0;y=1时,a越大,H越小
不定期更新,如有错误,欢迎指教!!!