概率与信息论

概率与信息论

概率论是用于表示不确定性声明( statement)的数学框架。它不仅提供了量化不确定性的方法,也提供了用于导出新的不确定性声明的公理。在人工智能领域,概率论主要有两种用途。首先,概率法则告诉我们AI系统如何推理,据此我们设计一些算法来计算或者估算由概率论导出的表达式。其次,我们可以用概率和统计从理论上分析我们提出的AI系统的行为。

1.为什么要使用概率

计算机科学的许多分支处理的实体大部分都是完全确定且必然的。程序员通常可以安全地假定CPU将完美地执行每条机器指令。硬件错误确实会发生,但它们足够罕见,以致于大部分软件应用在设计时并不需要考虑这些因素的影响。鉴于许多计算机科学家和软件工程师在一个相对干净和确定的环境中工作,机器学习对于概率论的大量使用是很令人吃惊的。

这是因为机器学习通常必须处理不确定量,有时也可能需要处理随机(非确定性的)量。不确定性和随机性可能来自多个方面。至少从20世纪80年代开始,研究人员就对使用概率论来量化不确定性提出了令人信服的论据。这里提出的许多论点都是根据Pearl (1988)总结或启发得到的。几乎所有的活动都需要能够在不确定性存在时进行推理。事实上,除了那些被定义为真的数学声明,我们很难认定某个命题是千真万确的或者确保某件事一定会发生。

不确定性有三种可能的来源:

  1. 被建模系统内在的随机性。例如,大多数量子力学的解释,都将亚原子粒子的动力学描述为概率的。我们还可以创建一些我们假设具有随机动态的理论情境,例如一个假想的纸牌游戏,在这个游戏中我们假设纸牌真正混洗成了随机顺序。
  2. 不完全观测。即使是确定的系统,当我们不能观测到所有驱动系统行为的变量时,该系统也会呈现随机性。例如,在Monty Hall问题中,一个游戏节目的参赛者被要求在三个门之间选择并且赢得放置在选中门后的奖金。两扇门通向山羊,第三扇门通向一辆汽车。选手选择所导致的结果是确定的,但是站在选手的角度,结果是不确定的。
  3. 不完全建模。当我们使用一些必须舍弃某些观测信息的模型时,舍弃的信息会导致模型的预测出现不确定性。例如,假设我们制作了一个机器人,它可以准确地观察周围每一个对象的位置。如果预测这些对象将来的位置时机器人采用的是离散化的空间,那么离散化使得机器人立即变得不能确定对象的精确位置:每个对象都可能处于它被观察到占据的离散单元的任何位置。

尽管我们的确需要一种用以对不确定性进行表示和推理的方法,但是概率论并不能明显地提供我们在人工智能领域需要的所有工具。概率论最初的发展是为了分析事件发生的频率。我们可以很容易地看出概率论,对于像在扑克牌游戏中抽出一手特定的牌这种事件的研究中,是如何使用的。这类事件往往是可以重复的。当我们说一个结果发生的概率为p,就意味着如果我们反复实验(例如,抽取一手牌)无限次,有p的比例会导致这样的结果。这种推理似乎并不立即适用于那些不可重复的命题。如果一个医生诊断了病人,并说该病人患流感的几率为40%,这意味着非常不同的事情——我们既不能让病人有无穷多的副本,也没有任何理由去相信病人的不同副本在具有不同的潜在条件下表现出相同的症状。在医生诊断病人的情况下,我们用概率来表示一种信任度( degree of belief),其中1表示非常肯定病人患有流感,而0表示非常肯定病人没有流感。前面一种概率,直接与事件发生的频率相联系,被称为频率派概率( frequentist probability);而后者,涉及到确定性水平,被
称为贝叶斯概率( Bayesian probability )。

如果要列出一些关于不确定性的常识推理中我们希望其具有的性质,那么满足这些性质的唯一一点就是将贝叶斯概率和频率派概率视为等同的。例如,如果我们要在扑克牌游戏中根据玩家手上的牌计算她能够获胜的概率,我们和医生情境使用完全相同的公式,就是我们依据病人的某些症状计算她是否患病的概率。有关一个小集合的常识假设为什么能够导出相同公理的细节必须深人了解这两种概率,参.见Ramsey (1926)。
概率可以被看作是用于处理不确定性的逻辑扩展。逻辑提供了一套形式化的规则,可以在给定某些命题是真或假的假设下,判断另外-些命题是真的还是假的。概率论提供了一套形式化的规则,可以在给定一些命题的似然后,计算其他命题为真的似然。

2.随机变量

随机变量( random variable )是可以随机地取不同值的变量。我们通常用无格式字体(plain typeface)中的小写字母来表示随机变量本身,而用手写体中的小写字母来表示随机变量能够取到的值。例如,x1和x2都是随机变量x可能的取值。就其本身而言,一个随机变量只是对可能的状态的描述;它必须伴随着一个概率分布来指定每个状态的可能性。随机变量可以是离散的或者连续的。离散随机变量拥有有限或者可数无限多的状态。注意这些状态不一定非要是整数;它们也可能只是一些被命名的状态而没有数值。连续随机变量伴随着实数值。

3.概率分布

概率分布( probability distribution)用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性大小。我们描述概率分布的方式取决于随机变量是离散的还是连续的。

离散型变量和概率质量函数

离散型变量的概率分布可以用概率质量函数/(概率分布律)(probability mass function, PMF)来描述。我们通常用大写字母P 来表示概率质量函数。通常每一个随机变量都会有一个不同的概率质量函数,并且必须根据随机变量来推断所使用的PMF,而不是根据函数的名称来推断;例如,P(x) 通常和P(y) 不一样。

概率质量函数将随机变量能够取得的每个状态映射到随机变量取得该状态的概率。x=x的概率用P(x)来表示,概率为1表示x=x是确定的,概率为0表示x= x是不可能发生的。有时为了使得PMF的使用不相互混淆,我们会明确写出随机变量的名称: P(x= x)。有时我们会先定义一个随机变量,然后用~符号来说明它遵循的分布: x~ P(x)。

概率质量函数可以同时作用于多个随机变量。这种多个变量的概率分布被称为联合概率分布(joint probability distribution)。 P(x= x,y= y)表示x=x和y= y同时发生的概率。我们也可以简写为P(x, y)。
如果一个函数P是随机变量x的PMF,必须满足下面这几个条件:

  • P的定义域必须是x所有可能状态的集合。

  • ∀ x ∈ x , 0 ≤ P ( x ) ≤ 1 \forall x \in \mathrm{x}, 0 \leq P(x) \leq 1 xx,0P(x)1不可能发生的事件概率为0,并且不存在比这概率更低的状态。类似的,能够确保一定发生的事件概率为1,而且不存在比这概率更高的状态。

  • ∑ x ∈ x P ( x ) = 1 \sum_{x \in \mathrm{x}} P(x)=1 xxP(x)=1​这条性质称之为归一化的( normalized )。如果没有这条性质,当我们计算很多事件其中之一发生的概率时可能会得到大于1的概率。
    ∑ i P ( x = x i ) = ∑ i 1 k = k k = 1 \sum_{i} P\left(\mathrm{x}=x_{i}\right)=\sum_{i} \frac{1}{k}=\frac{k}{k}=1 iP(x=xi)=ik1=kk=1

连续型变量和概率密度函数

当我们研究的对象是连续型随机变量时,我们用概率密度函数(probability density function, PDF )而不是概率质量函数来描述它的概率分布。如果一个函数p是概率密度函数,必须满足下面这几个条件:

  • P的定义域必须是x所有可能状态的集合。
  • ∀ x ∈ X , p ( x ) ≥ 0 \forall x \in \mathrm{X}, p(x) \geq 0 xX,p(x)0注意,我们并不要求p(x)≤1
  • ∫ p ( x ) d x = 1 \int p(x) d x=1 p(x)dx=1

概率密度函数p(x)并没有直接对特定的状态给出概率,相对的,它给出了落在面积为dx的无限小的区域内的概率为p(x)dx。

我们可以对概率密度函数求积分来获得点集的真实概率质量。特别地,x落在集合S中的概率可以通过p(x)对这个集合求积分来得到。在单变量的例子中,x落在区间[a,b]的概率是 ∫ [ a , b ] p ( x ) d x \int_{[a, b]} p(x) d x [a,b]p(x)dx

为了给出一个连续型随机变量的PDF 的例子,我们可以考虑实数区间上的均匀分布。我们可以使用函数u(x; a; b),其中a 和b 是区间的端点且满足b > a。符号“;’’ 表示‘‘以什么为参数’’;我们把x 作为函数的自变量,a 和b 作为定义函数的参数。为了确保区间外没有概率,我们对所有的x ∉ \notin /​ [a; b],令u(x; a; b) = 0。在[a; b]内,有u(x; a; b) = 1/(b-a)。我们可以看出任何一点都非负。另外,它的积分为1。我们通常用x ~ U(a; b) 表示x 在[a; b] 上是均匀分布的。

4.边缘概率

有时候,我们知道了一组变量的联合概率分布,但想要了解其中一个子集的概率分布。这种定义在子集上的概率分布被称为边缘概率分布( marginal probability distribution )。

例如,假设有离散型随机变量x和y,并且我们知道P(x, y)。我们可以依据下面的求和法则( sum rule)来计算P(x):
∀ x ∈ x , P ( x = x ) = ∑ y P ( x = x , y = y ) \forall x \in \mathrm{x}, P(\mathrm{x}=x)=\sum_{y} P(\mathrm{x}=x, \mathrm{y}=y) xx,P(x=x)=yP(x=x,y=y)
‘‘边缘概率’’ 的名称来源于手算边缘概率的计算过程。当P(x; y) 的每个值被写在由每行表示不同的x 值,每列表示不同的y 值形成的网格中时,对网格中的每行求和是很自然的事情,然后将求和的结果P(x) 写在每行右边的纸的边缘处。

对于连续型变量,我们需要用积分替代求和:
p ( x ) = ∫ p ( x , y ) d y p(x)=\int p(x, y) d y p(x)=p(x,y)dy

5.条件概率

在很多情况下,我们感兴趣的是某个事件,在给定其他事件发生时出现的概率。这种概率叫做条件概率。我们将给定x= x,y=y发生的条件概率记为P(y=y|x=x)。这个条件概率可以通过下面的公式计算:
P ( y = y ∣ x = x ) = P ( y = y , x = x ) P ( x = x ) P(\mathrm{y}=y \mid \mathrm{x}=x)=\frac{P(\mathrm{y}=y, \mathrm{x}=x)}{P(\mathrm{x}=x)} P(y=yx=x)=P(x=x)P(y=y,x=x)
条件概率只在P(x = x) > 0 时有定义。我们不能计算给定在永远不会发生的事件上的条件概率。

