机器学习先验知识概率论部分,发现看Machine Learning(-Andrew Ng)课程的时候中间有推导过程不是很明白,遂针对性复习。
知识内容组织结构,参考:《Probability Theory Review for Machine Learning》(Machine Learning-Andrew Ng,课程讲义复习笔记2)
内容补充,参考维基百科。
公式编辑参考:http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
概率论在机器学习中扮演着一个核心角色,因为机器学习算法的设计通常依赖于对数据的概率假设。
说到概率,通常是指一个具有不确定性的event
发生的可能性。例如,下周二下雨的概率。因此,为了正式地讨论概率论,我们首先要明确什么是可能事件。
正规说来,一个probability space
是由三元组 (Ω,F,P) 定义:
- Ω 为样本空间
- F⊆2Ω ( Ω 的幂集)为(可度量的)事件空间
- P 为将事件 E∈F 映射到0~1真值区间的概率度量(概率分布),可以将 P 看作概率函数
注: Ω 的幂集 2Ω ——是 Ω 的所有子集的集合,符号: P(Ω):={U|U⊆Ω} , |Ω|=n 个元素, |P(Ω)|=2n 个元素。
假设给定样本空间 Ω ,则对于事件空间 F 来说:
- F 包含 Ω 本身和 ∅
- F 对于并集闭合,例如:如果 α,β∈F ,则 α∪β∈F
- F 对于补集闭合,例如:如果 α∈F ,则 (Ω∖α)∈F
Example1: 假如我们投掷一个(6面)骰子,那么可能的样本空间 Ω={1,2,3,4,5,6} 。我们可能感兴趣的事件是骰子点数是奇数还是偶数,那么这种情况下事件空间就是 F={∅,{1,3,5},{2,4,6}} .
可以看到样本空间 Ω 为有限集时,就像上一个例子,我们通常令事件空间 F 为 2Ω 。这种策略并不完全通用,但是在实际使用中通常是有效的。然而,当样本空间为无限集时,我们需要仔细定义事件空间。
给定一个事件空间 F ,概率函数 P 需要满足几个公理:
- (非负)对于所有 α∈F,P(α)≥0
- P(F)=1 ,事件空间的概率值为1
- (互斥事件的加法法则)对于所有 α,β∈F和α∩β=∅,P(α∪β)=P(α)+P(β)
Example2: 回到掷骰子的例子,假设事件空间 F 为 2Ω ,进一步地,定义 F 上的概率函数 P 为:
P({1})=P({2})=…=P({6})=16
那么这种概率分布 P 可以完整定义任意给出事件的发生概率(通过可加性公理)。例如,投掷点数为偶数的概率为:
P({2,4,6})=P({2})+P({4})+P({6})=16+16+16=12
因为任意事件(此处指样本空间内的投掷出各点数)之间都没有交集
随机变量在概率论中扮演着一个重要角色。最重要的一个事实是,随机变量并不是变量,它们实际上是将(样本空间中的)结果映射到真值的函数。我们通常用一个大写字母来表示随机变量。
Example3: 还是以掷骰子为例。 另 X 为取决于投掷结果的随机变量。 X 的一个自然选择是将 i 映射到值 i ,例如,将事件“投掷1点”映射到值1。我们也可以选择一些特别的映射,例如,我们有一个随机变量 Y ——将所有的结果映射到0,这就是一个很无聊的函数。或者随机变量 Z ——当 i 为奇数时,将结果 i 映射到 2i ;当 i 为偶数时,将结果 i 映射到 i 。
从某种意义上说,随机变量让我们可以将事件空间的形式概念抽象出来,通过定义随机变量来采集相关事件。举个例子,考虑Example1中投掷点数为奇/偶的事件空间。我们其实可以定义一个随机变量,当结果 i 为奇数时取值为1,否则随机变量取值为0。这种二元算计变量在实际中非常常见,通常以指示变量为人所知,它是因用于指示某一特定事件是否发生而得名。所以为什么我们要引进事件空间?就是因为当一个人在学习概率论(更严格来说)通过计量理论来学习时,样本空间和事件空间的区别非常重要。这个话题对于这个简短的复习来说太前沿了,因此不会涉及。不管怎样,最好记住事件空间并不总是简单的样本空间的幂集。
继续,我们后面主要会讨论关于随机变量的概率。虽然某些概率概念在不使用随机变量的情况下也能准确定义,但是随机变量让我们能提供一种对于概率论的更加统一的处理方式。取值为 a 的随机变量 X 的概率可以记为:
我们经常会谈论变量的分布。正式来说,它是指一个随机变量取某一特定值的概率,例如:
Example4:假设在投掷一个骰子的样本空间 Ω 上定义一个随机变量 X ,如果骰子是均匀的,则 X 的分布为:
PX(1)=PX(2)=…=PX(6)=16
注意,尽管这个例子和Example2类似,但是它们有着不同的语义。Example2中定义的概率分布是对于事件而言,而这个例子中是随机变量的概率分布。
我们用 P(X) 来表示随机变量 X 的概率分布。
有时候,我们会同时讨论大于一个变量的概率分布,这种概率分布称为联合分布,因为此事的概率是由所涉及到的所有变量共同决定的。这个可以用一个例子来阐明。
Example5:在投掷一个骰子的样本空间上定义一个随机变量 X 。定义一个指示变量 Y ,当抛硬币结果为正面朝上时取1,反面朝上时取0。假设骰子和硬币都是均匀的,则 X 和 Y 的联合分布如下:
P | X=1 | X=2 | X=3 | X=4 | X=5 | X=6 |
---|---|---|---|---|---|---|
Y=0 | 1/12 | 1/12 | 1/12 | 1/12 | 1/12 | 1/12 |
Y=1 | 1/12 | 1/12 | 1/12 | 1/12 | 1/12 | 1/12 |
像前面一样,我们可以用 P(X=a,Y=b) 或 PX,Y(a,b) 来表示 X 取值为 a 且 Y 取值为 b 时的概率。用 P(X,Y) 来表示它们的联合分布。
假定有一个随机变量 X 和 Y 的联合分布,我们就能讨论 X 或 Y 的边缘分布。边缘分布是指一个随机变量对于其自身的概率分布。为了得到一个随机变量的边缘分布,我们将该分布中的所有其它变量相加,准确来说,就是:
条件分布为概率论中用于探讨不确定性的关键工具之一。它明确了在另一随机变量已知的情况下(或者更通俗来说,当已知某事件为真时)的某一随机变量的分布。
正式地,给定 Y=b 时, X=a 的条件概率定义为:
Example6:假设我们已知一个骰子投出的点数为奇数,想要知道投出的点数为“1”的概率。令 X 为代表点数的随机变量, Y 为指示变量,当点数为奇数时取值为1,那么我们期望的概率可以写为:
P(X=1|Y=1)=P(X=1,Y=1)P(Y=1)=1612=13
条件概率的思想可以自然地扩展到一个随机变量的分布是以多个变量为条件时,即:
(https://zh.wikipedia.org/wiki/%E7%8B%AC%E7%AB%8B_(%E6%A6%82%E7%8E%87%E8%AE%BA))
在概率论中,独立性是指随机变量的分布不因知道其它随机变量的值而改变。在机器学习中,我们通常都会对数据做这样的假设。例如,我们会假设训练样本是从某一底层空间独立提取;并且假设样例 i 的标签独立于样例 j(i≠j) 的特性。
从数学角度来说,随机变量 X 独立于 Y ,当:
我们现在给出两个与联合分布和条件分布相关的,基础但是重要的可操作定理。第一个叫做链式法则,它可以看做等式(2)对于多变量的一般形式。
定理1(链式法则):
定理2(贝叶斯定理):
(https://zh.wikipedia.org/wiki/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%AE%9A%E7%90%86)
前面已经讨论了一下概率分布,但是我们如何定义一个分布呢?广义上来说,有两种类型的分布,它们看似需要进行两种不同的处理(它们可以用度量学来进行统一)。也就是说,离散分布和连续分布。我们后面会讨论如何定义分布。
注意,以下的讨论和我们怎样能有效表示一个分布是截然不同的。有效表示概率分布的课题实际上是一个非常重要且活跃的研究领域,它值得开一个专门的课程。(CS228: Probabilistic Models in Artificial Intelligence)
(https://zh.wikipedia.org/wiki/%E6%A6%82%E7%8E%87%E8%B4%A8%E9%87%8F%E5%87%BD%E6%95%B0)
就一个离散分布而言,我们是指这种基本分布的随机变量只能取有限多个不同的值(或者样本空间有限)。
在定义一个离散分布时,我们可以简单地列举出随机变量取每一个可能值的概率。这种列举方式称为概率质量函数(probability mass function[PMF]),因为它将(总概率的)每一个单元块分开,并将它们和随机变量可以取的不同值对应起来。这个可以类似的扩展到联合分布和条件分布。
(https://zh.wikipedia.org/wiki/%E6%A9%9F%E7%8E%87%E5%AF%86%E5%BA%A6%E5%87%BD%E6%95%B8)
对连续分布而言,我们是指这种基本分布的随机变量能取无限多个不同值(或者说样本空间是无限的)。
连续分布相比离散分布来说是一种更加需要揣摩的情况,因为如果我们将每一个值取非零质量数,那么总质量相加就会是一个无限值,这样就不符合总概率相加等于1的要求。
在定义一个连续分布时,我们会使用概率密度函数(probability density function[PDF])。概率密度函数 f 是一个非负,可积(分)的函数,类似于:
Example8:(均匀分布)假设随机变量 X 在 [0,1] 上均匀分布,则对应的PDF为:
(https://zh.wikipedia.org/wiki/%E6%9C%9F%E6%9C%9B%E5%80%BC)
我们对随机变量做的最常见的操作之一就是计算它的期望,也就是它的平均值(mean),期望值(expected value),或一阶矩(first moment)。随机变量的期望记为 E(x) ,计算公式:
(https://zh.wikipedia.org/wiki/%E6%96%B9%E5%B7%AE)
一个随机变量的方差描述的是它的离散程度,也就是该变量离其期望值的距离。一个实随机变量的方差也称为它的二阶矩或二阶中心动差,恰巧也是它的二阶累积量。方差的算术平方根称为该随机变量的标准差。
方差的定义:
以下包含一些课中会提到的概率分布,但是并不是我们所需要了解的全部概率分布,特别是几何分布、超几何分布、二项分布等,这些都是在各自的领域十分有用,并且在基础概率论中有研究到的,没有在此提及。
伯努利分布是最基础的概率分布之一,一个服从伯努利分布的随机变量有两种取值 {0,1} ,它能通过一个变量 p 来表示其概率,为了方便,我们令 P(X=1) 为 p 。它通常用于预测试验是否成功。
有时将一个服从伯努利分布的变量 X 的概率分布按如下表示会很有用:
(https://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E5%88%86%E4%BD%88)
泊松分布是一种非常有用的概率分布,通常用于处理事件发生次数的概率分布。在给定一个事件发生的固定平均概率,并且在该段事件内事件发生相互独立时,它可以用来度量单位时间内事件发生的次数。它包含一个参数——平均事件发生率 λ 。泊松分布的概率质量函数为:
高斯分布,也就是正态分布,是概率论中最“通用”的概率分布之一,并且在很多环境中都有出现。例如,在试验数量很大时用在二项分布的近似处理中,或者在平均事件发生率很高时用于泊松分布。它还和大数定理相关。对于很多问题来说,我们还会经常假设系统中的噪声服从高斯分布。基于高斯分布的应用很多很多。
上图为不同期望和方差下的高斯分布。
高斯分布由两个参数决定:期望 μ 和方差 σ2 。其概率密度函数为:
因为接下来会有很多对概率和分布的处理,所以下面列出一些用于有效处理概率分布的tips。
在机器学习中,我们通常会假设不同样本之间相互独立。因此,我们常常需要对一定数量(大量)的概率分布的产物进行处理。当我们的目标为优化这些产物的函数时,如果我们先处理这些函数的对数通常会更加简单。因为取对数的函数是一个严格单增函数,因此它不会改变最大值的取值点(尽管更加明确来说,这个函数在取对数前后的最大值是不同的)。
举例来说,在Lecture Note 1,第17页的似然函数:
因为概率相加要等于一,我们常常要进行归一化处理,特别是对连续概率分布来说。例如,对于高斯分布来说, 指数外面的项就是为了确保PDF的积分等于1。当我们确定某些代数的最终结果为一个概率分布,或者在寻找某些最优分布时,将归一化常数记为 Z 通常会更加简单,而不用一直考虑计算出归一化常数。
有时我们会计算一个函数对某个随机变量的期望,通常我们只需要一个区间而不是具体的某个值。在这种情况下,如果该函数是凸函数或者凹函数,通过Jenson不等式,我们可以通过计算随机变量自身期望处的函数值来获得一个区间。
(上图为Jenson不等式图示)
定理5 (Jenson不等式):令 X 为一个随机变量, f 为凸函数,那么: