重新学习 & 记录一下 概率论、信息论、交叉熵的概念
独立事件
独立事件的充要条件是:两个事件的联合概率等于它们各自的概率的乘积。也就是说,事件A和事件B是独立的,当且仅当满足以下条件:
其中,表示事件A和事件B同时发生的概率,和分别表示事件A和事件B单独发生的概率。如果上述条件成立,则称事件A和事件B是独立的。
Infomation Theory
香农的信息理论基于下面的 Assumption:
-
一个事件的概率越低,那么人们就会越感到惊讶,其中蕴含的信息量就会越大。
-
如果一个事件概率 = 100%,那么其中没有任何信息 (说了一句废话)
-
两个独立事件的信息和 应该等于 分开计算的信息和。
比如,我们假设 事件 服从 ,事件 的信息定义为 , 事件 y 的信息定义为
不考虑事件的内容,只考虑事件的分布,该如何衡量事件的信息 呢?结合上面两个公式,我们可以发现 函数完美符合要求,为了让信息量为正数,我们在前面添一个符号,即
这里 I(x) 是 I_X(x) 的略写,X指随机变量。I(x) 不是指整个事件的信息量,而是指随机变量的信息和。
熵
熵的定义如下:
其中,是一个离散型随机变量,是随机变量取值为的概率,是随机变量的取值个数。熵表示随机变量的不确定性,单位是比特(bit)或纳特(nat),取决于使用的对数底数。当底数为2时,单位是比特;当底数为自然对数时,单位是纳特。
理解熵:
- 熵对随机变量的信息量按照概率分布做了求和,得到 平均信息量 / 信息量的期望
- 不确定性:不确定越大,概率越小,信息量约大,熵也就越大
KL 散度(Kullback–Leibler divergence)(相对熵)
KL散度,有时候也叫KL距离,一般被用于计算两个分布之间的不同。

交叉熵 Cross-Entropy-Loss
交叉熵的数学定义:
回到目标,为什么在机器学习中想到了要使用熵?考虑机器学习分类任务的概率分布,一个真实分布,一个数据集分布 ,一个模型预测分布 。我们想要让两个分布尽可能相似,想要使其 KL 散度最小。
展开一下KL散度:KL散度 = 交叉熵 - 熵
由于真实分布的熵是固定的可以不考虑,所以最小化相对熵 等价于最小化交叉熵 参考:https://www.zhihu.com/question/65288314/answer/244557337
交叉熵 等价于 最大化似然估计
https://www.zhihu.com/question/65288314/answer/849294209
Softmax
用于计算交叉熵前生成分布 q
where is the vector of logits, is the number of classes, and is the probability of the -th class.
其他乱七八糟相关的东西
Sigmoid
The sigmoid function maps any input value to a value between 0 and 1. Sigmoid is used for binary classification problems, which can be interpreted as the probability of the positive class, given the input value.
Logistic Regression
逻辑回归是分类问题,使用 Sigmoid 分类后,o > 0.5 → class_0 , o < 0.5 → class_1