这里需要注意的是,不要把条件概率和计算当采用某个动作后会发生什么相混淆。假定某个人说德语,那么他是德国人的条件概率是非常高的,但是如果随机选择的一个人会说德语,他的国籍不会因此而改变。计算一个行动的后果被称为干预8查询(intervention query)。干预查询属于因果模型(causal modeling)的范畴

6.条件概率的链式法则

任何多维随机变量的联合概率分布,都可以分解成只有一个变量的条件概率相乘的形式:
P ( x ( 1 ) , … , x ( n ) ) = P ( x ( 1 ) ) Π i = 2 n P ( x ( i ) ∣ x ( 1 ) , … , x ( i − 1 ) ) P\left(\mathrm{x}^{(1)}, \ldots, \mathrm{x}^{(n)}\right)=P\left(\mathrm{x}^{(1)}\right) \Pi_{i=2}^{n} P\left(\mathrm{x}^{(i)} \mid \mathrm{x}^{(1)}, \ldots, \mathrm{x}^{(i-1)}\right) P(x(1),,x(n))=P(x(1))Πi=2nP(x(i)x(1),,x(i1))
这个规则被称为概率的链式法则( chain rule)或者乘法法则( product rule )。它可以直接从式(4)条件概率的定义中得到。例如,使用两次定义可以得到
P ( a , b , c ) = P ( a ∣ b , c ) P (   b , c ) P (   b , c ) = P (   b ∣ c ) P ( c ) P ( a , b , c ) = P ( a ∣ b , c ) P (   b ∣ c ) P ( c ) \begin{aligned} P(\mathrm{a}, \mathrm{b}, \mathrm{c}) &=P(\mathrm{a} \mid \mathrm{b}, \mathrm{c}) P(\mathrm{~b}, \mathrm{c}) \\ P(\mathrm{~b}, \mathrm{c}) &=P(\mathrm{~b} \mid \mathrm{c}) P(\mathrm{c}) \\ P(\mathrm{a}, \mathrm{b}, \mathrm{c}) &=P(\mathrm{a} \mid \mathrm{b}, \mathrm{c}) P(\mathrm{~b} \mid \mathrm{c}) P(\mathrm{c}) \end{aligned} P(a,b,c)P( b,c)P(a,b,c)=P(ab,c)P( b,c)=P( bc)P(c)=P(ab,c)P( bc)P(c)

7.独立性和条件独立性

两个随机变量x和y,如果它们的概率分布可以表示成两个因子的乘积形式,并且一个因子只包含x另一个因子只包含y,我们就称这两个随机变量是相互独立的( independent ):
∀ x ∈ x , y ∈ y , p ( x = x , y = y ) = p ( x = x ) p ( y = y ) \forall x \in \mathrm{x}, y \in \mathrm{y}, p(\mathrm{x}=x, \mathrm{y}=y)=p(\mathrm{x}=x) p(\mathrm{y}=y) xx,yy,p(x=x,y=y)=p(x=x)p(y=y)
如果关于x和y的条件概率分布对于z的每一个值都可以写成乘积的形式,那么这两个隨机变量x和y在给定随机变量z时是条件独立的(conditionally independent ):
∀ x ∈ x , y ∈ y , p ( x = x , y = y ) = p ( x = x ) p ( y = y ) ∀ x ∈ x , y ∈ y , z ∈ z , p ( x = x , y = y ∣ z = z ) = p ( x = x ∣ z = z ) p ( y = y ∣ z = z ) \forall x \in \mathrm{x}, y \in \mathrm{y}, p(\mathrm{x}=x, \mathrm{y}=y)=p(\mathrm{x}=x) p(\mathrm{y}=y)\forall x \in \mathrm{x}, y \in \mathrm{y}, z \in \mathrm{z}, p(\mathrm{x}=x, \mathrm{y}=y \mid \mathrm{z}=z)=p(\mathrm{x}=x \mid \mathrm{z}=z) p(\mathrm{y}=y \mid \mathrm{z}=z) xx,yy,p(x=x,y=y)=p(x=x)p(y=y)xx,yy,zz,p(x=x,y=yz=z)=p(x=xz=z)p(y=yz=z)
我们可以采用一种简化形式来表示独立性和条件独立性:x$\perp y 表 示 x 和 y 相 互 独 立 , x y 表示x 和y 相互独立,x yxyx\perp $y | z 表示x 和y 在给定z 时条件独立。

8.期望、方差和协方差概念

函数f(x) 关于某分布P(x) 的期望( expectation)或者期望值( expected value)是指,当x由P产生,f作用于x时,f(x)的平均值。对于离散型随机变量,这可以通过求和得到:
E x ∼ P [ f ( x ) ] = ∑ P ( x ) f ( x ) \mathbb{E}_{\mathrm{x} \sim P}[f(x)]=\sum P(x) f(x) ExP[f(x)]=P(x)f(x)
对于连续型随机变量可以通过求积分得到:
E x ∼ p [ f ( x ) ] = ∫ p ( x ) f ( x ) d x \mathbb{E}_{\mathrm{x} \sim p}[f(x)]=\int p(x) f(x) d x Exp[f(x)]=p(x)f(x)dx
当概率分布在上下文中指明时,我们可以只写出期望作用的随机变量的名称来进行简化,例如Ex[f(x)]。如果期望作用的随机变量也很明确,我们可以完全不写脚标,就像E[f(x)]。默认地,我们假设E[.] 表示对方括号内的所有随机变量的值求平均。类似的,当没有歧义时,我们还可以省略方括号。期望是线性的,例如:
E x [ α f ( x ) + β g ( x ) ] = α E x [ f ( x ) ] + β E x [ g ( x ) ] \mathbb{E}_{\mathrm{x}}[\alpha f(x)+\beta g(x)]=\alpha \mathbb{E}_{\mathrm{x}}[f(x)]+\beta \mathbb{E}_{\mathrm{x}}[g(x)] Ex[αf(x)+βg(x)]=αEx[f(x)]+βEx[g(x)]
方差( variance)衡量的是当我们对x依据它的概率分布进行采样时,随机变量x的函数值会呈现多大的差异:
Var ⁡ ( f ( x ) ) = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ] \operatorname{Var}(f(x))=\mathbb{E}\left[(f(x)-\mathbb{E}[f(x)])^{2}\right] Var(f(x))=E[(f(x)E[f(x)])2]
当方差很小时,f(x)的值形成的簇比较接近它们的期望值。方差的平方根被称为标准差( standard deviation )。

协方差( covariance)在某种意义上给出了两个变量线性相关性的强度以及这些变量的尺度:
Cov ⁡ ( f ( x ) , g ( y ) ) = E [ ( f ( x ) − E [ f ( x ) ] ) ( g ( y ) − E [ g ( y ) ] ) ] \operatorname{Cov}(f(x), g(y))=\mathbb{E}[(f(x)-\mathbb{E}[f(x)])(g(y)-\mathbb{E}[g(y)])] Cov(f(x),g(y))=E[(f(x)E[f(x)])(g(y)E[g(y)])]
协方差的绝对值如果很大则意味着变量值变化很大并且它们同时距离各自的均值很远。如果协方差是正的,那么两个变量都倾向于同时取得相对较大的值。如果协方差是负的,那么其中一个变量倾向于取得相对较大的值的同时,另一个变量倾向于取得相对较小的值,反之亦然。其他的衡量指标如相关系数( correlation)将每个变量的贡献归一化,为了只衡量变量的相关性而不受各个变量尺度大小的影响。==协方差和相关性是有联系的,但实际上不同的概念。==它们是有联系的,因为两个变量如果相互独立那么它们的协方差为零,如果两个变量的协方差不为零那么它们一定是相关的。然而,独立性又是和协方差完全不同的性质。==两个变量如果协方差为零,它们之间一定没有线性关系。独立性是比零协方差的要求更强,因为独立性还排除了非线性的关系。两个变量相互依赖但是具有零协方差是可能的。==例如,假设我们首先从区间[-1, 1]上的均匀分布中采样出一个实数x。然后我们对一个随机变量s进行采样。s以0.5的概率值为1,否则为-1。我们可以通过令y= sx来生成一个随机变量y。显然,x和y不是相互独立的,因为x完全决定了y的尺度。然而,Cov(x,y) = 0。

随机向量x∈Rn的==协方差矩阵(covariance matrix)==是一个n x n的矩阵,并且满足
Cov ⁡ ( x ) i , j = Cov ⁡ ( x i , x j ) \operatorname{Cov}(\mathrm{x})_{i, j}=\operatorname{Cov}\left(\mathrm{x}_{i}, \mathrm{x}_{j}\right) Cov(x)i,j=Cov(xi,xj)
协方差矩阵的对角元是方差:
Cov ⁡ ( x ) i , j = Var ⁡ ( x i ) \operatorname{Cov}(\mathrm{x})_{i, j}=\operatorname{Var}(\mathrm{x}_{i}) Cov(x)i,j=Var(xi)

