【Python深度学习】——信息量|熵
- 假设
- 1. 信息量
- 1.1 含义
- 1.2 信息量的公式:
- 2. 熵Entropy
- 2. 含义
- 2.2 熵的计算公式:
- 2.3 熵的作用
假设
例子:掷硬币
假设我们有一个公平的硬币。这个硬币有两个面:正面(H)和反面(T),每次掷硬币出现正面或反面的概率都是 0.5
1. 信息量
1.1 含义
信息量用来表示一件事发生的难易程度
一件事越容易发生, 它的信息量就越小.
1.2 信息量的公式:
I
(
x
)
=
−
log
2
P
(
x
)
\ I(x) = -\log_2 P(x) \
I(x)=−log2P(x)
其中,
I
(
x
)
\ I(x) \
I(x) 表示事件 ( x ) 的信息量,
P
(
x
)
\ P(x)
P(x)表示事件 ( x ) 发生的概率
以2为底, 是转换到二进制下的表示复杂度.
此外, 事件独立时, 两个事件同时发生的信息量,等于两个事件的信息量相加.
即
I
(
A
B
)
=
−
log
2
1
P
(
A
B
)
=
−
log
2
1
P
(
A
)
∗
P
(
B
)
=
−
(
log
2
1
P
(
A
)
+
log
2
1
P
(
B
)
)
=
I
(
A
)
+
I
(
B
)
\ I(AB)= -\log_2 \frac{1}{P(AB)} = -\log_2 \frac{1}{P(A)*P(B)} = -(\log_2 \frac{1}{P(A)}+ \log_2 \frac{1}{P(B)}) =I(A) + I(B) \
I(AB)=−log2P(AB)1=−log2P(A)∗P(B)1=−(log2P(A)1+log2P(B)1)=I(A)+I(B)
对于假设中的例子, 出现正面的信息量为:
I
(
H
)
=
−
log
2
P
(
H
)
=
−
log
2
0.5
=
1
bit
I(H) = -\log_2 P(H) = -\log_2 0.5 = 1 \text{ bit}
I(H)=−log2P(H)=−log20.5=1 bit
同理反面也是
I
(
T
)
=
−
log
2
P
(
T
)
=
−
log
2
0.5
=
1
bit
I(T) = -\log_2 P(T) = -\log_2 0.5 = 1 \text{ bit}
I(T)=−log2P(T)=−log20.5=1 bit
2. 熵Entropy
2. 含义
熵可以理解为一个整体/一个系统所携带的信息量.
系统整体由所有可能发生的事件构成. 例如, 抛硬币的结果出现正面和反面就构成一个完整的系统.
熵的值就等于概率分布中所有信息量的期望.
2.2 熵的计算公式:
H
(
x
)
=
−
∑
i
P
(
x
i
)
log
2
P
(
x
i
)
H(x) = - \sum_{i} P(x_i) \log_2 P(x_i)
H(x)=−i∑P(xi)log2P(xi)
对于假设中的例子, 熵的计算为:
H
(
X
)
=
−
[
P
(
H
)
log
2
P
(
H
)
+
P
(
T
)
log
2
P
(
T
)
]
H(X) = -\left [P(H) \log_2 P(H) + P(T) \log_2 P(T) \right]
H(X)=−[P(H)log2P(H)+P(T)log2P(T)]
即,
H
(
X
)
=
−
[
0.5
log
2
0.5
+
0.5
log
2
0.5
]
H(X) = -\left[ 0.5 \log_2 0.5 + 0.5 \log_2 0.5 \right]
H(X)=−[0.5log20.5+0.5log20.5]
H ( X ) = − [ 0.5 ⋅ ( − 1 ) + 0.5 ⋅ ( − 1 ) ] H(X) = -\left[ 0.5 \cdot (-1) + 0.5 \cdot (-1) \right] H(X)=−[0.5⋅(−1)+0.5⋅(−1)]
H ( X ) = 1 H(X) = 1 H(X)=1
2.3 熵的作用
熵可以用来评估概率模型的不确定性程度——概率密度越均匀, 不确定性越高,即熵越高; 概率密度越聚拢, 不确定性越低, 熵越低.
如下图所示,左图为一个平均分布, 不确定性较高;
右图为一个正太分布, 不确定性较低.