1. 信息量
1.1 定义
信息量是对一个概率P(θ)中所包含的信息的量化。
1.2 解释
假设我们要判断一个人是好人还是坏人的概率。现在有两个概率P(好人)=0.8,(好人)=0.5。P1包含的信息量少,P2包含的信息量多。为什么后者信息量多呢? 因为我们做出决策所需要的考虑会越多,换句话说就是信息量太多,我们不知道怎么做决策。而前者概率为0.8,判断一个人是好人还是坏人的所需要的额外信息量少,因此越接近1的概率信息量越少。
1.3 数学表达
1.3.1 符号说明
通常信息量表示为一个关于的函数,用子母表示信息量,
1.3.2 满足条件
前者表示不同x的概率,后者表示不同概率表达下所包含的信息量
1.3.3 具体公式
对数的表达可以很好的满足1.3.2的条件,是我们将信息量量化的一个方式。
公式:,可以将两种不同的概率代入式子,对比是否满足1.3.2中的所有条件。
2. 熵
2.1 定义
熵表示混乱程度,如人在判断是否出门或一个人是否是好人时,大脑是否不容易作出决策,若难以作出决策,表示混乱程度很大,也就是熵很大,这点和信息量类似。不过略有不同的是,熵是信息量的期望,简单来说,熵是信息量的均值。
2.2 数学表达
2.2.1 公式
通常用来表示熵
2.2.2 案例解释
假设我们有如下数据,代表我们在这个世界上一共只认识14个人,第一列是编号,第二列表示这个人是否是好人,1代表是,0代表不是。
编号 | 是否好人 |
1 | 1 |
2 | 0 |
3 | 0 |
4 | 1 |
5 | 0 |
6 | 0 |
7 | 0 |
8 | 0 |
9 | 1 |
10 | 1 |
11 | 0 |
12 | 1 |
13 | 1 |
14 | 0 |
那么第二列的熵是多少呢?根据2.2.1的公式,如下:
= - p(好人)log p(好人) - p(坏人)log p(坏人),即:
其中,1/6和1/8分别是第二列中1和0的频率。
为什么说熵是信息量的期望呢?如果我们将信息量看做是由X映射出来的随机变量就很好理解,如下所示:
随机变量 | logp(好人) | logp(坏人) |
频率p | 1/6 | 1/8 |
这样就可以清晰看出,熵其实就是信息量的期望。
3. KL散度
3.1 定义
KL散度表示两个不同分布间的差异
3.2 数学表达
通常,p(x)为已知的分布,q(x)是未知的分布。显示中,我们往往将p代表的分布表示为样本中的已知分布y,q(x)是需要经过模型训练出的预测分布,若预测分布和样本中已知分布相同,那么KL散度的值就是0。
需要注意的是:p(x)其实是上帝分布,我们的目的是通过得到q(x)去拟合上帝分布,但是由于上帝分布我们通常是不可知的,所以只能通过抽样的方式来代表上帝分布,样本所代表的的分布即p(x)
3.3 性质
- ,可以通过jensen不等式证明。
- 当,,即两个分布相同
- KL散度不可以理解为距离公式,因为若理解为距离公式,当p(x)和q(x)互换位置,得到的值应该一样才对,但是它是非对称的,换位置后得到的值不一样。
3.4 优点
由于KL散度是非对称的,更加有利于我们将q(x)分布推往上帝分布p(x),因为在推动的过程中,上帝分布不会发生改变。
解释:
如果KL散度是对称的,我们在推动q(x)的同时,上帝分布p(x)也会往q(x)的方向前进,换句话说,两个分布在互相靠近。但是当结果收敛时,我们得到的预测分布q(x)已经不是我们想要的那个靠近上帝分布q(x)的分布,因为此时上帝分布已经发生了变化,不是原本的上帝分布。
4. 交叉熵
4.1 定义
交叉熵是指两个分布相互节后的熵值的表示
4.2 数学表达
在3.2中我们已知KL散度,其实交叉熵就隐含在KL散度当中,现在将KL散度拆开,如下:
式子最后的结论中,负号左侧是我们正常的熵值表达,右侧即我们所说的交叉熵。
5. 机器学习中的KL散度
那么KL散度如何用语机器学习呢,其实在3.4中也有说明。通过KL散度,我们可以将预测分布q(x)无限逼近样本分布p(x),从而达到我们预测的目的。