9.常用的概率分布

  • Bernoulli 分布:

    Bernoulli 分布(Bernoulli distribution)(二项分布)是单个二值随机变量的分布。它由单个参数ϕ ∈ [0; 1] 控制,ϕ 给出了随机变量等于1 的概率。它具有如下的一些性质:
    P ( x = 1 ) = ϕ P ( x = 0 ) = 1 − ϕ P ( x = x ) = ϕ x ( 1 − ϕ ) 1 − x E x [ x ] = ϕ Var ⁡ x ( x ) = ϕ ( 1 − ϕ ) \begin{array}{c} P(\mathrm{x}=1)=\phi \\ P(\mathrm{x}=0)=1-\phi \\ P(\mathrm{x}=x)=\phi^{x}(1-\phi)^{1-x} \\ \mathbb{E}_{\mathrm{x}}[\mathrm{x}]=\phi \\ \operatorname{Var}_{\mathrm{x}}(\mathrm{x})=\phi(1-\phi) \end{array} P(x=1)=ϕP(x=0)=1ϕP(x=x)=ϕx(1ϕ)1xEx[x]=ϕVarx(x)=ϕ(1ϕ)

  • Multinoulli 分布:

    Multinoulli分布( multinoulli distribution) 或者范畴分布( categorical distribution)是指在具有k个不同状态的单个离散型随机变量上的分布,其中k是一个有限值。Multinoulli分布由向量p∈[0,1]k-1参数化,其中每一个分量Pi表示第i个状态的概率。最后的第k个状态的概率可以通过1- 1Tp给出。注意我们必须限制1Tp≤1。Multinoulli 分布经常用来表示对象分类的分布,所以我们很少假设状态1具有数值1之类的。因此,我们通常不需要去计算Multinoulli分布的随机变量的期望和方差。

    Bernoulli分布和Multinulli分布足够用来描述在它们领域内的任意分布。它们能够描述这些分布,不是因为它们特别强大,而是因为它们的领域很简单;它们可以对那些,能够将所有的状态进行枚举的离散型随机变量进行建模。当处理的是连续型随机变量时,会有不可数无限多的状态,所以任何通过少量参数描述的概率分布都必须在分布上加以严格的限制。

  • 高斯分布:

    实数上最常用的分布就是正态分布(normal distribution),也称为高斯分布(Gaussian distribution):
    N ( x ; μ , σ 2 ) = 1 2 π σ 2 exp ⁡ ( − 1 2 σ 2 ( x − μ ) 2 ) \mathcal{N}\left(x ; \mu, \sigma^{2}\right)=\sqrt{\frac{1}{2 \pi \sigma^{2}}} \exp \left(-\frac{1}{2 \sigma^{2}}(x-\mu)^{2}\right) N(x;μ,σ2)=2πσ21 exp(2σ21(xμ)2)
    正态分布由两个参数控制,μ∈R和σ∈(0,∞)。参数μ给出了中心峰值的坐标,这也是分布的均值: E[x]= μ。分布的标准差用σ表示,方差用σ2表示。当我们要对概率密度函数求值时,我们需要对σ平方并且取倒数。当我们需要经常对不同参数下的概率密度函数求值时,一种更高效的参数化分布的方式是使用参数β∈(0,∞),来控制分布的精度(precision) (或方差的倒数):
    N ( x ; μ , β − 1 ) = β 2 π exp ⁡ ( − 1 2 β ( x − μ ) 2 ) \mathcal{N}\left(x ; \mu, \beta^{-1}\right)=\sqrt{\frac{\beta}{2 \pi}} \exp \left(-\frac{1}{2} \beta(x-\mu)^{2}\right) N(x;μ,β1)=2πβ exp(21β(xμ)2)
    采用正态分布在很多应用中都是一个明智的选择。当我们由于缺乏关于某个实数上分布的先验知识而不知道该选择怎样的形式时,正态分布是默认的比较好的选择,其中有两个原因。

    第一,我们想要建模的很多分布的真实情况是比较接近正态分布的。中心极限定理(central limit theorem)说明很多独立随机变量的和近似服从正态分布。这意味着在实际中,很多复杂系统都可以被成功地建模成正态分布的噪声,即使系统可以被分解成一些更结构化的部分。
    第二,在具有相同方差的所有可能的概率分布中,正态分布在实数上具有最大的不确定性。因此,我们可以认为正态分布是对模型加入的先验知识量最少的分布。

    正态分布可以推广到Rn 空间,这种情况下被称为多维正态分布(multivariate normal distribution)。它的参数是一个正定对称矩阵Σ:
    N ( x ; μ , Σ ) = 1 ( 2 π ) n det ⁡ ( Σ ) exp ⁡ ( − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) \mathcal{N}(\boldsymbol{x} ; \boldsymbol{\mu}, \boldsymbol{\Sigma})=\sqrt{\frac{1}{(2 \pi)^{n} \operatorname{det}(\Sigma)}} \exp \left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^{\top} \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\right) N(x;μ,Σ)=(2π)ndet(Σ)1 exp(21(xμ)Σ1(xμ))
    参数μ仍然表示分布的均值,只不过现在是向量值。参数Σ给出了分布的协方差矩阵。和单变量的情况类似,当我们希望对很多不同参数下的概率密度函数多次求值时,协方差矩阵并不是一个很高效的参数化分布的方式,因为对概率密度函数求值时需要对Σ求逆。我们可以使用一个精度矩阵( precision matrix) β进行替代:
    N ( x ; μ , β − 1 ) = det ⁡ ( β ) ( 2 π ) n exp ⁡ ( − 1 2 ( x − μ ) ⊤ β ( x − μ ) ) \mathcal{N}\left(\boldsymbol{x} ; \boldsymbol{\mu}, \boldsymbol{\beta}^{-1}\right)=\sqrt{\frac{\operatorname{det}(\boldsymbol{\beta})}{(2 \pi)^{n}}} \exp \left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^{\top} \boldsymbol{\beta}(\boldsymbol{x}-\boldsymbol{\mu})\right) N(x;μ,β1)=(2π)ndet(β) exp(21(xμ)β(xμ))
    我们常常把协方差矩阵固定成一个对角阵。一个更简单的版本是各向同性(isotropic)高斯分布,它的协方差矩阵是一个 标量乘以单位阵。

  • 指数分布和Laplace 分布

    在深度学习中,我们经常会需要一个在 x = 0点处取得边界点(sharp point)的分布。为了实现这一目的,我们可以使用指数分布( exponential distribution ):
    p ( x ; λ ) = λ 1 x ≥ 0 exp ⁡ ( − λ x ) p(x ; \lambda)=\lambda 1_{x \geq 0} \exp (-\lambda x) p(x;λ)=λ1x0exp(λx)
    指数分布使用指示函数(indicator function)1x>0来使得当x取负值时的概率为零。一个联系紧密的概率分布是Laplace分布( Laplace distribution),它允许我们在任意一点μ处设置概率质量的峰值
    Laplace ⁡ ( x ; μ , γ ) = 1 2 γ exp ⁡ ( − ∣ x − μ ∣ γ ) . \operatorname{Laplace}(x ; \mu, \gamma)=\frac{1}{2 \gamma} \exp \left(-\frac{|x-\mu|}{\gamma}\right) . Laplace(x;μ,γ)=2γ1exp(γxμ).

  • Dirac 分布和经验分布

    在一些情况下,我们希望概率分布中的所有质量都集中在一个点上。这可以通过Dirac delta函数( Dirac delta function) δ(x)定义概率密度函数来实现:
    p ( x ) = δ ( x − μ ) p(x)=\delta(x-\mu) p(x)=δ(xμ)
    Dirac delta函数被定义成在除了0以外的所有点的值都为0,但是积分为1。Dirac delta函数不像普通函数一样对 x的每一个值都有一个实数值的输出,它是一种不同类型的数学对象,被称为广义函数( generalized function), 广义函数是依据积分性质定义的数学对象。我们可以把Dirac delta函数想成一系列函数的极限点, 这一系列函数把除0以外的所有点的概率密度越变越小。

    通过把p(x) 定义成δ函数左移- μ \mu μ个单位,我们得到了一个在x = μ \mu μ​ 处具有无限窄也无限高的峰值的概率质量

    Dirac 分布经常作为经验分布(empirical distribution)的一个组成部分出现:
    p ^ ( x ) = 1 m ∑ i = 1 m δ ( x − x ( i ) ) \hat{p}(\boldsymbol{x})=\frac{1}{m} \sum_{i=1}^{m} \delta\left(\boldsymbol{x}-\boldsymbol{x}^{(i)}\right) p^(x)=m1i=1mδ(xx(i))
    经验分布将概率密度1/m赋给m个点中的每一个,这些点是给定的数据集或者采样的集合。只有在定义连续型随机变量的经验分布时,Dirac delta函数才是必要的。对于离散型随机变量,情况更加简单:经验分布可以被定义成一个Multinoulli分布,对于每一个可能的输入,其概率可以简单地设为在训练集上那个输入值的经验频率( empirical frequency )。

    当我们在训练集上训练模型时,我们可以认为从这个训练集上得到的经验分布指明了我们采样来源的分布。关于经验分布另外一种重要的观点是,它是训练数据的似然最大的那个概率密度函数。

