Machine Learning:信息论基础

信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化。它最初被发明是用来研究在一个含有噪声的信道上用离散的字母表来发送消息,例如通过无线电传输来通信。信息熵在 AI 或机器学习中也具有十分广泛的应用,一般在机器学习中,我们可以将信息论应用在连续型变量上,并使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性

因此在机器学习中,通常要把与随机事件相关信息的期望值进行量化,此外还要量化不同概率分布之间的相似性。在这两种情况下,香农熵都被用来衡量概率分布中的信息内容。香农熵是以信息论之父 Claude Shannon 的名字命名的,也称为信息熵或微分熵(连续)。

自信息

香农熵的基本概念就是所谓的一个事件背后的自信息(self-information),有时候也叫做不确定性。自信息的直觉解释如下,当某个事件(随机变量)的一个不可能的结果出现时,我们就认为它提供了大量的信息。相反地,当观察到一个经常出现的结果时,我们就认为它具有或提供少量的信息。将自信息与一个事件的意外性联系起来是很有帮助的。例如,一个极其偏畸的硬币,每一次抛掷总是正面朝上。任何一次硬币抛掷的结果都是可以完全预测的,这样的话我们就永远不会对某次结果感到惊奇,也就意味着我们从这个实验中得到的信息是 0。换言之,它的自信息是 0。如果硬币的偏畸程度稍微小一些,这样的话,尽管看到正面朝上的概率超过了 50%,每次抛掷还会有一些信息。因此,它的自信息大于 0。如果硬币的偏畸程度是导致反面朝上的结果,我们得到的自信息还是 0。在使用一个没有偏畸的硬币做实验时,每次抛掷得到正面朝上和反面朝上的概率都是 50%,我们会得到最大的意外性,因为在这种情况下硬币抛掷的结果的可预测性是最小的。我们也可以说,均匀分布的熵最大,确定事件的熵最小。

基于以上的非正式需求,我们可以找到一个合适的函数来描述自信息。对于一个可能取值为
x_1,x_2,...,x_n 的离散随机变量 X,它的概率质量函数 P(X),以及任何正的取值在 0 到 1 之间的单调递减函数I(p_i) 都可以作为信息的度量。此外,还有另外一个关键的属性就是独立事件的可加性;两次连续硬币抛掷的信息应该是一次单独抛掷的 2 倍。这对独立变量而言是有意义的,因为在这种情况下意外性或者不可预测性会增大为之前的两倍。形式上,对于独立事件 x_ix_j 而言,我们需要 I(p_i * p_j) = I(p_i) + I(p_j)。满足所有这些要求的函数就是负对数,因此我们可以使用负对数表示自信息:

I(p_i) = - log(p_i)

通常,香农熵是随机变量 X 的所有可能结果的自信息期望值。

其中 b 是对数的底数。上面我们使用的是 b=2,其他常见的选择还有 b=10,以及 e。其实这个影响不大,因为不同底数的对数之间存在一个常数的关系。我们这里仍然假设底数为 2,所以我们将省略下面公式中的 b。

交叉熵

交叉熵是一个用来比较两个概率分布 p 和 q 的数学工具。它和熵是类似的,我们计算 log(q) 在概率 p 下的期望,而不是反过来:


KL 散度

与交叉熵紧密相关,KL 散度是另一个在机器学习中用来衡量相似度的量:从 q 到 p 的 KL 散度如下:D_{KL}(p||q)。在贝叶斯推理中,D_{KL}(p||q) 衡量当你修改了从先验分布 q 到后验分布 p 的信念之后带来的信息增益,或者换句话说,就是用后验分布 q 来近似先验分布 p 的时候造成的信息损失。例如,在训练一个变分自编码器的隐藏空间表征时就使用了 KL 散度。KL 散度可以用熵和交叉熵表示:

交叉熵衡量的是用编码方案 q 对服从 p 的事件进行编码时所需 bit 数的平均值,而 KL 散度给出的是使用编码方案 q 而不是最优编码方案 p 时带来的额外 bit 数。从这里我们可以看到,在机器学习中,p 是固定的,交叉熵和 KL 散度之间只相差一个常数可加项,所以从优化的目标来考虑,二者是等价的。而从理论角度而言,考虑 KL 散度仍然是有意义的,KL 散度的一个属性就是,当 p 和 q 相等的时候,它的值为 0。

KL 散度有很多有用的性质,最重要的是它是非负的。KL 散度为 0 当且仅当 P 和 Q 在离散型变量的情况下是相同的分布,或者在连续型变量的情况下是 『几乎 处处』 相同的。因为 KL 散度是非负的并且衡量的是两个分布之间的差异,它经常 被用作分布之间的某种距离。然而,它并不是真的距离因为它不是对称的:对于某 些 P 和 Q,D_KL(P||Q) 不等于 D_KL(Q||P)。这种非对称性意味着选择 D_KL(P||Q) 还是 D_KL(Q||P) 影响很大。

