zoukankan      html  css  js  c++  java
  • 一文搞懂各种“熵”

    熵是信息论非常重要的概念。本文简要介绍一下几个概念:

    • 联合熵
    • 条件熵
    • 相对熵
    • 交叉熵

    随机变量(X)的分布的熵为:

    [H(X) = - sum_x p(x)log p(x) ]

    性质:

    • 熵是随机变量不确定性的度量,随机变量的取值个数越多,不确定性越大,混乱程度就越大,信息熵越大。
    • 熵的取值范围为(0 leq H(X) leq log (n))(n)表示取值的个数,当随机分布为均匀分布时,熵取到最大值
    • 在信息传输方面,熵是传输一个随机变量状态值所需的比特位下界(最短平均编码长度)

    联合熵

    [H(X, Y) = - sum_x sum_y p(x, y)log p(x, y) ]

    条件熵

    [H(Y|X) = - sum_{x, y}p(x, y)log p(y|x) ]

    推导过程:

    [egin{aligned} H(Y|X) & = - sum_x p(x)H(Y|X=x)\ & = - sum_x p(x) sum_y p(y|x) log p(y|x)\ & = - sum_x sum_y p(x, y) log p(y|x)\ & = - sum_{x, y}p(x, y)log p(y|x) end{aligned} ]

    性质:(H(X, Y) = H(Y|X) + H(X))

    推导过程:

    [egin{aligned} H(X, Y) & = - sum_x sum_y p(x, y)log p(x, y)\ & = - sum_x sum_y p(x, y) [log p(y|x) + log p(x)]\ & = - sum_x sum_y p(x, y) log p(y|x) - sum_x sum_y p(x, y) log p(x)\ & = H(Y|X) - sum_x log p(x) sum_y p(x, y)\ & = H(Y|X) - sum_x [log p(x)] p(x)\ & = H(Y|X) + H(X) end{aligned} ]

    其中(sum_y p(x, y))就是边缘概率。

    相对熵(relative entropy)

    相对熵也称KL散度(KL divergence),衡量的是两个概率分布之间的差异。

    [D_{KL}(p, q) = sum_x p(x) log frac{p(x)}{q(x)} ]

    性质:

    • 相对熵不具有对称性
    • 相对熵的取值是大于等于0
    • 如果p和q两个概率分布相同,相对熵为0
    • 可以把相对熵看成一个加权平均,其中概率(p(x))为权重,对每个(p(x))计算一个值(p(x)/q(x))

    交叉熵(cross entropy)

    [H(p, q) = - sum_x p(x) log q(x) ]

    性质:(D_{KL}(p, q) = H(p, q) - H(p))

    推导:

    [egin{aligned} H(p, q) - H(p) & = - sum_x p(x) log q(x) + sum_x p(x) log p(x)\ & = sum_x p(x) log frac{p(x)}{q(x)}\ & = D_{KL}(p, q) end{aligned} ]

    重头戏来了:

    为什么使用交叉熵而不是相对熵来作为损失函数?

    交叉熵和相对熵都是非负的,都不是对称的。

    • 从信息学角度,熵是对随机变量进行编码所需的最小字节数
    • KL散度表示如果用B表示A所需要的额外编码长度
    • 交叉熵表示用B表示A所需要的平均编码长度。

    相对熵 = 交叉熵 - 熵

    (D_{KL}(p||q) = H(p, q) - H(p))

    真实数据分布p是保持不变的

    q是模型的预测的概率分布

    结论:当熵不变的时候,最小化相对熵等价于最小化交叉熵。

  • 相关阅读:
    体温单时间控件
    搭建Android 开发环境(精华)
    即时通讯
    车牌识别系统
    JSON 生成 C# Model
    Arduino 视频教程
    .Net主线程扑捉子线程中的异常
    用C#操作IIS创建虚拟目录和网站
    C#中简单的this与get的用法(string,decimal)
    c#读取Excel数据到Gridview
  • 原文地址:https://www.cnblogs.com/YoungF/p/12794667.html
Copyright © 2011-2022 走看看