机器学习先验知识概率论部分,发现看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
1 基本概念
概率论在机器学习中扮演着一个核心角色,因为机器学习算法的设计通常依赖于对数据的概率假设。
1.1 概率空间
说到概率,通常是指一个具有不确定性的event
发生的可能性。例如,下周二下雨的概率。因此,为了正式地讨论概率论,我们首先要明确什么是可能事件。
正规说来,一个probability space
是由三元组
(Ω,F,P)
定义:
-
Ω
为样本空间
-
F⊆2Ω
(
Ω
的幂集)为(可度量的)事件空间
-
P
为将事件
注:
假设给定样本空间
Ω
,则对于事件空间
F
来说:
-
-
F
对于并集闭合,例如:如果
-
F
对于补集闭合,例如:如果
Example1: 假如我们投掷一个(6面)骰子,那么可能的样本空间 Ω={1,2,3,4,5,6} 。我们可能感兴趣的事件是骰子点数是奇数还是偶数,那么这种情况下事件空间就是 F={∅,{1,3,5},{2,4,6}} .
可以看到样本空间
Ω
为有限集时,就像上一个例子,我们通常令事件空间
F
为
给定一个事件空间
F
,概率函数
- (非负)对于所有
α∈F,P(α)≥0
-
P(F)=1
,事件空间的概率值为1
- (互斥事件的加法法则)对于所有
α,β∈F和α∩β=∅,P(α∪β)=P(α)+P(β)
Example2: 回到掷骰子的例子,假设事件空间
F
为
P({1})=P({2})=…=P({6})=16
那么这种概率分布
P
可以完整定义任意给出事件的发生概率(通过可加性公理)。例如,投掷点数为偶数的概率为:
因为任意事件(此处指样本空间内的投掷出各点数)之间都没有交集
1.2 随机变量
随机变量在概率论中扮演着一个重要角色。最重要的一个事实是,随机变量并不是变量,它们实际上是将(样本空间中的)结果映射到真值的函数。我们通常用一个大写字母来表示随机变量。
Example3: 还是以掷骰子为例。 另
X
为取决于投掷结果的随机变量。
从某种意义上说,随机变量让我们可以将事件空间的形式概念抽象出来,通过定义随机变量来采集相关事件。举个例子,考虑Example1中投掷点数为奇/偶的事件空间。我们其实可以定义一个随机变量,当结果
继续,我们后面主要会讨论关于随机变量的概率。虽然某些概率概念在不使用随机变量的情况下也能准确定义,但是随机变量让我们能提供一种对于概率论的更加统一的处理方式。取值为
a
的随机变量
同时,我们将随机变量 X 的取值范围记为:
1.3 概率分布,联合分布,边缘分布
我们经常会谈论变量的分布。正式来说,它是指一个随机变量取某一特定值的概率,例如:
Example4:假设在投掷一个骰子的样本空间
Ω
上定义一个随机变量
X
,如果骰子是均匀的,则
PX(1)=PX(2)=…=PX(6)=16
注意,尽管这个例子和Example2类似,但是它们有着不同的语义。Example2中定义的概率分布是对于事件而言,而这个例子中是随机变量的概率分布。
我们用
P(X)
来表示随机变量
X
的概率分布。
有时候,我们会同时讨论大于一个变量的概率分布,这种概率分布称为联合分布,因为此事的概率是由所涉及到的所有变量共同决定的。这个可以用一个例子来阐明。
Example5:在投掷一个骰子的样本空间上定义一个随机变量
像前面一样,我们可以用
P(X=a,Y=b)
或
PX,Y(a,b)
来表示
X
取值为
P(X)=∑b∈Val(Y)P(X,Y=b)……………………………………(1)
之所以取名为边缘分布,是因为如果我们将一个联合分布的一列(或一行)的输入相加,将结果写在它的最后(也就是边缘),那么该结果就是这个随机变量取该值时的概率。当然,这种思路仅在联合分布涉及两个变量时有帮助。 1.4 条件分布条件分布为概率论中用于探讨不确定性的关键工具之一。它明确了在另一随机变量已知的情况下(或者更通俗来说,当已知某事件为真时)的某一随机变量的分布。
P(X=a|Y=b)=P(X=a,Y=b)P(Y=b)…………………………………(2)
注意,当 Y=b 的概率为0时,上式不成立。 Example6:假设我们已知一个骰子投出的点数为奇数,想要知道投出的点数为“1”的概率。令
X
为代表点数的随机变量,
P(X=a|Y=b,Z=c)=P(X=a,Y=b,Z=c)P(Y=b,Z=c)
我们用 P(X|Y=b) 来表示当 Y=b 时随机变量 X 的分布,也可以用 1.5 独立性(https://zh.wikipedia.org/wiki/%E7%8B%AC%E7%AB%8B_(%E6%A6%82%E7%8E%87%E8%AE%BA))
P(X)=P(X|Y)
(注意,上式没有标明 X,Y 的取值,也就是说该公式对任意 X,Y 可能的取值均成立。) 利用等式(2),很容易可以证明如果 X 对 对于随机变量 X 和
P(X,Y)=P(X)P(Y)
我们有时也会讨论 条件独立,就是当我们当我们知道一个随机变量(或者更一般地,一组随机变量)的值时,那么其它随机变量之间相互独立。正式地,我们说“给定 Z , 或者等价的:
P(X,Y|Z)=P(X|Z)P(Y|Z)
机器学习(Andrew Ng)的课中会有一个朴素贝叶斯假设就是条件独立的一个例子。该学习算法对内容做出假设,用来分辨电子邮件是否为垃圾邮件。假设无论邮件是否为垃圾邮件,单词x出现在邮件中的概率条件独立于单词y。很明显这个假设不是不失一般性的,因为某些单词几乎总是同时出现。然而,最终结果是,这个简单的假设对结果的影响并不大,且无论如何都可以让我们快速判别垃圾邮件。 1.6 链式法则和贝叶斯定理我们现在给出两个与联合分布和条件分布相关的,基础但是重要的可操作定理。第一个叫做链式法则,它可以看做等式(2)对于多变量的一般形式。
P(X1,X2,…,Xn)=P(X1)P(X2|X1)…P(Xn|X1,X2,…,Xn−1)…………(3)
链式法则通常用于计算多个随机变量的联合概率,特别是在变量之间相互为(条件)独立时会非常有用。注意,在使用链式法则时,我们可以选择展开随机变量的顺序;选择正确的顺序通常可以让概率的计算变得更加简单。 第二个要介绍的是贝叶斯定理。利用贝叶斯定理,我们可以通过条件概率 P(Y|X) 计算出 P(X|Y) ,从某种意义上说,就是“交换”条件。它也可以通过等式(2)推导出。 定理2(贝叶斯定理):
P(X|Y)=P(Y|X)P(X)P(Y)………………………………(4)
记得,如果 P(Y) 没有给出,我们可以用等式(1)找到它:
P(Y)=∑a∈Val(X)P(X=a,Y)=∑a∈Val(X)P(Y|X=a)P(X=a)
这种等式(1)的应用有时也被称为 全概率公式( https://zh.wikipedia.org/wiki/%E5%85%A8%E6%A6%82%E7%8E%87%E5%85%AC%E5%BC%8F)。 贝叶斯定理可以推广到多个随机变量的情况。在有疑问的时候,我们都可以参考条件概率的定义方式,弄清楚其细节。 Example7:考虑以下的条件概率: P(X,Y|Z) 和 (X|Y,Z) P(X,Y|Z)=P(Z|X,Y)P(X,Y)P(Z)=P(Y,Z|X)P(X)P(Z) P(X|Y,Z)=P(Y|X,Z)P(X,Z)P(Y,Z)=P(Y|X,Z)P(X|Z)P(Z)P(Y|Z)P(Z)=P(Y|X,Z)P(X|Z)P(Y|Z) 2 定义一个概率分布前面已经讨论了一下概率分布,但是我们如何定义一个分布呢?广义上来说,有两种类型的分布,它们看似需要进行两种不同的处理(它们可以用度量学来进行统一)。也就是说,离散分布和连续分布。我们后面会讨论如何定义分布。 2.1 离散分布:概率质量函数(https://zh.wikipedia.org/wiki/%E6%A6%82%E7%8E%87%E8%B4%A8%E9%87%8F%E5%87%BD%E6%95%B0) 2.2 连续分布:概率密度函数(https://zh.wikipedia.org/wiki/%E6%A9%9F%E7%8E%87%E5%AF%86%E5%BA%A6%E5%87%BD%E6%95%B8)
P(a≤X≤b)=∫baf(x)dx
注意,特别地,默认连续分布的随机变量取任意单一值的概率为零。 Example8:(均匀分布)假设随机变量
X
在
f(x)={10if 0≤x≤1otherwise
我们可以确定 ∫101dx 为1,因此 f 为PDF。计算 P(X≤12)=∫1201dx=[x]120=12 更一般地,假设 X 在
f(x)={1b−a0if a≤x≤botherwise
有时我们也会讨论 累积分布函数,这种函数给出了随机变量在小于某一值的概率。累积分布函数 F 和基本概率密度函数 F(b)=P(X≤b)=∫b−∞f(x)dx 因此, F(x)=∫f(x)dx (就不定积分而言)。 要将连续分布的定义扩展到联合分布,需要把概率密度函数扩展为多个参数,即: P(a1≤X1≤b1,a2≤X2≤b2,…,an≤Xn≤bn)=∫b1a1∫b2a2…∫bnanf(x1,x2,…,xn)dx1dx2…dxn 将条件分布扩展到连续随机变量时,会遇到一个问题——连续随机变量在单个值上的概率为0,因此等式(2)不成立,因为分母等于0。为了定义连续变量的条件分布,要令 f(x,y) 为 X 和 f(y|x)=f(x,y)f(x) 即如果直接用P的话,P可能在分母为零,所以用 f ,通过 例如: P(a≤Y≤b|X=c)=∫baf(y|c)dy=∫baf(c,y)f(c)dy 3 期望(Expectations)和方差(Variance)3.1 期望(https://zh.wikipedia.org/wiki/%E6%9C%9F%E6%9C%9B%E5%80%BC)
E(x)=∑a∈Val(x)aP(X=a)或E(x)=∫a∈Val(x)xf(x)dx……………………(5)
Example9:令 X 为投掷一个均匀骰子的结果,则 E(X)=(1)16+(2)16+…+(6)16=312 有时我们可能会对计算随机变量 X 的某一函数 当使用指示变量时,一个有用的判别方式是: 此处可以脑补 当遇到随机变量的和时,一个最重要的规则之一是 线性期望(linearity of expectations)。 定理3 (线性期望):令 X1,X2,…,Xn 为(可能是独立的)随机变量:
E(X1+X2+…+Xn)=E(X1)+E(X2)+…+E(Xn)………………(6)
期望为线性函数。 期望的线性非常强大,因为它对于变量是否独立没有限制。当我们对随机变量的结果进行处理时,通常没什么可说的,但是,当随机变量相互独立时,有: 定理4: 令 X 和
E(XY)=E(X)E(Y)
3.2 方差(https://zh.wikipedia.org/wiki/%E6%96%B9%E5%B7%AE)
方差的定义:
Var(X)=E((X−E(X))2)………………………………(7)
随机变量的方差通常记为 σ2 ,给它取平方的原因是因为我们通常想要找到 σ ,也就是 标准差。方差和标准差(很明显)可以用公式 σ=Var(X)‾‾‾‾‾‾‾√ 相关联。 为了找到随机变量 X 的方差,通常用以下替代公式更简单: 注意,不同于期望, 方差不是关于随机变量 X 的线性函数,事实上,我们可以证明
Var(aX+b)=a2Var(X)
如果随机变量 X 和
Var(X+Y)=Var(X)Var(Y),如果X⊥Y
有时我们也会讨论 两个随机变量的协方差,它可以用来度量两个随机变量的相关性,定义如下:
Cov(X,Y)=E((X−E(X))(Y−E(Y)))
4 一些重要的分布以下包含一些课中会提到的概率分布,但是并不是我们所需要了解的全部概率分布,特别是几何分布、超几何分布、二项分布等,这些都是在各自的领域十分有用,并且在基础概率论中有研究到的,没有在此提及。 4.1 伯努利(Bernoulli)分布伯努利分布是最基础的概率分布之一,一个服从伯努利分布的随机变量有两种取值
{0,1}
,它能通过一个变量
p
来表示其概率,为了方便,我们令
P(X)=px(1−p)1−x
一个伯努利分布起作用的例子是Lecture Notes1中的分类任务。为了给这个任务开发一个逻辑回归算法,对于特征来说,我们假设标签遵循伯努利概率分布。 4.2 泊松(Poisson)分布(https://zh.wikipedia.org/wiki/%E6%B3%8A%E6%9D%BE%E5%88%86%E4%BD%88)
P(X=k)=exp(−λ)λkk!
服从泊松分布的随机变量的平均值为 λ ,其方差也为 λ , E(X)=V(X)=λ 4.3 高斯(Gaussian)分布高斯分布,也就是正态分布,是概率论中最“通用”的概率分布之一,并且在很多环境中都有出现。例如,在试验数量很大时用在二项分布的近似处理中,或者在平均事件发生率很高时用于泊松分布。它还和大数定理相关。对于很多问题来说,我们还会经常假设系统中的噪声服从高斯分布。基于高斯分布的应用很多很多。
f(x)=12π‾‾‾√σexp(−(x−μ)22σ2)………………(8)
为了更好的感受概率分布随着期望和方差的改变,在上图中绘制了三种不同的高斯分布。 在这个课中,我们会经常和多变量高斯分布打交道。 一个 k 维多变量高斯分布用参数
f(x)=12πk∣∣∑∣∣‾‾‾‾‾‾‾√exp(−12(x−μ)T∑−1(x−μ))………………(9)
(我们标记矩阵 A 的行列式为 处理多变量高斯分布有时可能会比较困难,令人生畏。让我们生活更简单的一个方法,至少是让我们有对于某个问题的直觉的一个方法,是在我们刚开始试图解决一个问题时假设协方差为零。当协方差为零时,行列式 ∣∣∑∣∣ 就仅由变量生成,可以对 ∑ 对角线元素做转置来得到它的转置 ∑−1 。 5 概率处理因为接下来会有很多对概率和分布的处理,所以下面列出一些用于有效处理概率分布的tips。 5.1 The log trick在机器学习中,我们通常会假设不同样本之间相互独立。因此,我们常常需要对一定数量(大量)的概率分布的产物进行处理。当我们的目标为优化这些产物的函数时,如果我们先处理这些函数的对数通常会更加简单。因为取对数的函数是一个严格单增函数,因此它不会改变最大值的取值点(尽管更加明确来说,这个函数在取对数前后的最大值是不同的)。
L(θ)=∏i=1m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)
我敢说这是一个看起来相当吓人的函数,但是通过对它取对数,相应的我们可以得到:
l(θ)=logL(θ)=∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
现在它不是世界上最漂亮的函数,但至少更加易处理。我们现在可以一次处理一项(即一个训练样本),因为它们是相加而不是相乘。 5.2 延迟归一化(Delayed Normalization)因为概率相加要等于一,我们常常要进行归一化处理,特别是对连续概率分布来说。例如,对于高斯分布来说, 指数外面的项就是为了确保PDF的积分等于1。当我们确定某些代数的最终结果为一个概率分布,或者在寻找某些最优分布时,将归一化常数记为 Z 通常会更加简单,而不用一直考虑计算出归一化常数。 5.3 Jenson不等式有时我们会计算一个函数对某个随机变量的期望,通常我们只需要一个区间而不是具体的某个值。在这种情况下,如果该函数是凸函数或者凹函数,通过Jenson不等式,我们可以通过计算随机变量自身期望处的函数值来获得一个区间。 如果 f 为凹函数,那么: 尽管我们可以用代数表示Jenson不等式,但是通过一张图更容易理解。上图中的函数为一个凹函数,我们可以看到该函数任意两点之间的直线都在函数的上方,也就是说,如果一个随机变量只能取两个值,那么Jenson不等式成立。这个也可以比较直接地推广到一般随机变量。
07-09
![]()
06-13
![]()
01-03
![]() “相关推荐”对你有帮助么?
提交
评论 7
![]() ![]() ![]()
查看更多评论
![]() 打赏作者
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
![]() ![]() ![]() ![]() |
---|