数学建模社区-数学中国

标题: 机器学习笔记十:各种熵总结(一) [打印本页]

作者: 重光兰衣    时间: 2018-11-1 10:15
标题: 机器学习笔记十:各种熵总结(一)
机器学习笔记十:各种熵总结(一): v5 l0 V# n8 L; C* R, n$ q$ U
一.什么是熵4 n/ c6 A) P4 p0 I/ I6 M
Ⅰ.信息量  N9 D* G& x% k: I$ O
首先考虑一个离散的随机变量x,当我们观察到这个变量的一个具体值的时候,我们接收到多少信息呢? 3 U0 j, J9 i) W% U3 P) C
我们暂时把信息看做在学习x的值时候的”惊讶程度”(这样非常便于理解且有意义).当我们知道一件必然会发生的事情发生了,比如往下掉的苹果.我们并不惊讶,因为反正这件事情会发生,因此可以认为我们没有接收到信息.但是要是一件平时觉得不可能发生的事情发生了,那么我们接收到的信息要大得多.因此,我们对于信息内容的度量就将依赖于概率分布p(x).
1 L1 N! u' K' E! w因此,我们想要寻找一个函数h(x)来表示信息的多少且是关于概率分布的单调函数.我们定义: $ y7 O4 D7 u/ y$ x1 c+ N8 w7 c

8 h  \' N. g& z+ }) n: h4 X4 \
我们把这个公式叫做信息量的公式,前面的负号确保了信息一定是正数或者是0.(低概率事件带来高的信息量).
4 R( `& \: w4 U  G; r9 h2 L1 Q函数如下图所示
! W8 y( w2 n% s: ~+ |- Z* o3 ^9 W. t# P# c2 l
有时候有人也叫做自信息(self-information),一个意思啦。可以推广一下下。 & J; y4 `* k  V* R+ i
联合自信息量: 4 v+ h7 W3 P' o4 R9 y, T
条件自信息量:
1 Z0 L1 k; l" R- k通俗一点来说的话,就是概率论中很简单的推广就行了。有概率基础的话,这个很容易理解。这里因为实际上面使用二维的更多一点就以二维为例子,推广到多维的话也是可以的。$ j; J, {5 [. I# F
+ K; a, A( Q0 P
Ⅱ.熵
' ]) m- o2 B" F4 x  Q熵(entropy):上面的Ⅰ(x)是指在某个概率分布之下,某个概率值对应的信息量的公式.那么我们要知道这整个概率分布对应的信息量的平均值.这个平均值就叫做随机变量x的熵 * K+ M# R! Z0 U" S0 o4 T
如下面公式: : r* R# Q8 g# o* F
& |) ~1 I( f" @# d, y9 b
这个公式的意思就是,随机变量x是服从p这个分布的,也就是在在p分布下面的平均自信息。也就得到了信息熵。信息熵的本质可以看做是某个分布的自信息的期望。
% c" i' {% F% _$ [1 |  ~这里举个例子感受一下:设X服从0-1分布,即
$ i& z  ^. E% [9 o1 {则熵为:
$ O; p6 _# A) O9 o( q9 S2 n上面的计算是对于一个离散型的随机变量(分布)来做的,无非就是把所有的概率都得到,分别求出自信息然后相加就行了。很简单,别想得太多。 , K- M4 q" P# z; T5 Q$ }2 f
代码:
. E, k. ~9 j. O8 I  E# D结果为:' x; n* T: p' o" }& U: G

/ K+ i  n! C' y6 z

从图中可以知道:

1.当p=0或者p=1的时候,随机变量可以认为是没有不确定性.
7 k$ U8 u1 \" @3 U7 e! g2.当p=0.5的时候,H(p)=1,随机变量的不确定性最大.
) |+ k. |7 {) j4 ?# q6 {那么“仿照”之前的信息量的公式,可以推广一下下啦。 4 ^1 n7 a$ t# n# O4 R' }/ e$ a- {
假设一个概率分布有两个随机变量决定。其中x有n种取值,y有m种取值。那么可以得到一个nxm的联合概率分布的表。那么有:
. _/ c( O! m! `( C2 E( X8 z复合熵(联合熵)
: |3 D: ]  a2 N3 r; K

同样,复合熵的公式还可以推广到连续变量和多个变量的情况。这里就不写了。

条件熵:

% X+ q5 U: ^# F' q0 J  i

- [) }8 X; q2 V) Z% Y/ ?& p上面这个公式可能有点难以理解,不知道这个公式是怎么来的。举一个例子来说明一下:
( I( w6 T7 W. O) H8 g: c如果以x表示学生体重,以y表示身高,以 p(x∣y)表示身高为某个特定的y时的体重为x的概率,把熵公式用到这个特殊情况得到是熵显然应当是
7 l$ O* |; Y/ n% K1 I% v上面得到的计算公式是针对y为一个特殊值y时求得的熵。考虑到y会出现各种可能值,如果问已知学生身高时(不特指某一身高,而是泛指身高已经知道)的体重的熵(不确定程度),它应当是把前面的公式依各种y的出现概率做加权平均,那么就可以得到上面的条件熵的公式。( A  T' G# s4 x5 a6 f% J$ ?

7 l  G( \$ P  j5 a* z3 ?Ⅲ.变形总结. v8 H$ o: V5 u$ [
进过上面的之后,应该对于信息量和信息熵的几个公式有了了解。然后那几个公式还可以变形为一些常用的公式。这里总结一下
% @$ v  Z+ v: R7 Y( k: f- `8 M首先要先介绍一下条件分布的乘法定理:
8 {' o4 m' d7 l9 F; u4 J6 ^7 o* z" p# P: ], l

5 |" Y' L7 u2 d5 q* ^" R* u然后把之前条件熵式子使用上面这个公式改写一下,可以写为:
1 ]. d# T" M5 x( g! R9 Y) q5 T; A- P- ]
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到的时候,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)
( x$ X: C) U# @9 a: m  ^( s/ ?5 x" @6 l1 ?: F
上面的式子表明,只要你能够得到联合分布和y的分布就能够求出条件熵了。事实上,还能够更加简化成为常见的形式:
- u0 u3 m6 V3 @) |这里利用上面的公式(以离散型为例子)直接推导,有 & l: {' F  w# y

* |8 H2 u' r, \" D
0 u! ~9 p4 d9 m( H: @( @证明:
9 x/ h, A- L4 c4 G这个公式把复合熵、条件熵以及熵联系到一起了。它们也显示了熵的对称性。
7 y" o6 q" @: d6 w' c$ @* J! Q& T, Z, z( F7 K) q" u' {





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5