熵(Entropy)

信息熵是信息的量化度量,用比特 (bit) 来表示。变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。为了给这个不确定的变量一个定量的值,信息论的创始人香农老爷子给出了一个公式,可以更准确的描述信息的量化度量,被称作信息熵,公式如下:

其中 $X$ 为随机变量,$\log$ 一般以 $2$ 为底。

一般越单纯的事件,熵越小;反之,若想弄明白一个复杂的系统,需要的信息也就越多,熵值越大。

KL 散度(Kullback-Leibler Divergence)

KL 散度又被称为相对熵(relative entropy),它用来形容两个不同的随机变量 $X$ 的分布 $P(X),Q(X)$ 之间的差异程度,公式如下:

由公式可见,KL 散度不具备有对称性。

根据吉布斯不等式(Gibbs’ inequality),两个分布的 KL 散度 $D_{KL}(P\Vert Q)\geq 0$

交叉熵(Cross Entropy)

对于交叉熵,与 KL 散度一样,都可以用来描述分布之间的差异,有公式:

这其实就是 KL 散度的后半部分,KL 散度的公式就可以写成:

那这东西跟逻辑回归有什么关系呢?

下面我们来看逻辑回归:

逻辑回归模型的输出变量范围始终在$0$和$1$之间。逻辑回归模型的假设是: $h\theta(x)=g(\theta^Tx)$。其中: $\theta$ 代表特征向量,$g(z)$ 代表逻辑函数。逻辑函数可以让 $h\theta(x)$ 落在 $[0,1]$ 区间内部,Sigmoid 函数是一个常用的逻辑函数,公式为:

因为 $h\theta(x)$ 的值落在 $[0,1]$ 区间内部,那么可以将 $h\theta(x)$ 理解为:对于给定的输入变量 $x$,根据选择的参数 $\theta$ 计算输出变量为$1$的可能性,即:

这一可以理解成:参数为 $\theta$ 的逻辑回归模型 $h\theta(x)$ 根据训练集组成了一个人造的分布 $H$,根据不同的 $x^{(i)}$,会有相应的 $h\theta(x^{(i)})$。当然还有标签 $y^{(i)}$ 所在的 0-1 分布,就用字母 $R$ 表示吧。

那么怎么才能判断我们的模型好坏呢,就用我们之前提到的散度啦!那么就会有公式

因为在训练集上所有的样本标签已知,那么 $R$ 分布就不是变量,也就是 $H(R)$ 不是与 $\theta$ 的变量,这项就可以省去了。针对某一个向量 $x^{(i)}$ 的交叉熵公式就可以写成:

把所有的交叉熵加和,就有

成了!

条件熵(Conditional Entropy)

条件熵 $H(Y|X)$ 表示在已知随机变量 $Y$ 的条件下,随机变量 $X$ 的不确定性。

条件熵 $H(Y|X)$ 相当于联合熵 $H(X,Y)$ 减去单独的熵 $H(X)$,即