10.常用函数的性质

某些函数在处理概率分布时经常会出现,尤其是深度学习的模型中用到的概率分布。
其中一个函数是logistic sigmoid函数:
σ ( x ) = 1 1 + exp ⁡ ( − x ) \sigma(x)=\frac{1}{1+\exp (-x)} σ(x)=1+exp(x)1
logistic sigmoid 函数通常用来产生Bernoulli 分布中的参数φ,因为它的范围是(0,1),处在φ的有效取值范围内。sigmoid函数在变量取绝对值非常大的正值或负值时会出现饱和(saturate)现象,意味着函数会变得很平,并且对输人的微小改变会变得不敏感。

在这里插入图片描述

另外一个经常遇到的函数是softplus函数(softplus function):
ζ ( x ) = log ⁡ ( 1 + exp ⁡ ( x ) ) . \zeta(x)=\log (1+\exp (x)) . ζ(x)=log(1+exp(x)).
softplus 函数可以用来产生正态分布的 β和α参数,因为它的范围是(0;1)。当处理包含sigmoid 函数的表达式时它也经常出现。softplus 函数名来源于它是另外一个函数的平滑(或‘‘软化’’)形式,这个函数是x+=max(0,x)

在这里插入图片描述

常用性质:
σ ( x ) = exp ⁡ ( x ) exp ⁡ ( x ) + exp ⁡ ( 0 ) d d x σ ( x ) = σ ( x ) ( 1 − σ ( x ) ) 1 − σ ( x ) = σ ( − x ) log ⁡ σ ( x ) = − ζ ( − x ) d d x ζ ( x ) = σ ( x ) ∀ x ∈ ( 0 , 1 ) , σ − 1 ( x ) = log ⁡ ( x 1 − x ) ∀ x > 0 , ζ − 1 ( x ) = log ⁡ ( exp ⁡ ( x ) − 1 ) ζ ( x ) = ∫ − ∞ x σ ( y ) d y ζ ( x ) − ζ ( − x ) = x \begin{array}{c} \sigma(x)=\frac{\exp (x)}{\exp (x)+\exp (0)} \\ \frac{d}{d x} \sigma(x)=\sigma(x)(1-\sigma(x)) \\ 1-\sigma(x)=\sigma(-x) \\ \log \sigma(x)=-\zeta(-x) \\ \frac{d}{d x} \zeta(x)=\sigma(x) \\ \forall x \in(0,1), \sigma^{-1}(x)=\log \left(\frac{x}{1-x}\right) \\ \forall x>0, \zeta^{-1}(x)=\log (\exp (x)-1) \\ \zeta(x)=\int_{-\infty}^{x} \sigma(y) d y \\ \zeta(x)-\zeta(-x)=x \end{array} σ(x)=exp(x)+exp(0)exp(x)dxdσ(x)=σ(x)(1σ(x))1σ(x)=σ(x)logσ(x)=ζ(x)dxdζ(x)=σ(x)x(0,1),σ1(x)=log(1xx)x>0,ζ1(x)=log(exp(x)1)ζ(x)=xσ(y)dyζ(x)ζ(x)=x

11.贝叶斯规则

我们经常会需要在已知P(y|x)时计算P(x|y)。幸运的是,如果还知道P(x),我们可以用贝叶斯规则( Bayes’ rule)来实现这一目的:
P ( x ∣ y ) = P ( x ) P ( y ∣ x ) P ( y ) P(\mathrm{x} \mid \mathrm{y})=\frac{P(\mathrm{x}) P(\mathrm{y} \mid \mathrm{x})}{P(\mathrm{y})} P(xy)=P(y)P(x)P(yx)
注意到P(y) 出现在上面的公式中,它通常使用 P ( y ) = ∑ x P ( y ∣ x ) P ( x ) P(\mathrm{y})=\sum_{x} P(\mathrm{y} \mid x) P(x) P(y)=xP(yx)P(x)来计算,所以我们并不需要事先知道P(y) 的信息。