在李弘毅的讲解中,KL 散度可以从极大似然估计中推导而出。若给定一个样本数据的分布 P_{data}(x) 和生成的数据分布 P_{G}(x;θ),那么 GAN 希望能找到一组参数 θ 使分布 P_{g}(x;θ)P_{data}(x) 之间的距离最短,也就是找到一组生成器参数而使得生成器能生成十分逼真的图片。

现在我们可以从训练集抽取一组真实图片来训练 P_G(x;θ) 分布中的参数θ使其能逼近于真实分布。因此,现在从 P_data(x) 中抽取 m 个真实样本 {𝑥1,𝑥2,…,𝑥𝑚},其中符号「」代表上标,即 x 中的第 i 个样本。对于每一个真实样本,我们可以计算 P_G(xi;θ),即在由θ确定的生成分布中,xi 样本所出现的概率。因此,我们就可以构建似然函数:

其中「∏」代表累乘、P_G(x^i;θ) 代表第 i 个样本在生成分布出现的概率。从该似然函数可知,我们抽取的 m 个真实样本在 P_G(x;θ) 分布中全部出现的概率值可以表达为 L。又因为若 P_G(x;θ) 分布和 P_data(x) 分布相似,那么真实数据很可能就会出现在 P_G(x;θ) 分布中,因此 m 个样本都出现在 P_G(x;θ) 分布中的概率就会十分大。

下面我们就可以最大化似然函数 L 而求得离真实分布最近的生成分布(即最优的参数θ):

决策树学习

在决策树的学习算法中,一般包含了特征选择、决策树的生成与决策树的剪枝过程。决策树的特征选择在于选取对训练数据有分类能力的特征,而通常特征选择的准则是「信息增益」或「信息增益比」。

在李航的统计学习方法中,一般熵 H(Y) 与条件熵 H(Y|X) 之差可以称为互信息(Mutual Information),决策树学习中的信息增益等价于训练数据中类与特征的互信息。若给定训练数据集 D 和特征 A,经验熵 H(D) 表示对数据集 D 进行分类的不确定性。而经验条件熵 H(D|A) 表示在特征 A 给定的条件下对数据集 D 进行分类的不确定性。那么它们的差,即信息增益,就表示由于特征 A 而使得对数据集 D 的分类的不确定性减少的程度。显然,对于数据集 D 而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益。信息增益大的特征具有更强的分类能力。

根据信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

因此在决策树学习中,熵被用来构建树。通过将数据集 S 根据可能的「最佳」属性分成一些子数据集,从根节点开始构建决策树,「最佳」属性也就是能够将得到的子数据集的熵最小化的属性。这个过程被递归地重复,直到没有更多的属性来分割。此过程被称为 ID3 算法,由此可见 ID3 算法的核心是在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树。

分类

不管是在二分类问题还是多分类问题中,交叉熵是 logistic 回归和神经网络中的标准损失函数。通常,p 是真实分布,q 是模型描述的分布。让我们来看一个二分类 logistic 回归中的一个例子。两个类别的标签分别是 0 和 1,logistic 模型给每一个输入赋予以下概率:q_(y=1) =y_hat,q_(y=0) = 1- y_{hat}。这个可以简写为 q ∈ {y_hat, 1 − y_hat}。尽管真实标签是精确的 0 和 1,但是这里还是写成 p ∈ {y, 1 − y},因此不要被这个表达方式搞混。在这个标记下,每个样本的真实值和估计分布之间的交叉熵如下:

当它被作为一个损失函数使用的时候,我们用的是 N 个样本的交叉熵均值,

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 本文的目录组织如下: 【1】自信息 【2】熵(香农熵) 【3】联合熵 【4】条件熵 【5】互信息(信息增益) 【6...
    城市中迷途小书童阅读 1,691评论 0 1
  • 本文的目录组织如下: 【1】自信息【2】熵(香农熵)【3】联合熵【4】条件熵【5】互信息(信息增益)【6】 熵、联...
    牛奶芝麻阅读 2,976评论 0 7
  • 查看原文 1 简介 Deep Learning最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身...
    JinkeyAI阅读 6,732评论 0 4
  • 总结下机器学习中的各种熵 自信息 对事件不确定性的度量 熵 熵表示随机变量不确定性的度量。设是一个取有限个值的离散...
    netczy阅读 971评论 0 0
  • 这篇文章的技术难度会低一些,主要是对推荐系统所涉及到的各部分内容进行介绍,以及给出一些推荐系统的常用算法,比起技术...
    我偏笑_NSNirvana阅读 12,058评论 5 89