信息论基础

120 阅读2分钟
  • 自信息量:
    考虑一个随机事件xx,它发生的概率为p(x)p(x),我们另:I(x)=log(p(x))I(x) = -\log{(p(x))} 为随机事件xx的自信息量。自信息熵表示某个随机事件发生所带来的信息量,事件发生的概率约大,就是这个事件越确定,也就是信息量越小。比如两个事件:p1=昨天天气晴朗, p2=昨天发生了地震。p1的概率要比p2大很多,但是实际上p2带来的信息量要大得多,因此计算得到的自信息熵也更大。

  • 信息熵
    如果随机变量XX所有的取值(在分类任务中就是所有的类)为X={x1,x2,...,xn}X = \{ x_1, x_2,...,x_n \},其概率分布为p(X=xi)=pi(i=1,2,...,n)p(X=x_i) = p_i(i=1,2,...,n),则随机变量X的信息熵为:

    H(X)=x=1np(xi)logp(xi)H(X) = - \sum_{x=1}^{n}{p(x_i) *\log{p(x_i)}}

    根据公式,信息熵可以理解为自信息量的数学期望。自信息量表示某个事件的信息量,通过乘以该事件的概率,再求和,也就是所有可能发生事件的信息量的期望。
    信息熵的物理含义表示一个事件的不确定性。例如,一个确定事件的信息熵应该更小(因为确定事件平均自信息量更小),相反,不确定事件的信息熵应该更大(平均自信息量更大)。熵越大,越无序,越不确定!

  • 条件熵
    条件熵H(YX)H(Y|X)是指在已知随机变量XX发生的条件下,发生随机变量YY的信息熵:

    H(YX)=xp(x)logp(YX=x)H(Y|X) = - \sum_{x}{p(x) *\log{p(Y|X=x)}}
  • 相对熵也叫K-L散度
    p(x)p(x)q(x)q(x)为离散随机变量XX的两个概率分布,则两者的相对熵为:

    DKL(pq)=xp(x)logp(x)q(x)D_{KL(p||q)} = \sum_x{p(x) \log{\frac{p(x)}{q(x)}}}

    性质:

    1. 如果p(x)p(x)q(x)q(x)相等,则相对熵(K-L散度)为0.
    2. 相对熵(K-L散度)不具备对称性!
    3. 相对熵(K-L散度)用来衡量两个分布之间的差异。
  • 交叉熵
    关于样本集的两个概率分布p(x)p(x)q(x)q(x)p(x)p(x)为真实分布,q(x)q(x)为非真实分布。
    如果用真实分布p(x)p(x)来衡量识别一个样本所需要的编码长度的期望为:

    H(p)=xp(x)log(1p(x))H(p) = \sum_x{p(x) \log(\frac{1}{p(x)})}

    那如果用非真实分布q(x)q(x)来衡量识别一个样本所需要的编码长度的期望为:

    H(p)=xp(x)log(1q(x))H(p) = \sum_x{p(x) \log(\frac{1}{q(x)})}

    这个就是交叉熵。

    性质:

    1. 通过简单推导:相对熵 = 交叉熵 - 信息熵。

    2. 在模型训练中,真实分布p(x)p(x)就是正确标签,非真实分布就是模型预测的logit。则他们的相对熵就可以理解成当前模型预测的logit与正确标签的差异。

参考:
1.详解机器学习中的熵、条件熵、相对熵、交叉熵
机器学习中的信息熵 、交叉熵 、 相对熵 、KL散度 、 Wasserstein距离