贝叶斯规则可以从条件概率的定义直接推导得出,但我们最好记住这个公式的名字,因为很多文献通过名字来引用这个公式。这个公式是以Reverend Thomas Bayes来命名的,他是第一个发现这个公式特例的人。这里介绍的一般形式由Pierre-Simon Laplace 独立发现。

12.信息论

信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化。它最初被发明是用来研究在一个含有噪声的信道上用离散的字母表来发送消息,例如通过无线电传输来通信。在这种情况下,信息论告诉我们如何设计最优编码,以及计算从一个特定的概率分布上采样得到、使用多种不同编码机制的消息的期望长度。在机器学习中,我们也可以把信息论应用在连续型变量上,而信息论中一些消息长度的解释不怎么使用。信息论是电子工程和计算机科学中许多领域的基础。我们主要使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性。

信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。消息说:“今天早上太阳升起”信息量是如此之少以至于没有必要发送,但-条消息说:“今天早上有日食”信息量就很丰富。
我们想要通过这种基本想法来量化信息。特别地:

  • 非常可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。
  • 较不可能发生的事件具有更高的信息量。
  • 独立事件应具有增量的信息。例如,投掷的硬币两次正面朝上传递的信息量,
    应该是投掷一次硬币正面朝上的信息量的两倍。

为了满足.上述三个性质,我们定义一个事件x=x的自信息(self-information )为
I ( x ) = − log ⁡ P ( x ) I(x)=-\log P(x) I(x)=logP(x)
我们总是用log来表示自然对数,其底数为e。因此我们定义的I(x)单位是奈特( nats)。一奈特是以1/e的概率观测到一个事件时获得的信息量。使用底数为2的对数时,单位是比特(bit)或者香农(shannons);通过比特度量的信息只是通过奈特度量信息的常数倍。

当x是连续的,我们使用类似的关于信息的定义,但有些来源于离散形式的性质就丢失了。例如,一个具有单位密度的事件信息量仍然为0,但是不能保证它一定发生。自信息只处理单个的输出。我们可以用香农熵( Shannon entropy )来对整个概率分布中的不确定性总量进行量化:
H ( x ) = E x ∼ P [ I ( x ) ] = − E x ∼ P [ log ⁡ P ( x ) ] H(\mathrm{x})=\mathbb{E}_{\mathrm{x} \sim P}[I(x)]=-\mathbb{E}_{\mathrm{x} \sim P}[\log P(x)] H(x)=ExP[I(x)]=ExP[logP(x)]
也记作H§。换言之,一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量。它给出了对依据概率分布P 生成的符号进行编码所需的比特数在平均意义上的下界(当对数底数不是2 时,单位将有所不同)。那些接近确定性的分布(输出几乎可以确定) 具有较低的熵;那些接近均匀分布的概率分布具有较高的熵。下图给出了一个说明。当x 是连续的,香农熵被称为微分熵(differential entropy)。

该图说明了更接近确定性的分布是如何具有较低的香农熵,而更接近均匀分布的分布是如何具有较高的香农熵。水平轴是p,表示二值随机变量等于1的概率。熵由(p-1) log(1-p)-p logp给出。当p接近0时,分布几乎是确定的,因为随机变量几乎总是0。当p接近1时,分布也几乎是确定的,因为随机变量几乎总是1。当p=0.5时,熵是最大的,因为分布在两个结果(0和1)上是均匀的。

如果我们对于同一个随机变量x有两个单独的概率分布P(x) 和Q(x),我们可以使用KL散度( Kullback-Leibler (KL) divergence)来衡量这两个分布的差异:
D K L ( P ∥ Q ) = E x ∼ P [ log ⁡ P ( x ) Q ( x ) ] = E x ∼ P [ log ⁡ P ( x ) − log ⁡ Q ( x ) ] D_{\mathrm{KL}}(P \| Q)=\mathbb{E}_{\mathrm{x} \sim P}\left[\log \frac{P(x)}{Q(x)}\right]=\mathbb{E}_{\mathrm{x} \sim P}[\log P(x)-\log Q(x)] DKL(PQ)=ExP[logQ(x)P(x)]=ExP[logP(x)logQ(x)]
在离散型变量的情况下,KL散度衡量的是,当我们使用一种被设计成能够使得概率分布Q产生的消息的长度最小的编码,发送包含由概率分布P产生的符号的消息时,所需要的额外信息量(如果我们使用底数为2的对数时,信息量用比特衡量,但在机器学习中,我们通常用奈特和自然对数。)

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

KL散度是不对称的。假设我们有一个分布p(x),并且希望用另一个分布q(x) 来近似它。我们可以选择最小化DkL(p|q)或最小化DkL(q|p)。为了说明每种选择的效果,我们令p是两个高斯分布的混合,令q为单个高斯分布。选择使用KL散度的哪个方向是取决于问题的。一些应用需要这个近似分布q在真实分布p放置高概率的所有地方都放置高概率,而其他应用需要这个近似分布q在真实分布p放置低概率的所有地方都放置高概率。KL散度方向的选择反映了对于每种应用,优先考虑哪一种选择。(左)最小化DkL(p|q)的效果。在这种情况下,我们选择一个q使得它在P具有高概率的地方具有高概率。当p具有多个峰时,q选择将这些峰模糊到一起,以便将高概率质量放到所有峰上。(右)最小化DkL(q|p)的效果。在这种情况下,我们选择一个q使得它在P具有低概率的地方具有低概率。当p具有多个峰并且这些峰间隔很宽时,如该图所示,最小化KL散度会选择单个峰,以避免将概率质量放置在p的多个峰之间的低概率区域中。这里,我们说明当q被选择成强调左边峰时的结果。我们也可以通过选择右边峰来得到KL散度相同的值。如果这些峰没有被足够强的低概率区域分离,那么KL散度的这个方向仍然可能
选择模糊这些峰。

