第一章 引言
1. 一些机器学习基本概念的定义
-
General Process of Machine Learning
The result of running the machine learning algorithm can be expressed as a function
which takes a new digit image
as input and that generates an output vector
, encoded in the same way as the target vectors. The precise form of the function
is determined during the training phase, also known as the learning phase, on the basis of the training data. Once the model is trained it can then determine the identity of new digit images, which are said to comprise a test set.
-
Generalization
The ability to categorize correctly new examples that differ from those used for training is known as generalization.
- In practical applications, the variability of the input vectors will be such that the training data can comprise only a tiny fraction of all possible input vectors, and so generalization is a central goal in pattern recognition.
-
Pre-processing
For most practical applications, the original input variables are typically preprocessed to transform them into some new space of variables where, it is hoped, the pattern recognition problem will be easier to solve. This pre processing stage is sometimes also called feature extraction. Note that new test data must be pre-processed using the same steps as the training data.
-
Applications in Machine Learning
-
Supervised Learning
Applications in which the training data comprises examples of the input vectors along with their corresponding target vectors are known as supervised learning problems.
-
Classification
Cases such as the digit recognition example, in which the aim is to assign each input vector to one of a finite number of discrete categories, are called classification problems.
-
Regression
If the desired output consists of one or more continuous variables, then the task is called regression.
-
-
Unsupervised Learning
In other pattern recognition problems, the training data consists of a set of input vectors x without any corresponding target values.
-
Clustering
The goal in such unsupervised learning problems may be to discover groups of similar examples within the data, where it is called clustering.
-
Density Estimation
Determine the distribution of data within the input space.
-
Visualization
Project the data from a high-dimensional space down to two or three dimensions for the purpose of visualization.
-
-
Reinforcement Learning
The technique of reinforcement learning is concerned with the problem of finding suitable actions to take in a given situation in order to maximize a reward. Here the learning algorithm is not given examples of optimal outputs, in contrast to supervised learning, but must instead discover them by a process of trial and error. Typically there is a sequence of states and actions in which the learning algorithm is interacting with its environment. In many cases, the current action not only affects the immediate reward but also has an impact on the reward at all subsequent time steps.
-
Credit Assignment Problem
A major challenge is that a game of backgammon can involve dozens of moves, and yet it is only at the end of the game that the reward, in the form of victory, is achieved. The reward must then be attributed appropriately to all of the moves that led to it, even though some moves will have been good ones and others less so.
-
Exploration & Exploitation
A general feature of reinforcement learning is the trade-off between exploration, in which the system tries out new kinds of actions to see how effective they are, and exploitation, in which
the system makes use of actions that are known to yield a high reward. Too strong a focus on either exploration or exploitation will yield poor results.
-
-
-
Validation Set & Test Set
We have already seen that, in the maximum likelihood approach, the performance on the training set is not a good indicator of predictive performance on unseen data due to the problem of over-fitting. If data is plentiful, then one approach is simply to use some of the available data to train a range of models, or a given model with a range of values for its complexity parameters, and then to compare them on independent data, sometimes called a validation set, and select the one having the best predictive performance. If the model design is iterated many times using a limited size data set, then some over-fitting to the validation data can occur and so it may be necessary to keep aside a third test set on which the performance of the selected model is finally evaluated.
-
Cross-validation
- 在数据量有限的情况下,交叉验证能够帮助我们尽可能地利用有限数据进行模型评估。数据量越小,交叉验证所对应的折数应越大。而对于数据极度缺乏的情况下,会将折数设置为样本数,也就是说,仅留一个样本用于验证,这种做法也被称为留一法。
- 交叉验证的缺点显而易见,就是计算量很大,因为需要跑S(折数)次。如果在超参数多的情况下结合网格搜索等调参方法,那么模型的运行次数会随着超参数数量的增加呈现指数级的增长。这对于一些本身训练时间较长的模型来说是非常耗时的。
This allows a proportion
of the available data to be used for training while making use of all of the data to assess performance. When data is particularly scarce, it may be appropriate to consider the case
, where
is the total number of data points, which gives the leave-one-out technique.
2. 概率论知识点
2.1 离散型随机变量的概率运算法则
加法法则(全概率公式):
乘法法则:
如果两个随机变量独立,则有:
2.2 贝叶斯公式(Bayes' theorem)
其中,称为先验概率(prior probability),而
称为后验概率(Posterior probability)**,它可以看成是事件
已经发生的情况下,经过事实修正后的概率。
We can view the denominator in Bayes’ theorem as being the normalization constant required to ensure that the sum of the conditional probability on the left-hand side of (1) over all values of Y equals one.
2.3 概率密度:对连续型随机变量的概率建模
假定
落在区间
的概率为
,当
时,将
称为随机变量
的概率密度。需要注意的是,
并不能被简单地理解为随机变量等于
时的概率,因为
在任意单点处概率都是趋于
的。
需要满足的两条性质:
基于概率密度
,
落在区间
中的概率可以表示为:
定义如下符号用于表示随机变量
落在区间
,也就是
的概率:
因此,也等价于
。
随机变量代换的运算法则:设变量代换
,并分别定义
和
为
和
的概率密度,则
和
之间满足:
$|\frac{dx}{dy}|$实际上就是雅可比行列式。
- 与离散型随机变量相类似,连续型随机变量的加法和乘法运算法则如下:
2.4 期望
设随机变量的函数
,随机变量的概率分布为
,则
的期望可以计算为:
对于联合概率分布
,其关于
的边缘期望可表示为
,它是一个关于
的函数。
进一步地,还可以定义在条件概率分布下的函数期望如下:
2.5 方差
函数
的方差可以定义为:
可以通过推导得到如下计算方差的方法:
与方法类似,定义两随机变量的协方差如下:
将其拓展到多元随机变量,则其协方差为一个矩阵:
其中和
均为列向量。
2.6 频率学派 vs 贝叶斯学派
-
频率学派(frequentist interpretation)**观点:通过随机可重复时间的发生频率来定义相应的概率。
So far in this chapter, we have viewed probabilities in terms of the frequencies of random, repeatable events. We shall refer to this as the classical or frequentist interpretation of probability.
一些特殊的事件并没有办法重复地发生多次(例如南极洲消失),在这种情况下使用频率来定义概率的方法就不再适用。虽然这些事件仅发生了若干次甚至没有发生,我们依然可以基于一些先验知识估计其发生的概率。这就是贝叶斯(Bayesian)*****学派的观点,其想法是基于证据或是已观测到的事实来建模事件发生的不确定性*,其核心是基于贝叶斯公式:
在已经观测到数据集
的情况下评估
的不确定性,即
。
称为先验概率(prior probability),可以理解为我们一开始就对
拥有的先验知识;而
则被称为后验概率(posterior probability),它是观测到
之后,对
进行的修正。
被称为似然函数(likelihood function)**,它表示给定不同的参数向量
,观测到数据集
的可能性。需要注意的是
并不是一个关于
的概率分布,因为它关于
的积分不一定等于
。
机器学习的任务是给定数据
,求解模型参数
。因此,基于(2),我们可以得到如下结论:
而分母项是一个关于
的常数,它可以被理解为一个标准化因子,目的是确保
符合概率的性质(积分等于
)。
-
似然函数在频率学派和贝叶斯学派中均扮演了重要的角色,但两者使用它的方式是截然不同的。
- 频率学派认为
是固定的参数,而数据集
的值是不确定的,因此频率学派希望借助一些基于
和
的度量来确定
的值。而似然函数
就是其中一种被广泛使用的度量方法,通过寻找一个最合适的
来使得
出现的概率最大,以此确定
的值。
- 与频率学派不同,贝叶斯学派认为数据集只有一个(即观测到的
),因此
是固定的,而参数
是不确定的,利用概率分布对其建模。
- 引入先验知识从直观上讲是一件自然而然的事,这是贝叶斯学派的一个优势。例如,如果将一个硬币抛十次都是正面,从频率学派的角度,正面朝上的概率就是1,这显然是不符合事实的。而这样的判断就来自于我们对硬币有一个先验知识,因此贝叶斯角度能够帮助我们对概率有一个更精确的建模。但先验的选择往往不是一件容易的事,当先验选择得不好时,贝叶斯方法有很大的可能性会给出错误的结果,这也是贝叶斯学派的一个缺陷。
- 频率学派认为
2.7 高斯分布
其中和
分别表示均值(mean)和方差(variance),定义
代表精度(precision)**。高斯分布的函数图像如下所示:
高斯分布满足以下性质:
多元高斯分布的定义如下:
其中和
是
维列向量,而
是
维的协方差矩阵。
表示
的行列式。
2.7.1 使用极大似然估计进行参数求解
对于从高斯分布中独立同分布采样的多个样本,其联合概率表示为:
注意这里表示
个独立同分布采样得到的一维样本构成的数据集,而不是一个
维的样本,
维样本的概率见式(3)。
以一维高斯分布为例,通过极大化公式(4)来求解和
。为了简化运算,通常的做法是取公式(4)的对数函数进行计算,这样做的好处不仅在于能够简化运算,还有有效防止由于计算机精度的限制造成的精度下溢出(即类似于
被当成0的情况):
其中表示第
个样本。关于
极大化式(5),有
被称为样本均值。而关于
极大化式(5),有
称为样本方差。需要注意的是,我们实际上是需要基于式(5)联合求解
和
的,而之所以能够将他们解耦为两个单独的步骤,是因为
的求解不依赖于
。
这样基于样本数据利用极大似然估计方法求解得到的方差距离随机变量的真实方差实际上是有差距的,具体来说,,
,
和
之间有如下关系:
式(6) 推导如下:
首先证明引理:
,其中
为指示变量,如果
,
,否则等于
:
当
,
,因此有
当,
,因此有
综上,。
接下来,利用如上结论证明式(6):
可以看到,实际上低估(underestimate)了真实方差,但当
足够大时,两者的差距将逐渐缩小,直至逼近。
2.7.2 基于高斯分布进行曲线拟合(频率角度)
给定数据集以及他们对应的标签
。回忆前文中提过的,频率学派假定参数是固定的,而数据是随机变量,服从某种分布。因此,如果假定样本标签
符合高斯分布,则有:
其中表示给定样本x的情况下,标签t分布的均值,它实际上也就是
基于模型参数
得到的预测标签。因此,曲线拟合的问题转化为求解参数
和
。下图说明了公式(7)中给定x的条件下t的概率分布:
因此,在给定训练数据的情况下,假定数据均为独立采样得到的,则有:
与前文类似,首先求得其对数似然函数:
参数的求解仅与第一项有关,最大化第一项等价于最小化
,由此可以得知,如果假设数据服从高斯分布,求解其对数似然函数可以导出平方误差以及均方误差函数。同样地,基于前两项,可以得到参数
的解:
在确定了模型参数和
后,给定一个新样本
,可以求得其标签
的概率分布:
进一步地,如果假定不固定,我们可以参考贝叶斯方法,对
引入先验。例如,对于一个M维参数向量
[1],假定其符合如下形式的高斯分布:
为简单起见,上式假定的对应的高斯分布的均值为
,而方差由超参数
控制。
结合结论(8),有
由此,我们可以通过最大化的后验概率
来求解参数
,我们称这种方法为MAP(maximum posterior)。结合式(9),式(10)和式(11),对
求解关于
的对数似然函数,有:
式(12)可以看成是平方损失函数加上一个正则化项,参数
和
权衡了两者的相对关系。正则化项
实际上是由加入的先验
导出的,根据先验的不同,最后的到的正则化项也会不同**。
2.7.3 从贝叶斯角度进行曲线拟合
尽管在上一节的最后,MAP方法引入了的先验,但它并不能算作一个贝叶斯方法。因为在⼀个纯粹的贝叶斯⽅法中,我们应该自始至终地运用概率的加法法则和乘法法则,这需要我们对
所有的取值进行积分。具体来说,给定了训练集
,假设参数
和
已固定,对于一个新样本
,有
其中可以由式(9)求得,后验概率
可以由式(11)求得。上式积分将在后续章节中推导得到解析解。
下图展示了一个使用贝叶斯方法处理曲线拟合的例子。可以看到,使用贝叶斯方法预测得到的模型并不是固定的,只能得到模型参数的一个概率分布。
2.7.4 三种方法的比较
纯粹的频率角度:通过最大化似然函数
求解参数;
MAP:最大化
的后验概率
来求解参数;
纯粹的贝叶斯方法:通过预测概率
求解问题。
3. 决策论知识点
模式识别问题可以大致分为推断(inference)和决策(decision)两个子问题。推断问题是指基于给定的训练数据集,学习到一个能够表征概率分布(或
)的模型。而决策问题则是基于学习到的模型或者说概率分布,将新样本指派到最合适的类别。推断问题是本书关注的重点,将在后续章节详细介绍。而本节关注于决策问题,介绍在决策过程中常用的准则。
3.1 最小化错分率(misclassification rate)
首先假设一个很简单的目标,我们的目标仅仅是尽可能地降低错分率。我们需要一个准则来把每个x划分到一个合适的类别,这样的规则会将输入空间切分成不同的区域,这种区域也被称为决策区域(decision region)。一种类别对应了一个区域,换言之,类别
就对应区域
。每个区域未必是连续的,它们可以由若干个分离的区域共同构成。而不同的区域之间的边界被称为决策边界(decision boundaries)或是决策面(decision surfaces)。确定准则的过程可以理解为确定决策边界的过程。
下面首先考虑最简单的二分类情况,我们希望通过最小化错分率来设定分类准则。对于二分类,错分的情况出现在本应属于第一类的样本被误分到第二类,以及本应属于第二类的样本被误分到第一类这两种情况。因此,错分的可能性可以表示为:
为了最小化错分的可能性,我们应该使得上式的被积函数尽可能小。例如,如果对样本x,有,那么我们应该将其划分给第
类,因为在这种情况下,它的错分可能性为
,是尽可能小的那一方。而回到这个不等式
,根据乘法规则,在不等式两边同时消去
后,我们可以得到
,换句话说,在给定样本数据后,我们应该将其划分给可能性最大的那一类[2]。下图对(13)的决策规则做了一个图形化说明。
进一步拓展到多分类情况,此时考虑错分的情况过于复杂,考虑正确分类的情况相对更简单,因此分类准则变为最大化正确分类的可能性:
因此和前文类似,对于新来的样本,只需要将其划分到使得最大的第
类即可。
3.2 最小化期望损失(expected loss)
在现实生活中,我们可能有比单纯最小化错分率更加复杂的目标。例如,在癌症诊断中,误诊(将实际健康的病人诊断为患癌)和漏诊(将癌症病人诊断为健康)都属于错分的情况。对于前者,健康的病人再进行一次检查并不会对生活带来太大的影响。而后者却可能延误患者的治疗时机,造成重大的生命财产损失。因此我们会更加关注后者,希望尽可能减少出现后者的几率,哪怕由于少犯第二种错误,而导致第一种错误增加也没关系。
我们可以通过损失函数(loss function)来形式化地描述这个问题,损失函数也被称为代价函数(cost function)。注意在这个问题背景下我们希望的是最小化整体的损失。而如果要最大化目标,则对应的函数被称为效用函数(utility function)。以癌症诊断为例,我们可以通过如下损失矩阵来定义这样一个准则。对于分类正确的情况,我们将损失设置为0,如果健康的就诊者被误诊为患癌,则损失为1,而对于我们最关注的癌症患者被漏诊的情况,我们将损失设置为1000。
健康 | 患病 | |
---|---|---|
健康 | 0 | 1000 |
患病 | 1 | 0 |
该损失矩阵依赖于真实标签,但是对于一个新样本,我们并不能知道它的真实标签是什么。我们知道的只有分布。因此,我们可以转而针对这个联合概率分布去最小化它的期望损失(expected loss),即
其中代表原本属于第
类的样本被错分为第
类的代价。而与最小化错分率类似,为了最小化上式,我们需要最小化被积函数
。也就是说,对于一个新来的样本
,我们只需要将其划分到使得如下目标最小的类别
:
3.3 拒绝选项
当我们发现误分类的概率远小于1,或者不同类别之间的概率
十分接近时(例如对于二分类问题样本属于第一类的概率是0.51,而属于另一类的概率是0.49),样本的类别归属是比较难确定的。这种情况下,也许避免让模型进行决策,而留给人类去完成可能是更好的选择。例如在医疗诊断中,如果模型难以区分受试者是否患病,那么最好的办法转给医生去判别。为了能够做到这一点,我们可以对后验概率
设定一个阈值
,当
的最大值小于
时,模型会拒绝识别该样本。需要注意的是,当我们将
设为大于等于
的数时,会使得模型拒绝所有的样本。而将
设置为
(
为类别总数)以下会使得所有的样本均被模型接受。
阈值\theta可以很容易地推广到最小化期望损失上。由(14),设,则可知
必定是
中的最大值。因此,如果
大于
,则将样本划分到第
类,否则拒绝该样本。
3.4 推断和决策
在本节一开始我们提到模式识别问题可以大致分为推断和决策两个阶段。在推断阶段,我们基于训练数据学习或
,而在决策阶段,我们基于决策论的知识使用后验概率来进行最优的分类。事实上,根据推断和决策的处理方式不同,现有的方法可以分为以下三类:
(1)生成式模型首先对于每个类别,独立地确定类条件密度
(推断问题),接着基于数据集推断先验概率
。之后,使用贝叶斯定理
求出后验概率。也有另一种做法是直接求联合概率分布
(推断问题),然后基于贝叶斯定理归一化得到后验概率。这种做法成为生成式模型的原因是因为可以通过取样人工生成新的输出空间的数据点。
(2)判别式模型 则是直接解决这一推断问题。接下来再使用决策论的知识对新输入的
进行分类。
(3)判别函数与前两者不同,这类方法通过基于训练数据学习出一个函数,将输入的数据直接映射成类别标签,从而同时解决两个问题。函数
被称为判别函数(discriminant function)。
上述三种方法的复杂度是逐级递减的。生成式模型需要求解的东西最多,因为该方法涉及寻找和
的联合概率分布。如果
的维度很高,我们需要大量的训练数据才能在合理的精度下确定类条件概率。而先验概率
经常是根据训练数据中各类别的比例得到的。但是生成式模型多个优点,其中一个就是能够人工生成新的数据,还有一个优点是它能够得到边缘概率密度p(x),对于一些低概率的数据点,模型对它们的预测准确度可能会很低,生成式模型能够将它们检测出来,这类应用被称为离群点检测(outlier detection)或是异常检测(novelty detection)。
对于生成式模型,为了求出后验概率,我们需要先求得类条件概率,而实际上类条件密度包含了很多对后验概率几乎没有影响的结构。如下图所示,假定类先验概率相同的情况下,左边是类条件概率,而右边是后验概率,可以看到类条件概率的峰值对于后验概率分布是没有影响的。如果我们只是想要进行分类的决策,那么直接求后验概率即可。此时,使用判别式模型能够节省计算资源。
使用判别函数的方法最简单,基于训练数据直接就可以把映射到对应的类别上,这种方法无需计算概率。但是这种方法最大的问题就是我们不再能够接触到后验概率
了。实际应用中有很多理由需要我们保留后验概率,例如:
在最小化风险时,我们引入了损失矩阵。实际应用中可能出现损失矩阵时时刻刻被修改的例子(例如金融应用),如果使用判别函数的方法,对于不同的损失矩阵,需要重新训练函数以适应规则。但有了后验概率,只需要修改决策
中对应的
即可。
判别函数没有办法引入拒绝标准。无论该样本是不是难以分类,判别函数都只能生硬地将它分到某一个类别。而如果给定了拒绝数据点所占的比例,后验概率就能够让我们确定最小化风险的拒绝标准。
基于贝叶斯公式,我们可以通过补偿类先验概率缓解类不平衡数据集所带来的问题。
对于一些多源的数据,我们可以通过分解的方式将其分解为多个后验概率的乘积,而不是将其全部集中到一个高维的输入空间。例如,考虑两个数据来源
,
,假设对于每个类别
,
和
是独立的,则有
则后验概率可以通过如下方式分解:
这样的分解,能够降低模型的复杂度。
3.5 用于回归模型的损失函数
有了分类问题的基础,接下来介绍如何解决回归模型中的决策问题。回归模型的决策关键在于对每个输入,确定一个对
的具体的估计
。和式(15)类似,我们可以引入损失函数,通过最小化期望损失的方法来为输入数据
确定合适的估计:
一个常用的损失函数是,此时期望损失变为
我们的目标是通过选取合适的来最小化
,这个问题可以形式化地通过变分法求解:
在获得这个结果之后,我们对做一些变换,从而进一步了解回归问题的本质:
最后一步的推导过程如下:
第一项显然。
下面证明第二项等于零:
接下来推导最后一项:
需要注意的是,平方损失并不是回归问题的损失函数的唯一选择。事实上,在一些情况下,平方损失的效果很差。除了平方损失外,还可以考虑它的推广形式:
该函数被称为闵可夫斯基损失函数(Minkowski Loss),当等于
时,闵可夫斯基损失退化成平方损失,而最优的估计
也已经求得是
的条件均值。而在
和
时,其对应的最优估计分别是
的条件中位数和条件众数。
与分类问题类似,对于回归问题,同样有生成式模型,判别式模型以及判别函数三种不同的解决方式。他们之间的区别和分类问题类似,因此不再赘述。
4. 信息论知识点
⾸先考虑⼀个离散的随机变量。当我们观察到这个变量的⼀个具体值的时候,我们接收到了多少信息呢?信息量可以被看成在学习
的值的时候的“惊讶程度”。如果我们知道,某件事一定会发生,那么我们就接收不到什么信息。而如果一件相当不可能的事件发生了,那么我们收到的信息就会多于我们被告知某个很可能发生的事件发生时收到的信息。
4.1 信息量
如果用概率分布来衡量事件发生的可能性,我们希望寻找一个函数
来衡量信息量,那么根据前文假设,
应该是一个关于
的单调递减函数。除此之外,我们要求
能够满足以下性质:如果有两个不相关的事件x和y,那么我们观察到两个事件同时发生时获得的信息量应该等于观察事件各自发生时所获得的信息量之和,即
。而对于不相关的事件本身,有
。根据这两个式子,可以很容易地推断出
的表达式与
的对数有关。因此,我们有
其中符号是为了确保信息量恒大于等于
。可以看到,信息量
关于
是递减的,也就是说,低概率事件对应了更高的信息量。
的底数可以是任意的,信息论中一般取作
,接下来我们将看到,此时
的单位是比特(bit),即对应信息的平均编码长度。
4.2 离散型变量的信息熵——离散熵
假设如果一个发送者想要传输一个随机变量的值给接收者。这个过程中,他们传输的平均信息量可以通过求解式(16)关于概率分布
的期望得到,即
这个期望值也被称为随机变量的信息熵(entropy)。注意,由于
,因此当
时,我们令
。除此之外,还需要注意区分信息量
和信息熵
的符号上的区别,前者表示的是事件
发生后我们所能获得的信息量,而后者则是在信息量
的基础上,我们对整体的信息传输过程中平均信息量的一个估计。
熵的最早概念起源于物理学,它被用作描述对统计学中无序程度的度量。
接下来举例说明以为底的信息熵在信息传输中的物理意义。考虑一个随机变量
,它有
种可能的状态
。假设这8种状态符合均匀分布(uniform distribution),即每种状态出现的概率是相同的。我们可以用
个比特位来表示这
种状态,即
。而计算其信息熵也可得
而如果假设这8种状态并不符合均匀分布,其概率分布为。则计算对应的信息熵可得
可以由这个例子看出,非均匀分布所具有的信息熵小于均匀分布的信息熵。前面说过信息熵对应的事平均编码长度,而为了能够得到两比特的平均编码长度,我们可以使用下面的编码串:。则平均的编码长度为
事实上,根据无噪声编码定理(noiseless coding theorem)可以得出如下结论:熵是传输一个随机变量状态值平均所需比特位的下界。
接下来把熵的底换成,这样做更便于我们将熵的概念与书的后续章节相结合。在这种情况下,熵的单位变成了nat,而非bit。对于离散变量,熵的定义为:
4.3 连续型变量的信息熵——微分熵
而对于连续型变量同样可以定义熵,此时的熵称为微分熵(differential entropy):
对于离散型变量,我们已经得知当随机变量满足均匀分布时,熵最大。类似地,接下来我们也将求解对于连续型变量,其最大熵所对应的概率分布。为了使这个最大值有一个合理的定义,我们需要限制p(x)的一阶矩和二阶矩。再结合其归一化的限制,我们在最大化微分熵时需要满足下面三个限制:
结合这些约束条件,利用拉格朗日乘数法求解,我们首先得到如下形式的目标函数:
利用变分法,令上式关于的导数等于零,可得
将p(x)代入三个约束中,可以求得
因此,最大化微分熵对应的分布是高斯分布。对应地,如果我们求高斯分布的微分熵,我们可以得到:
从上式也可以看出,与离散熵不同,微分熵是可以为负的。因为对于上式,当时,
。
4.4 条件熵(conditional entropy)
假设我们有一个联合概率分布,我们从这个分布中抽取了一对
和
。如果x的值已知,那么y值所带来的附加信息量就是
。此时,变量y所带来的信息熵就为
根据概率的乘法法则,容易得到
即,描述和
所需要的信息,等于描述
自己所需要的信息,加上在给定
的情况下描述
所需要的信息。
4.5 相对熵(KL散度,Kullback-Leibler divergence)
考虑某个未知的分布,我们已经使用了一个近似的分布
对它进行建模。如果我们使用
建立了一套编码体系,用于把
的值传给接收者,那么,由于我们使用的是近似分布
,而非真实分布
,所以相对于使用
建立编码体系,我们需要一些附加信息。我们需要的平均的附加信息量可以通过下式定义:
这被称为分布和
之间的相对熵,也称KL散度(Kullback-Leibler divergence)。需要注意是KL散度并不是一个对称量,即
。可以证明,
,当且仅当
时等号成立。
关于KL散度恒大于等于零的推导如下:
首先
是凸函数,由凸函数性质可知
而对于连续变量,有
所以对照KL散度的形式,有
而另一方面,由于是一个单调函数,所以仅当
,即
时,
。
对于未知分布,如果我们尝试使用分布
来近似,其中
可以控制该分布的形状,那么其中一种确认
的方法就是最小化
和
之间的KL散度。但是由于真实分布
是未知的,所以我们并不能直接这么做。但是假设我们已经观察到了服从
分布的若干个训练数据点
,那么根据式(17)中样本均值和随机变量整体均值的关系,我们可以通过如下公式近似表示KL散度:
公式右侧的第二项与无关,可以忽略,因此,为了最小化
,实际上就是最大化
。因此我们可以看到,最小化KL散度实际上等价于极大化似然函数。
4.6 互信息(mutual information)
在KL散度的基础上,我们进一步定义两个随机变量的互信息。考虑由给出的由
和
组成的数据集。如果
和
独立,则我们有
。而如果两个变量不是独立的,则我们通过
和
之间的KL散度来判断它们是否接近于相互独立,即
这被称为变量和变量
之间的互信息(mutual information)。根据KL散度的性质,我们知道
,当且仅当
和
相互独立时等号成立。使用概率的加法规则和乘积规则,我们可以看到互信息和条件熵之间的关系为
推导如下:
同理有。
因此,我们可以把互信息看成由于知道值造成的对
的不确定性的减小量。
下图可视化了互信息和条件熵之间的关系(蓝色错了,应该是):