信息熵
信息熵是统计学习中常见概念,用来衡量一个随机变量
X
X
X的不确定性,不确定性和概率分布
p
(
X
)
p(X)
p(X)有关,因此有下式:
H
(
X
)
H(X)
H(X)或者
H
(
p
)
=
−
∑
x
p
(
x
)
l
o
g
(
p
(
x
)
)
=
E
x
l
o
g
(
1
p
(
x
)
)
H(p)=-\sum\limits_{x} p(x)log(p(x))=E_{x}log(\frac{1}{p(x)})
H(p)=−x∑p(x)log(p(x))=Exlog(p(x)1)。
其在信息论中的含义为,编码随机变量X所需的最小的平均bit数。
由此衍生出来的概念有交叉熵, 相对熵(也叫KL散度),条件熵,联合熵。
交叉熵
假设
p
p
p为随机变量
X
X
X的真实分布(如果未知,可以通过采样近似),
q
q
q为随机变量
X
X
X的近似分布,则**
p
p
p对
q
q
q的**交叉熵,:
H
(
p
,
q
)
=
−
∑
x
p
(
x
)
l
o
g
(
q
(
x
)
)
H(p,q)=-\sum\limits_x p(x)log(q(x))
H(p,q)=−x∑p(x)log(q(x))。
其含义为基于分布
q
q
q对来源于分布
p
p
p的样本
X
X
X进行编码所需平均bit数。(分布
q
q
q必须已知,分布
p
p
p可以已知也可以未知,如果
p
p
p未知,则通过来源于分布
p
p
p的大量样本,采样法求平均最小bit数)。
相对熵
相对熵,也叫KL散度,是衡量两个分布的距离的,
p
p
p对
q
q
q的相对熵为():
K
L
(
p
∣
∣
q
)
=
−
∑
x
p
(
x
)
l
o
g
(
q
(
x
)
p
(
x
)
)
=
−
∑
x
p
(
x
)
l
o
g
(
q
(
x
)
)
−
(
−
∑
x
p
(
x
)
l
o
g
(
p
(
x
)
)
)
KL(p||q)=-\sum\limits_x p(x)log(\frac{q(x)}{p(x)})=-\sum\limits_x p(x)log(q(x))-(-\sum\limits_x p(x)log(p(x)))
KL(p∣∣q)=−x∑p(x)log(p(x)q(x))=−x∑p(x)log(q(x))−(−x∑p(x)log(p(x)))
其含义为基于分布
q
q
q对来源于分布
p
p
p的样本
X
X
X进行编码平均所多花费的bit数。
相对熵=交叉熵-信息熵。
条件熵
条件熵,即已知随机变量
X
X
X,随机变量
Y
Y
Y的熵:
H
(
Y
∣
X
)
=
∑
x
p
(
X
=
x
)
H
(
Y
∣
X
=
x
)
=
−
∑
x
p
(
X
=
x
)
∑
y
p
(
Y
=
y
∣
X
=
x
)
l
o
g
(
p
(
Y
=
y
∣
X
=
x
)
)
=
−
∑
x
,
y
p
(
x
,
y
)
l
o
g
(
p
(
y
∣
x
)
)
H(Y|X) \\=\sum\limits_{x} p(X=x)H(Y|X=x) \\=-\sum\limits_{x} p(X=x) \sum\limits_{y}p(Y=y|X=x)log(p(Y=y|X=x)) \\=-\sum\limits_{x,y}p(x,y)log(p(y|x))
H(Y∣X)=x∑p(X=x)H(Y∣X=x)=−x∑p(X=x)y∑p(Y=y∣X=x)log(p(Y=y∣X=x))=−x,y∑p(x,y)log(p(y∣x))。
联合熵
H
(
X
,
Y
)
=
−
∑
X
∑
Y
p
(
X
,
Y
)
l
o
g
(
p
(
X
,
Y
)
)
H(X,Y)=-\sum\limits_X\sum\limits_Yp(X,Y)log(p(X,Y))
H(X,Y)=−X∑Y∑p(X,Y)log(p(X,Y)),
H
(
X
,
Y
)
=
H
(
Y
∣
X
)
+
H
(
X
)
H(X,Y) = H(Y|X)+H(X)
H(X,Y)=H(Y∣X)+H(X)。
注意1:
在EM算法与变分推断中
l
o
g
p
(
x
)
=
l
o
g
p
(
x
,
z
)
−
l
o
g
p
(
z
∣
x
)
log p(x) = logp(x,z)-logp(z|x)
logp(x)=logp(x,z)−logp(z∣x)
l
o
g
p
(
x
)
=
E
L
B
O
(
q
)
+
K
L
(
q
∣
∣
p
)
log p(x) = ELBO(q)+KL(q||p)
logp(x)=ELBO(q)+KL(q∣∣p)
E
L
B
O
(
q
)
=
∑
z
q
(
z
)
l
o
g
p
(
x
,
z
)
q
(
z
)
ELBO(q)=\sum\limits_z q(z)log\frac{p(x,z)}{q(z)}
ELBO(q)=z∑q(z)logq(z)p(x,z)
K
L
(
q
∣
∣
p
)
=
−
∑
z
q
(
z
)
l
o
g
p
(
z
∣
x
)
q
(
z
)
KL(q||p)=-\sum\limits_z q(z) log\frac{p(z|x)}{q(z)}
KL(q∣∣p)=−z∑q(z)logq(z)p(z∣x)
注意2:
在多类分类任务的交叉熵损失函数中
L
(
x
,
y
)
=
−
∑
k
=
1
K
y
k
l
o
g
(
y
^
k
)
L(x,y)=-\sum\limits_{k=1}^{K} y_klog(\hat{y}_k)
L(x,y)=−k=1∑Kyklog(y^k)
K
K
K为类别数,
y
k
y_k
yk为观察样本
x
x
x的标注被转化为
K
K
K维one-hot向量后,第
k
k
k维的值(0或1),
y
^
k
\hat{y}_k
y^k为观察样本
x
x
x属于类别
k
k
k的预测概率
y
^
=
h
θ
(
x
)
\hat{y}=h_{\theta}(x)
y^=hθ(x)。
注意3:
在多类分类任务的对数或对数似然损失函数中
L
(
x
,
y
)
=
−
l
o
g
(
p
(
Y
=
y
∣
X
=
x
)
)
L(x,y)=-log(p(Y=y|X=x))
L(x,y)=−log(p(Y=y∣X=x))。
对数损失函数和交叉熵损失函数是等价的。计算对数损失函数实际就是计算交叉熵损失函数。
这两种损失函数可以由极大(log)似然估计自然导出[2]。
l
o
g
∏
n
=
1
N
p
(
Y
=
y
(
n
)
∣
X
=
x
(
n
)
;
θ
)
=
∑
n
=
1
N
l
o
g
(
p
(
Y
=
y
(
n
)
∣
X
=
x
(
n
)
;
θ
)
)
log\prod\limits_{n=1}^N p(Y=y^{(n)}|X=x^{(n)};\theta) \\=\sum_{n=1}^Nlog(p(Y=y^{(n)}|X=x^{(n)};\theta))
logn=1∏Np(Y=y(n)∣X=x(n);θ)=∑n=1Nlog(p(Y=y(n)∣X=x(n);θ))
l
o
g
p
(
Y
=
y
(
n
)
∣
X
=
x
(
n
)
;
θ
)
=
l
o
g
∏
k
=
1
K
y
^
k
y
k
=
∑
k
=
1
K
y
k
l
o
g
y
^
k
logp(Y=y^{(n)}|X=x^{(n)};\theta) \\=log\prod\limits_{k=1}^K\hat{y}_k^{y_k} \\=\sum_{k=1}^Ky_klog\hat{y}_k
logp(Y=y(n)∣X=x(n);θ)=logk=1∏Ky^kyk=∑k=1Kyklogy^k
K
K
K为类别数,
y
k
y_k
yk为观察样本
x
x
x的标注被转化为
K
K
K维one-hot向量后,第
k
k
k维的值(0或1),
y
^
k
\hat{y}_k
y^k为观察样本
x
x
x属于类别
k
k
k的预测概率
y
^
=
h
θ
(
x
)
\hat{y}=h_{\theta}(x)
y^=hθ(x)。
注意4:
最小化KL散度y原则等价于极大似然估计原则:
假设
p
(
x
)
p(x)
p(x)是
X
X
X的未知真实分布,
q
(
x
;
θ
)
q(x;\theta)
q(x;θ)是
X
X
X的已知的近似分布,如果最小化
p
p
p对
q
q
q的KL散度:
min
K
L
(
p
∣
∣
q
)
=
min
−
∑
x
p
(
x
)
l
o
g
q
(
x
;
θ
)
−
(
−
∑
x
p
(
x
)
l
o
g
p
(
x
)
)
=
max
∑
x
p
(
x
)
l
o
g
q
(
x
;
θ
)
≃
max
∑
n
=
1
N
l
o
g
q
(
x
(
n
)
;
θ
)
=
max
l
o
g
∏
n
=
1
N
q
(
x
(
n
)
;
θ
)
\min KL(p||q) \\=\min-\sum\limits_x p(x)logq(x;\theta)-(-\sum\limits_x p(x)logp(x)) \\=\max\sum\limits_x p(x)logq(x;\theta) \\\simeq\max\sum\limits_{n=1}^N logq(x^{(n)};\theta) \\=\max log\prod\limits_{n=1}^Nq(x^{(n)};\theta)
minKL(p∣∣q)=min−x∑p(x)logq(x;θ)−(−x∑p(x)logp(x))=maxx∑p(x)logq(x;θ)≃maxn=1∑Nlogq(x(n);θ)=maxlogn=1∏Nq(x(n);θ)
[1]. https://www.cnblogs.com/kyrieng/p/8694705.html
[2]. Pattern Recognition and Machine learning, p206.