Machine Learning
  • Introduction
  • 机器学习
    • 前言
      • 符号表
    • 监督式学习
      • 感知机
        • 感知机模型
        • 感知机学习算法
        • 算法python实现
      • Logistic回归
        • Logistic分布
        • Logistic回归模型
        • 算法python实现
      • 线性回归
        • 线性回归模型
        • 算法python实现
      • K近邻法
        • k近邻模型
        • kd树方法
        • kd树python实现
        • knn实例
      • 朴素贝叶斯法
        • 模型和原理
        • 参数估计
        • 算法和实现
      • 决策树
        • 模型与学习
        • 特征选择
        • 生成算法和剪枝
        • python实现
      • 支持向量机
    • 神经网络
      • 神经元模型和感知机
      • 神经网络
      • 神经网络的矩阵表达
      • 反向传播算法
        • 算法证明
        • 算法代码
        • 基于矩阵的计算
      • 改进神经网络的学习方法
        • 交叉熵代价函数
        • softmax
        • regularization
        • 权重初始化
      • 卷积神经网络
        • 基本介绍
    • 数学基础
      • 线性代数
        • 特征值和特征向量
      • 概率统计
        • 随机变量的特征
        • 样本统计量
        • 先验后验概率
      • 微积分
        • 向量内积
        • 方向导数和梯度
        • 梯度下降法
      • 信息论
        • 熵
        • 相对熵和交叉熵
        • 条件熵
        • 互信息
Powered by GitBook
On this page
  • 交叉熵
  • 相对熵
  1. 机器学习
  2. 数学基础
  3. 信息论

相对熵和交叉熵

交叉熵

在信息论中,基于相同事件测度的两个概率分布ppp和qqq的交叉熵是指,当基于一个“非自然”(相对于“真实”分布ppp而言)的概率分布qqq进行编码时,在事件集合中唯一标识一个事件所需要的平均比特数。

基于概率分布ppp和qqq的交叉熵定义为:

H(p,q)=Ep[−logq]H(p,q)=E_p[-\mathrm{log}q]H(p,q)=Ep​[−logq]

对于离散分布ppp和qqq:

H(p,q)=−∑x∈Xp(x)logq(x)H(p,q)=-\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}q(x)H(p,q)=−x∈X∑​p(x)logq(x)

或:

H(p,q)=∑x∈Xp(x)log1q(x)H(p,q)=\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}\frac{1}{q(x)}H(p,q)=x∈X∑​p(x)logq(x)1​

特别地,当随机变量只取两个值时,P(X=1)=pP(X=1)=pP(X=1)=p,P(X=0)=1−pP(X=0)=1-pP(X=0)=1−p,0⩽p⩽10\leqslant p \leqslant 10⩽p⩽1,则

H(p,q)=−∑x∈Xp(x)logq(x)H(p,q)=-\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}q(x)H(p,q)=−x∈X∑​p(x)logq(x)
=−[Pp(x=1)logPq(x=1)+Pp(x=0)logPq(x=0)]= -[P_p(x=1)\mathrm{log}P_q(x=1) + P_p(x=0)\mathrm{log}P_q(x=0)]=−[Pp​(x=1)logPq​(x=1)+Pp​(x=0)logPq​(x=0)]
=−[plogq+(1−p)logq]= -[p\mathrm{log}q + (1-p)\mathrm{log}q]=−[plogq+(1−p)logq]

相对熵

相对熵(relative entropy)又称KL散度(Kullback-Leibler divergence),KL距离,是两个随机分布间距离的度量,记为DKL(p∣∣q)D_{KL}(p||q)DKL​(p∣∣q)。它度量当真实分布为ppp时,假设分布qqq的无效性。

DKL(p∣∣q)=Ep[logp(x)q(x)]=∑x∈Xp(x)logp(x)q(x)D_{KL}(p||q)=E_p[\mathrm{log}\frac{p(x)}{q(x)}]=\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}\frac{p(x)}{q(x)}DKL​(p∣∣q)=Ep​[logq(x)p(x)​]=x∈X∑​p(x)logq(x)p(x)​
=∑x∈X[p(x)logp(x)−p(x)logq(x)]=\displaystyle\sum_{x\in \mathcal{X}}[p(x)\mathrm{log}p(x)-p(x)\mathrm{log}q(x)]=x∈X∑​[p(x)logp(x)−p(x)logq(x)]
=∑x∈Xp(x)logp(x)−∑x∈Xp(x)logq(x)=\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}p(x)-\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}q(x)=x∈X∑​p(x)logp(x)−x∈X∑​p(x)logq(x)
=−H(p)−−∑x∈Xp(x)logq(x)= -H(p)--\displaystyle\sum_{x\in \mathcal{X}}p(x)\mathrm{log}q(x)=−H(p)−−x∈X∑​p(x)logq(x)
=−H(p)−Ep[logq(x)]=-H(p)-E_p[\mathrm{log}q(x)]=−H(p)−Ep​[logq(x)]
=Hp(q)−H(p)=H_p(q)-H(p)=Hp​(q)−H(p)

其中Hp(q)H_p(q)Hp​(q)即是交叉熵。

当p=qp=qp=q时,两者之间的相对熵DKL(p∣∣q)=0D_{KL}(p||q)=0DKL​(p∣∣q)=0。

因此DKL(p∣∣q)D_{KL}(p||q)DKL​(p∣∣q)的含义就是:真实分布为ppp的前提下,使用qqq分布进行编码相对于使用真实分布ppp进行编码所多出来的比特数。

Previous熵Next条件熵

Last updated 6 years ago