熵(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)$,即