13.结构化概率模型

机器学习的算法经常会涉及到在非常多的随机变量上的概率分布。通常,这些概率分布涉及到的直接相互作用都是介于非常少的变量之间的。使用单个函数来描述整个联合概率分布是非常低效的(无论是计算上还是统计上)。

我们可以把概率分布分解成许多因子的乘积形式,而不是使用单一的函数来表示概率分布。例如,假设我们有三个随机变量a,b和c,并且a影响b的取值,b影响c的取值,但是a和c在给定b时是条件独立的。我们可以把全部三个变量的概率分布重新表示为两个变量的概率分布的连乘形式:
p ( a , b , c ) = p ( a ) p (   b ∣ a ) p ( c ∣ b ) p(\mathrm{a}, \mathrm{b}, \mathrm{c})=p(\mathrm{a}) p(\mathrm{~b} \mid \mathrm{a}) p(\mathrm{c} \mid \mathrm{b}) p(a,b,c)=p(a)p( ba)p(cb)
这种分解可以极大地减少用来描述一个分布的参数数量。每个因子使用的参数数目是它的变量数目的指数倍。这意味着,如果我们能够找到一种使每个因子分布具有更少变量的分解方法,我们就能极大地降低表示联合分布的成本。

我们可以用图来描述这种分解。这里我们使用的是图论中的“图”的概念:由一些可以通过边互相连接的顶点的集合构成。当我们用图来表示这种概率分布的分解,我们把它称为结构化概率模型( structured probabilistic model) 或者图模型( graphical model )。

有两种主要的结构化概率模型:有向的和无向的。两种图模型都使用图G,其中图的每个节点对应着一个随机变量,连接两个随机变量的边意味着概率分布可以表示成这两个随机变量之间的直接作用。

有向(directed )模型使用带有有向边的图,它们用条件概率分布来表示分解,就像上面的例子。特别地,有向模型对于分布中的每一个随机变量 xi都包含着一个影响因子,这个组成xi条件概率的影响因子被称为xi的父节点,记为Pag(xi):
p ( x ) = ∏ p ( x i ∣ P a G ( x i ) ) p(\mathrm{x})=\prod p\left(\mathrm{x}_{i} \mid P a_{\mathcal{G}}\left(\mathrm{x}_{i}\right)\right) p(x)=p(xiPaG(xi))
在这里插入图片描述

关于随机变量a; b; c; d 和e 的有向图模型。这幅图对应的概率分布可以分解为:
p ( a , b , c , d , e ) = p ( a ) p (   b ∣ a ) p ( c ∣ a , b ) p (   d ∣ b ) p ( e ∣ c ) p(\mathrm{a}, \mathrm{b}, \mathrm{c}, \mathrm{d}, \mathrm{e})=p(\mathrm{a}) p(\mathrm{~b} \mid \mathrm{a}) p(\mathrm{c} \mid \mathrm{a}, \mathrm{b}) p(\mathrm{~d} \mid \mathrm{b}) p(\mathrm{e} \mid \mathrm{c}) p(a,b,c,d,e)=p(a)p( ba)p(ca,b)p( db)p(ec)
该图模型使我们能够快速看出此分布的一些性质。例如,a 和c 直接相互影响,但a 和e 只有通过c 间接相互影响。

无向( undirected )模型使用带有无向边的图,它们将分解表示成一组函数; 不像有向模型那样,这些函数通常不是任何类型的概率分布。G中任何满足两两之间有边连接的顶点的集合被称为团。无向模型中的每个团C(i)都伴随着一个因子φ(i)(C(i))。这些因子仅仅是函数,并不是概率分布。每个因子的输出都必须是非负的,但是并没有像概率分布中那样要求因子的和或者积分为1。
随机变量的联合概率与所有这些因子的乘积成比例(proportional)——意味着因子的值越大则可能性越大。当然,不能保证这种乘积的求和为1。所以我们需要除以一个归一化常数Z来得到归一-化的概率分布,归一化常数Z被定义为φ函数乘积的所有状态的求和或积分。概率分布为:
p ( x ) = 1 Z ∏ i ϕ ( i ) ( C ( i ) ) p(\mathrm{x})=\frac{1}{Z} \prod_{i} \phi^{(i)}\left(C^{(i)}\right) p(x)=Z1iϕ(i)(C(i))

在这里插入图片描述

关于随机变量a; b; c; d 和e 的无向图模型。这幅图对应的概率分布可以分解为
p ( a , b , c , d , e ) = 1 Z ϕ ( 1 ) ( a , b , c ) ϕ ( 2 ) ( b , d ) ϕ ( 3 ) ( c , e ) p(\mathrm{a}, \mathrm{b}, \mathrm{c}, \mathrm{d}, \mathrm{e})=\frac{1}{Z} \phi^{(1)}(\mathrm{a}, \mathrm{b}, \mathrm{c}) \phi^{(2)}(\mathrm{b}, \mathrm{d}) \phi^{(3)}(\mathrm{c}, \mathrm{e}) p(a,b,c,d,e)=Z1ϕ(1)(a,b,c)ϕ(2)(b,d)ϕ(3)(c,e)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

取个名字真难啊啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值