数学建模社区-数学中国
标题:
机器学习笔记十:各种熵总结(一)
[打印本页]
作者:
重光兰衣
时间:
2018-11-1 10:15
标题:
机器学习笔记十:各种熵总结(一)
机器学习笔记十:各种熵总结(一)
) v: N! m: }9 c$ g; _; Y) @, F# O
一.什么是熵
, s' D1 [- B: G$ Y
Ⅰ.信息量
. Y0 k; w7 e* h
首先考虑一个离散的随机变量x,当我们观察到这个变量的一个具体值的时候,我们接收到多少信息呢?
1 g# P- G! N4 a! k/ `/ a3 H
我们暂时把信息看做在学习x的值时候的”惊讶程度”(这样非常便于理解且有意义).当我们知道一件必然会发生的事情发生了,比如往下掉的苹果.我们并不惊讶,因为反正这件事情会发生,因此可以认为我们没有接收到信息.但是要是一件平时觉得不可能发生的事情发生了,那么我们接收到的信息要大得多.因此,我们对于信息内容的度量就将依赖于概率分布p(x).
5 j* C, P" L3 S- ^2 b
因此,我们想要寻找一个函数h(x)来表示信息的多少且是关于概率分布的单调函数.我们定义:
6 s' S4 m/ Y* N6 X9 B; q. J
: ` I1 T' C( ]+ Z0 R4 A
# K) I' \; d, ]
我们把这个公式叫做信息量的公式,前面的负号确保了信息一定是正数或者是0.(低概率事件带来高的信息量).
; {+ S$ S. S1 J8 y. S u1 g
函数如下图所示
. w3 G. L' Z7 D6 v8 B5 }! g4 b
% ~: |8 I9 w( E3 f5 L" x
有时候有人也叫做自信息(self-information),一个意思啦。可以推广一下下。
" ~+ q$ g2 c; _- L/ s& D
联合自信息量:
. s2 z2 L' e: e h
条件自信息量:
) K! z/ [: `* N; Q% ?
通俗一点来说的话,就是概率论中很简单的推广就行了。有概率基础的话,这个很容易理解。这里因为实际上面使用二维的更多一点就以二维为例子,推广到多维的话也是可以的。
3 M% m3 d! q& U; V$ Z
+ D1 C% X- _7 m2 O; r' l
Ⅱ.熵
0 A7 N8 j9 g2 L& K' D1 F6 r! _1 _
熵(entropy):上面的Ⅰ(x)是指在某个概率分布之下,某个概率值对应的信息量的公式.那么我们要知道这整个概率分布对应的信息量的平均值.这个平均值就叫做随机变量x的熵
& E+ X6 j" {% s4 A+ U' j
如下面公式:
+ N$ e$ \! ]# ~! w6 Q$ p1 L! ~. B
) `4 Y# U0 @ D# ^* m$ O: G
这个公式的意思就是,随机变量x是服从p这个分布的,也就是在在p分布下面的平均自信息。也就得到了信息熵。信息熵的本质可以看做是某个分布的自信息的期望。
# I# O4 _) ?7 I8 |+ t
这里举个例子感受一下:设X服从0-1分布,即
; q8 `5 z* j1 k
则熵为:
/ L$ @9 } K4 m
上面的计算是对于一个离散型的随机变量(分布)来做的,无非就是把所有的概率都得到,分别求出自信息然后相加就行了。很简单,别想得太多。
' G5 ~8 S. R9 W8 M1 T
代码:
) @. e! y9 Z3 @2 D! _5 A
结果为:
3 z J9 x8 ~" l
+ }8 p8 C/ _* O2 Y, Y
从图中可以知道:
1.当p=0或者p=1的时候,随机变量可以认为是没有不确定性.
" M: e4 g; E' u/ t' x
2.当p=0.5的时候,H(p)=1,随机变量的不确定性最大.
( D$ v# n; [' n; D, `' q: Q0 F2 f1 E
那么“仿照”之前的信息量的公式,可以推广一下下啦。
) O+ P* r' U; }1 v- |4 }
假设一个概率分布有两个随机变量决定。其中x有n种取值,y有m种取值。那么可以得到一个nxm的联合概率分布的表。那么有:
) M( V( T- J$ X$ r( ?% b
复合熵(联合熵)
:
- J: S; G. g7 Z( s; N( W. g
同样,复合熵的公式还可以推广到连续变量和多个变量的情况。这里就不写了。
条件熵:
) i8 b. p4 W7 ?
- @& I N, o1 G1 C; s
上面这个公式可能有点难以理解,不知道这个公式是怎么来的。举一个例子来说明一下:
* p* }0 H. A- D7 X( C Z
如果以x表示学生体重,以y表示身高,以 p(x∣y)表示身高为某个特定的y时的体重为x的概率,把熵公式用到这个特殊情况得到是熵显然应当是
9 d Z+ p2 A+ Q* E) `
上面得到的计算公式是针对y为一个特殊值y时求得的熵。考虑到y会出现各种可能值,如果问已知学生身高时(不特指某一身高,而是泛指身高已经知道)的体重的熵(不确定程度),它应当是把前面的公式依各种y的出现概率做加权平均,那么就可以得到上面的条件熵的公式。
1 y' ?$ _, Z4 n4 `4 T; B6 |
+ d F5 ~1 t% F8 i
Ⅲ.变形总结
* y' m7 h5 J& _; u, J
进过上面的之后,应该对于信息量和信息熵的几个公式有了了解。然后那几个公式还可以变形为一些常用的公式。这里总结一下
" x. J( {5 `3 t
首先要先介绍一下条件分布的乘法定理:
: u* ~3 O3 U0 ~' c) H* y
" I# q5 ]8 E9 ~
$ |' J% w4 H; |, |" [$ }9 y
然后把之前条件熵式子使用上面这个公式改写一下,可以写为:
6 Z+ t) H, c1 y0 s% h% d
+ [! u2 ^, h" u- b, ^. l+ l5 G* V
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到的时候,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)
% f- R" T: u8 N% D) S. U. @
8 q0 y1 N/ d b
上面的式子表明,只要你能够得到联合分布和y的分布就能够求出条件熵了。事实上,还能够更加简化成为常见的形式:
8 i" b0 q$ u% o% M3 }
这里利用上面的公式(以离散型为例子)直接推导,有
' ]0 e. Y; H! @, n) s/ U& D$ ]
# r# K/ e, {. k* j
3 D M4 w7 r/ u* @$ N
证明:
* E6 M) H( A* g# t0 H% h! w- ^
这个公式把复合熵、条件熵以及熵联系到一起了。它们也显示了熵的对称性。
. A$ A& `8 Y5 @' W
( C& N* r9 ^4 F/ g0 O7 d8 t
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5