分类目录归档:人工智能

5.3.3 EM算法简单实例

根据表2的情况可知,只要知道Z,就能求出参数\theta=(p_1,p_2)。但要知道Z,又必须通过参数\theta推导出来,否则无法推出z的具体情况。为此,我们可以把Z看成一个隐变量,这样完整的数据就是(X,Z),通过极大似然估计对参数\theta=(p_1,p_2)进行估计,因存在隐变量z,一般无法直接用解析式表达参数,故采用迭代的方法进行优化,具体步骤如下:
输出:模型参数\theta
EM算法具体步骤
(1)先初始化参数\theta_0=(p_1^0,p_2^0)
(2)假设第t次循环时参数为\theta_t,求Q函数
Q(\theta,\theta_t)=\sum_{i=1}^m\sum_{z_i} p(z_i|x_i,\theta_t )logp(x_i,z_i|\theta)
(3)对Q函数中的参数\theta实现极大似然估计,得到\theta_{t+1}
\theta_{t+1}= \underset{\theta}{argmax} Q(\theta,\theta_t)
(4)重复第(2)和(3)步,直到收敛或指定循环步数。
其中第(2)步需要求\p(z_i|x_i,\theta_t ),我们定义为:
根据这个迭代步骤,第1次迭代过程如下:
(1)初始化参数\theta_0=(p_1^0,p_2^0)
(2)E步,计算Q函数
先计算隐含变量的后验概率:p(z_i|x_i,\theta_t )

按同样方法,完成剩下4轮投掷,最后得到投掷统计信息如下表所示:
\mu_i=p(z_i|x_i,\theta_t )的实现过程可用二项分布的实现,具体过程如下:

计算Q函数,设y_i表示第i轮投掷出现正面的次数。
(3)对Q函数中的参数\theta实现极大似然估计,得到\theta_1
\theta_{1}= \underset{\theta}{argmax} Q(\theta,\theta_0)
对Q函数求导,并令导数为0。
所以\theta_1=(0.35,0.53)
进行第2轮迭代:
基于第1轮获取的参数\theta_1=(0.35,0.53),进行第2轮EM计算:
计算每个实验中选择的硬币是1和2的概率,计算Q函数(E步),然后在计算M步,得\theta_2=(0.40,0.48)
继续迭代,直到收敛到指定阈值或循环次数。

以上计算过程可用Python实现

具体代入如下:
把硬币1用A表示,硬币1用B表示。H(或1)表示正面朝上,T(或0)表示反面朝上。
1、导入需要的库

2、把观察数据写成矩阵

3、单步EM算法,迭代一次算法实现步骤

4、执行

[0.35, 0.53]
与手工计算的结果一致。
5、EM算法主循环
EM算法的主循环,给定循环的两个终止条件:模型参数变化小于阈值;循环达到最大次数。

6、测试

运行结果
[[0.35, 0.53], 1]

运行结果
[0.4, 0.48], 2]

运行结果
[[0.44, 0.44], 5]

练习

用python实现以下这个简单实例:

5.3EM算法

EM (expectation-maximization)算法又称期望最大化算法,是Dempster, Laind, Rubin于1977年提出的求参数极大似然估计的一种迭代优化策略, 用于含有隐变量(Hidden variable)的概率模型参数的极大似然估计(或极大后验概率估计),它可以从非完整数据集中对参数进行极大似然估计,是一种非常简单实用的学习算法。
如果模型涉及的数据都是可观察数据,可以直接使用极大似然估计或极大后验概率估计的方法求解模型参数。但当模型有隐变量时,不能简单使用极大似然估计,需要迭代的方法,迭代一般分为两步:E步,求期望;M步,求极大值。
如何更好理解EM算法?这里有几个问题,理解这些问题有助理解EM算法。
本节将回答如下几个问题:
• 何为隐变量?如何理解隐变量?采用隐变量的概率分布与全概率公式中完备概率有何区别?
• 为何使用EM算法?为何通过迭代方法能不断靠近极值点?迭代结果是递增吗?
通过简单实例说明如何使用EM算法。
• EM算法的推导过程
• 为何选择q(z│x,θ)作为逼近分布?
• EM算法是一种方法或思想,EM有哪些使用场景。

5.3.1 何为隐变量?

在统计学中,随机变量,如x_1=[1,3,7,4],x_2=[5,2,9,8]等变量称为可观察的变量,与之相对的往往还有一些不可观测的随机变量,我们称之为隐变量或潜变量。隐变量可以通过使用数学模型依据观测得的数据被推断出来。
为了更好说明隐变量,我们先看一个简单实例。
现在有两枚硬币1和2,假设随机抛掷后正面朝上概率分别为p_1,p_2。为了估计这两个概率,做如下实验,每次取一枚硬币,连掷5次,记录下结果,这里每次试验的硬币为一随机变量,连掷5次,每次对应一个随机变量,详细信息如下:
表1—硬币投掷试验
从表1可知,这个模型的数据都是可观察数据,根据这个试验结果,不难算出硬币1和2正面朝上的概率:

从表1可知,每个实验选择的是硬币1还是硬币2,是可观察数据,如果把抛掷硬币1或2正面朝上的概率作为参数\theta=(p_1,p_2 ),也可以极大似然估计的方法得到。
这个通过求极大似然估计得到的参数与前面用通常计算频率的完全一致。
如果不告诉你每次投掷的是哪个硬币,或不知道每次投掷的是哪个硬币,此时,每次投掷的是哪个硬币就是一个无法观察的数据,这个数据我们通常称作为隐变量。用隐变量z表示没观察数据,其它各项不变。表1就变成表2的格式。表2—含隐含变量z的硬币投掷试验

5.3.2 EM算法

5.3.3 EM算法简单实例

5.3.4 EM算法推导

5.3.5 EM算法的收敛性

5.3.6从变分推断看EM算法

5.3.7 为何选择变分函数p(z│x,θ)作为逼近分布,而不是其它函数?

5.3.8 EM算法应用于k-means聚类

5.3.9 EM算法应用于高斯混合模型

5.3.10 EM算法核心思想

EM算法是一类算法,该算法核心是解决了带隐变量的参数估计。通过迭代的方法求参数的极大似然估计。具体步骤为:
(1)初始化参数\theta_0
(2)构建含隐变量的目标函数,如Q(\theta,\theta_t)函数,或欧氏距离等。
(3)求目标函数的极值,得到参数\theta_t
重复第(2)和(3)步,直到收敛或指定迭代次数。
极大似然估计和EM算法,与其说是一种算法,不如说是一种解决的框架,如拉格朗日乘数法、蒙特卡洛算法等一样,针对特定场景的特定算法,和线性回归,逻辑回归,决策树等一些具体的算法不同,极大似然和EM算法更加宽泛,是很多具体算法的基础。

5.3.11 EM算法的应用场景

EM算法的应用场景,一般而言,就是处理含有隐变量的极大似然估计问题,具体可分为以下一些具体情况:
1、存在缺失数据:缺失数据包括类别标签或缺失某些特征的值等情况。
2、无监督学习:聚类:对个样本所属族作为隐变量
3、隐马尔科夫模型:训练隐马尔科夫模型中的参数
4、运用在语言模型上:对文本进行分类
5、生成模型(VAE,GAN等)中应用
6、Gibbs采样中应用

5.3.12 EM算法的推广

5.2 极大后验概率估计

极大似然估计将参数θ看作是确定值,但其值未知,即是一个普通变量,是属于频率派,与频率派相对应的就是贝叶斯派,极大后验概率、EM算法等属于贝叶斯派。

5.2.1频率派与贝叶斯派的区别

关于参数估计,统计学界的两个学派分别提供了两种不同的解决方案。
频率派认为参数虽然未知,但是客观存在的固定值,通过优化似然函数等准则来确定其值。
贝叶斯派认为参数是未观察到的随机变量,其本身也可有分布,因此,可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布,比如极大后验概率。

5.2.2经验风险最小化与结构风险最小化

经验风险最小化与结构风险最小化是对于损失函数而言的。可以说经验风险最小化只侧重训练数据集上的损失降到最低;而结构风险最小化是在经验风险最小化的基础上约束模型的复杂度,使其在训练数据集的损失降到最低的同时,模型不至于过于复杂,相当于在损失函数上增加了正则项,防止模型出现过拟合状态。这一点也符合奥卡姆剃刀原则-简单就是美。
经验风险最小化可以看作是采用了极大似然的参数评估方法,更侧重从数据中学习模型的潜在参数,而且是只看重数据样本本身。这样在数据样本缺失的情况下,模型容易发生过拟合的状态。
而结构风险最小化为了防止过拟合而提出来的策略。过拟合问题往往是由于训练数据少和噪声以及模型能力强等原因造成的。为了解决过拟合问题,一般在经验风险最小化的基础上再引入参数的正则化,来限制模型能力,使其不要过度地最小化经验风险。
在参数估计中,结构风险最小化采用了最大后验概率估计的思想来推测模型参数,不仅仅是依赖数据,还依靠模型参数的先验分布。这样在数据样本不是很充分的情况下,我们可以通过模型参数的先验分布,辅助以数据样本,做到尽可能的还原真实模型分布。
根据大数定律,当样本容量较大时,先验分布退化为均匀分布,称为无信息先验,最大后验估计退化为最大似然估计。

5.2.3 极大大后验概率估计

极大后验概率估计将参数θ视为随机变量,并假设它服从某种概率分布。通过最大化后验概率p(\theta|x)来确定其值。即在样本出现的情况条件下,最大化参数的后验概率。求解时需要假设参数\theta服从某种分布,这个分布需要预先知道,故又称为先验概率。
假设参数\theta服从分布的概率函数为p(\theta|x)根据贝叶斯公式,参数\theta对已知样本的后验概率为:
p(\theta|x)=\frac{p(x|\theta)p(\theta)}{p(x)} \tag{5.4}
考虑到其中概率p(x)与参数\theta无关,所以,最大化后验概率p(\theta|x)等价于最大化p(x|\theta)p(\theta),即:
\underset{\theta}{argmax} p(\theta|x)= \underset{\theta}{argmax} p(x|\theta)p(\theta)\tag{5.5}
由此可得极大后验概率的对数似然估计为:
\hat{\theta}=\underset{\theta}{argmax}log L(\theta)=\underset{\theta}{argmax}(\sum_{i=1}^n logp(x_i|\theta)+logp(\theta) )\tag{5.6}
式(5.5)比式(5.2)多了logp(\theta)这项,如果参数\theta服从均匀分布,即其概率函数为一个常数,则最大化后验概率估计与最大化参数估计一致。或者,也可以反过来,认为MLE是把先验概率p(\theta)认为等于1,即认为\theta是均匀分布。
例1:假设n个样本,它们属于伯努利分布B(p),其中取值为1的样本有m个,取值为0的样本有n-m个,假设参数p服从正态分布N(0.3,0.01),样本集的极大后验概率函数为:
为求L(p)的最大值,对其求导,并令导数为0,可得:
\frac{m}{p}-\frac{n-m}{1-p}-100(p-0.3)=0
其中0<p<1,当n=100,m=30时,可解得:
p=0.3
这个值与极大似然估计的计算的值一样。

5.2.4 极大后验概率估计的应用

极大后验概率估计与极大似然估计相比,多了一个先验概率p(\theta),通过这个先验概率可以给模型增加一些正则约束。假设模型的参数\theta服从正太分布。
 p(\theta)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(\theta-\mu)^2}{2\sigma^2})
其中正态分布的参数\mu,\sigma为已知。由式(5.6)可知,随机变量\theta的极大后验概率估计为
\hat{\theta}=\underset{\theta}{argmax}(\sum_{i=1}^n logp(x_i|\theta)+logp(\theta) )
其中
在极大似然估计的基础上加了正态分布的先验,这等同于在已有的损失函数上加了L2正则。
可以看出,最大后验概率等价于平方损失的结构风险最小化。

5.1极大似然估计

5.1.1概率与似然

在统计中,似然与概率是不同的概念。概率是已知参数,对结果可能性的预测。似然是已知结果,对参数是某个值的可能性预测。
对函数p(x|\theta),其中x表示某一个具体的数据;\theta表示模型的参数。针对\theta的情况,可分为两种如下两种情况:
(1)\theta已知确定的,x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少。
(2)x是已知确定的,\theta是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少。

5.1.2极大似然估计核心思想

我们通常使用贝叶斯完成分类任务,不过为了求后验概率,如P(B|A),其前提条件比较苛刻,既要只要先经验概率,如P(A)、P(B),又要知道条件概率P(A|B),即似然函数。但在实际生活中要获取条件概率P(A|B)包含一个随机变量的全部信息,样本数据可能不多等原因,获取这个概率密度函数难度比较大。
为解决这一问题,人们又另辟蹊径。把估计完全未知的概率密度转化为假设概率密度或分布已知,仅参数需估计。这里就将概率密度估计问题转化为参数估计问题,为此,极大似然估计就诞生了,它是一种参数估计方法。当然了,概率密度函数的选取很重要,模型正确,在样本区域无穷时,我们会得到较准确的估计值,如果模型错了,估计出来的参数意义也不大。
极大似然估计的核心思想是什么呢?我们可用图5-1来说明:
图5-1 极大似然的示意图
假设有两个外观完全相同的箱子A、B,其中A箱有99个白球,1个黑球;B箱有99个黑球,1个白球。一次实验需取出一球,结果取出的是黑球。
问:黑球从哪个箱子取出?
大多数人都会说,“黑球最有可能是从B箱取出。”,这个推断符合人们的经验。而“最有可能”就是“极大似然”之意,这种朴素的想法就称为“极大似然原理”。
极大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。
实际上,极大似然估计可以把它看作是一个反推。多数情况下我们是根据已知条件来推算结果,而极大似然估计是已经知道了结果(如已知样本数据),然后寻求使该结果出现的可能性最大的条件(如概率参数),以此作为估计值。
从上面这个简单实例,不难看出极大似然估计的是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。
以上文字的含义,如何用数学式子表示呢?
假设有一个样本集D={x_1,x_2,\cdots,x_n},其中n表示样本数,各样本x_i满足独立同分布。
那么该分布的联合概率可表示为:p(D|\theta),它又称为相对于样本集{x_1,x_2,\cdots,x_n}的参数θ的似然函数(linkehood function),参数\theta可以是一个标量或向量。
p(D|\theta)=p(x_1,x_2,\cdots,x_n|\theta)=\prod_{i=1}^n p(x_i|\theta)
假设\hat{\theta}为使出现该组样本的概率最大的参数值,即样本集的极大似然估计,则有:
\hat{\theta}=\underset{\theta}{argmax}\prod_{i=1}^n p(x_i|\theta)
为便于计算,一般采用两边取对数log来处理,用L(θ)表示似然函数,即
\mathcal L(\theta)=\sum_{i=1}^n logp(x_i|\theta) \tag{5.1}
由此可得:
\hat{\theta}=\underset{\theta}{argmax}\mathcal L(\theta)=\underset{\theta}{argmax}\sum_{i=1}^n logp(x_i|\theta) \tag{5.2}
\sum_{i=1}^n logp(x_i|\theta)为凸函数,如果同时可导,那么θ ̂就是下列方程的解:
\nabla_{\theta} \mathcal L(\theta)=\sum_{i=1}^n \nabla_{\theta}logp(x_i|\theta)=0
极大似然估计的求解一般通过梯度下降法求解。

5.1.3 求极大似然估计实例

下面通过实例来说明求极大似然估计的具体方法。
例1:假设n个样本,它们属于伯努利分布B(p),其中取值为1的样本有m个,取值为0的样本有n-m个,样本集的极大似然函数为:
L(p)=p^m(1-p)^{n-m}
两边取对数log得:
logL(p)=mlogp+(n-m)log⁡(1-p)⁡
对logL(p)求导并设为0:
\frac{m}{p}-\frac{n-m}{1-p}=0
解得:
p=\frac{m}{n}
例2:假设n个样本\{x_1,x_2,\cdots,x_n\},它们属于正态分布N(\mu,\sigma^2),,该样本集的极大似然函数为:
求极大似然函数估计值的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数,令导数为0,得到似然方程;
(4)解似然方程,得到的参数即为所求。

5.1.4 极大似然估计的应用

极大似然估计与分类任务损失函数-交叉熵一致
设逻辑回归的预测函数为:
g(x)=\frac{1}{1+exp(-w^T x+b)}\tag{5.3}
其中向量w,b为参数,x为输入向量。把参数及输入向量做如下扩充
[w,b]→w,[x,1]→x
式(5.3)可简化为:
g(x)=\hat y=\frac{1}{1+exp(-w^T x+b)}
对二分类任务来说,上式为样本为正的概率,样本属于负的概率为1-g(x)。
假设给定样本为(x_i,y_i),i=1,2,\cdots,mx_i为n维向量(即每个样本有n个特征),y_i为类标签,取值为0或1。根据伯努利分布的概率函数,每个样本的概率可写成下式:
交叉熵一般作为分类任务的损失函数,由此可得,对数似然函数logL(w)与交叉熵只相差一个负号,即对极大似然估计等价于最小化损失函数(交叉熵)实际上效果是一致的!
极大似然估计与回归任务中的平方根误差一致
线性回归问题一般构建预测函数:
y=\sum_{i=1}^m w_i x_i
然后利用最小二乘法求导相关参数。另外,线性回归还可以从建模条件概率𝑝(𝑦|𝒙)的角度来进行参数估计,两种可谓殊途同归。
假设预测值y为一随机变量,该值下式为
y=\sum_{i=1}^m w_i x_i +\varepsilon=w^Tx+\varepsilon\
其中\varepsilon为服从标准正态分布,即均值为0,方差为\sigma^2,根据随机变量函数的分布相关性质可知,y服从均值为w^T x,方差为\sigma^2正太分布,即有:
J(w)是线性回归的均方差损失函数,H(w)为似然函数。可见这里最小化J(w)与极大似然估计是等价的。

第4章 极限定理

4.1 切比雪夫不等式

切比雪夫不等式可以对随机变量偏离期望值的概率做出估计,这是推导大数定律的基础。
假设随机变量X的数学期望为\mu,标准差为\sigma,则对任意的\varepsilon>0,有:
p(|x-\mu|\ge\varepsilon)\le \frac{\sigma^2}{\varepsilon^2}\tag{4.1}
切比雪夫不等式的直观解释是随机变量离数学期望越远(即\varepsilon越大),落入该区域的概率越小。下面进行证明,对于连续型随机变量,概率密度函数为p(x),则
p(|x-\mu|\ge\varepsilon)=\int_{-\infty}^{\mu-\varepsilon} p(x)dx+\int_{\mu+\varepsilon}^{\infty} p(x)dx\tag{4.2}
式(4.2)所求的就是图4-1中阴影部分的面积。
图4-1 切比雪夫不等式计算示意图

4.2 大数定律

大数定律是一种描述当试验次数很大时所呈现的概率性质的定律。但是注意到,大数定律并不是经验规律,而是在一些附加条件上经严格证明了的定理,它是一种自然规律因而通常不叫定理而是大数“定律”。
具体而言, 大数定律表明, 对一列独立同分布的随机变量而言, 当随机变量的个数n\to\infty时, 其均值几乎必然收敛于其期望。这种偶然中包含着某种必然的规律,就称为大数定律。
1、切比雪夫大数定律:
假设有一组互相独立的随机变量: X_1,X_2,\cdots,X_n,它们的方差var[X_i]均存在且有公共上界,即var[X_i ]<C,i=1,2,\cdots,n,它们的均值为: \bar{X}=\frac{1}{n}\sum_{i=1}^n X_i 则对任意的\varepsilon>0,有:
\lim_{n\to\infty}p\left(\left|\bar{X}-\frac{1}{n}\sum_{i=1}^n E[X_i]\right|<\varepsilon\right)=1
大数定律描述了大量重复试验的结果,即结果的平均值应接近预期值,并随着试验次数的增加,结果将趋于预期值。
证明如下:
均值X ̅的数学期望为:
E[\bar{X}]=\frac{1}{n}\sum_{i=1}^n E[X_i]
由于随机变量 X_1,X_2,\cdots,X_n互相独立,且有公共上界,因此它们均值得方差满足:
大数定律告诉我们,随机事件重复发生后,其可能性结果会趋于一种稳定的状态。它揭示了随机事件发生频率的长期稳定性,体现了偶然之中包含一种必然。

4.3 中心极限定理

大数定律说明随机变量的平均值X以概率收敛于期望值,中心极限定理则进一步说明X收敛于何种分布。
中心极限定理的主要思想:如果随机变量:  X_1,X_2,\cdots,X_n满足一定条件,当n足够大时,X ̅近似服从正态分布。因此,在机器学习与深度学习中,通常假设随机变量服从正态分布,背后的理论基础就是中心极限定理。
此定理只是被称作极限定理. 随着人们发现它在概率论中有着极为重要的位置, 才把它称之为中心极限定理。
林德贝格-勒维(Lindeberg-Levy)中心极限定理,又称为独立同分布中心极限定理。
设随机变量\{X_i\},i=1,\cdots,n独立同分布,数学期望为\mu,方差为\sigma^2>0,它们的均值:
\bar{X}=\frac{1}{n}\sum_{i=1}^n X_i
\bar{X}的数学期望为E[\bar{X}]=\mu,方差var[\bar{X}]=\frac{\sigma^2}{n},对随机变量的均值进行归一化处理:
\frac{\bar{X}-\mu}{\sigma/\sqrt{n}}
则有:
\lim_{n \to \infty}p\left(\frac{\bar{X}-\mu}{\sigma/\sqrt{n}}<x\right)=\int_{-\infty}^{x} \frac{1}{\sqrt{2\pi}} e^{\frac{- t^2}{2}}dt=\Phi(x)
其中\Phi(x)为标准正态分布的分布函数。
中心极限定理的应用之一:在没有办法得到总体全部数据的情况下,我们可以用样本来估计总体。
大数定律和中心极限定理可以看做随机变量的零阶和一阶“泰勒展开”,其中大数定律是随机变量的“零阶估计”,中心极限定理是在大数定律成立下的“一阶导数”,在极限下高阶小量可忽略。

4.4 极限定理实例

假设我们现在观测一个人掷骰子。这个骰子是公平的,也就是说掷出1~6的概率都是1/6,这是一个典型的独立同分布的试验,我们来模拟大数定律和中心极限定理的作用。
1、生成数据

3.5023
1.7011
平均值接近3.5很好理解。 因为每次掷出来的结果是1、2、3、4、5、6。 每个结果的概率是1/6。所以加权平均值就是3.5
2、可视化生成数据
我们把生成的数据用直方图画出来,看随机生成的各个数的统计情况。


图4-2 随机数构成的直方图
从图4-2可以看出,各个数的总数基本相同,差别不大。
3、抽一组抽样来试试
从生成的数据中随机抽取10个数字,不放回的方式 可以看到,我们只抽10个的时候,样本的平均值(3.1)会距离总体的平均值(3.5)有所偏差。 有时候我们运气不好,抽出来的数字可能偏差可能更大。

[2 2 4 5 2 3 4 2 6 1]
3.1

如果随机抽取1000个数,其平均值为 3.489非常接近其期望值3.5.这验证了大数定律的强大。

4、中心极限定理发挥作用
现在我们抽取1000组,每次在原随机向量的基础上加一个随机数。每组的平均值构成一个随机变量序列\{\bar{X}_i,i=1,2,\cdots,1000\},该序列的分布近似正态分布


图4-3  序列的分布近似正态分布

3.7随机变量函数的分布

3.7.1 随机变量函数的分布

随机变量函数是以随机变量为自变量的函数,它将一个随机变量映射成另一个随机变量,二者一般有不同的分布。
定理:设随机变量X具有概率密度f_X(x),-\infty<x<\infty,关于X的函数 Y=g(X) 且函数g(x)处处可导,g'(x)>0g'(x)<0 ,反函数存在,g(x)的反函数g^{-1}(x)=h(x),则Y是连续型随机变量,其概率密度为
 f_Y(y)=f(x)=\begin{cases}f_X(x)(h(y))|h'(y)|,&\alpha<y<\beta\\0,&other\end{cases}
其中 \alpha=min\{g(-\infty),g(\infty)\},\beta=max\{g(-\infty),g(\infty)\} 证明:先证g'(x)>0 (即函数g(x)为单调递增的情况)
设随机变量X,Y的分布函数分别为F_X(x),F_Y(y),先求随机变量Y的分布函数F_Y(y)
对该函数求导得随机变量Y的密度函数
这个结论可以推广到n个互相独立的随机变量的情况。

3.7.2 多维随机变量函数的分布

其中|J|为雅可比行列式的绝对值。

3.7.3 高斯混合模型

高斯混合模型(Gaussian Mixed Model,缩写为GMM)指的是多个高斯分布函数的线性组合,其概率密度函数定义为
p(x)=\sum_{i=1}^K\omega_i N(x|\mu_i,\Sigma_i)
其中x为随机向量,K为高斯分布的数量,\omega_i为选择第i个高斯分布的概率(或权重),\mu_i,\Sigma_i分别为第i个高斯分布的均值向量、方差矩阵。选择第i个高斯分布的\omega_i满足概率的规范:
\omega_i\ge 0,\Sigma_{i=1}^K\omega_i =1
理论上GMM可以拟合出任意类型的分布,图3-7为一维高斯混合模型的概率密度函数图像,该概率密度函数为3个高斯分布线性组合,具体表达式为
p(x)=0.2*N(X|1.0,{0.5}^2 )+0.3*N(X|2.0,{1.0}^2 )+0.5*N(X|3.0,{1.5}^2 )

图3-7 一维高斯混合模型的概率密度函数图像
通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布等情况)。如图3-8所示,由2个高斯分布得到二维高斯混合模型生成的2类样本。
图3-8二维高斯混合模型生成的样本
从图3-8可知,很多数据集可以看成是GMM生成的样本数据,为此,我们可以反过来,根据已知样本数据,推导出产生样本数据背后的GMM。这方面的应用非常广泛,如基于GMM的聚类算法就是典型案例之一。
K均值算法(k-means)是聚类算法的代表,其主要思路是:
(1)选择k个类族中心;
(2计算各点到各族中心距离,将样本点划分到最近的类簇中心;
(3)重新计算k个类族中心;
(4)不断迭代直至收敛。
不难发现这个过程和EM迭代的方法极其相似,事实上,若将样本的类族数看做为“隐变量”Z,类族中心看作样本的分布参数θ,k-means就是通过EM算法来进行迭代的,
与我们这里不同的是,k-means的目标是最小化样本点到其对应类中心的距离和,基于GMM的聚类方法将采用极大化似然函数的方法估计模型参数。
如何计算高斯混合模型的参数呢?这里我们像单个高斯模型那样使用最大似然法来,因为对于每个观测数据点来说,事先并不知道它是属于哪个子分布的(属于哪个分布属于隐变量),因此似然函数中的对数里面还有求和,对于每个子模型都有未知的参数\omega_i,\mu_i,\Sigma_i,这就是GMM参数估计的问题。要解决这个问题,直接求导无法计算,可以通过迭代的EM算法求解。具体的EM算法,参数估计部分将详细介绍。

3.6 随机变量的数字特征

在机器学习、深度学习中经常需要分析随机变量的数据特征及随机变量间的关系等,对于这些指标的衡量在概率统计中有相关的内容,如用来衡量随机变量的取值大小的期望(Expectation)值或平均值、衡量随机变量数据离散程度的方差(Variance)、揭示随机向量间关系的协调方差(Convariance)等。这些衡量指标的定义及公式就是本节主要内容。

3.6.1 数学期望

数学期望是平均值的推广,是加权平均值的抽象,对随机变量,期望是在概率意义下的均值。普通的均值没有考虑权重或概率,对于n个变量x_1,x_2,\cdots,x_n,它们的算术平均值为:
 \frac{x_1+\cdots+x_n}{n}=\frac{1}{n}\sum_{i=1}^n x_i
这意味着变量取每个值的可能性相等,或每个取值的权重相等。但在实际生活中,变量的每个取值存在不同的权重或概率,因此算计平均值这种统计方式太简单,无法刻画变量的性质。如何更好刻画随机变量的属性?使用变量的数据期望效果更好,变量的数学期望是一种带概率(或权重)的均值。
首先我们看随机变量的数学期望的定义:
对离散型随机变量X,设其分布律为:
P(X=x_k)=p_k,k=1,2,3,\cdots\tag{3.22}
若级数\sum_{k=1}^{\infty}x_k p_k 绝对收敛,则称级数\sum_{k=1}^{\infty}x_k p_k 的值为随机变量X的数学期望,记为:
E(X)=\sum_{k=1}^{\infty}x_k p_k\tag{3.23}
对于连续型随机变量X,设其概率密度函数为f(x),若积分
\int_{-\infty}^{\infty} xf(x)dx \tag{3.24}
绝对收敛,则积分的值称为随机变量X的数学期望,记为:
E(X)=\int_{-\infty}^{\infty} xf(x)dx \tag{3.25}
如果是随机变量函数,如随机变量X的g(x)的期望,公式与式(3.24)或式(3.25)类似,只要把x换成g(x)即可,即随机变量函数g(x)的期望为:
设Y=g(X),则有
E(Y)=E(g(X))=\sum_{k=1}^{\infty}g(x_k)p_k\tag{3.26}
对连续型的期望值为:
E(Y)=E(g(X))=\int_{-\infty}^{\infty}g(x)f(x)dx\tag{3.27}
期望有一些重要性质,具体如下:
设a,b为一个常数,X和Y是两个随机变量。则有:
(1)E(a)=a
(2)E(aX)=aE(X)
(3)E(aX+bY)=aE(X)+bE(Y) (3.28)
(4)当X和Y相互独立时,则有:
E(XY)=E(X)E(Y) (3.29)
数学期望也常称为均值,即随机变量取值的平均值之意,当然这个平均,是指以概率为权的加权平均。期望值可大致描述数据的大小,但无法描述数据的离散程度,这里我们介绍一种刻画随机变量在其中心位置附近离散程度的数字特征,即方差。如何定义方差?

3.6.2 方差与标准差

假设随机向量X有均值E(X)=a。试验中,X取的值当然不一定恰好是a,可能会有所偏离。偏离的量X-a本身也是一个随机变量。如果我们用X-a来刻画随机变量X的离散程度,当然不能取X-a的均值,因E(X-a)=0 ,说明正负偏离抵消了,当然我们可以取|X-a|这样可以防止正负抵消的情况,但绝对值在实际运算时很不方便。人们就考虑另一种方法,先对X-a平方以便消去符号,然后再取平均得E(X-a)^2E(X-EX)^2把它作为度量随机变量X的取值的离散程度衡量,这个量就叫做X的方差(即差的方),随机变量的方差记为:
var(X)=E(X-EX)^2 \tag{3.30}
方差的平方根被称为标准差,即\sigma=\sqrt{var(X)}
根据方差的定义不难得到:
var(X)=E[X^2]-E^2 X
var(kX)=k^2 var(X)

3.6.3 协方差

对于多维随机向量,如二维随机向量(X,Y)如何刻画这些分量间的关系?显然均值、方差都无能为力。这里我们引入协方差的定义,我们知道方差是X-EX乘以X-EX的均值,如果我们把其中一个换成Y-EY,就得到E(X-EX)(Y-EY),其形式接近方差,又有X,Y两者的参与,由此得出协方差的定义,随机变量X,Y的协方差,记为:Cov(X,Y)
 Cov(X,Y) =E(X-EX)(Y-EY) \tag{3.31}
协方差的另一种表达方式:
Cov(X,Y) =E(XY)-EX\times EY \tag{3.32}
方差可以用来衡量随机变量与均值的偏离程度或随机变量取值的离散度,而协方差则可衡量随机变量间的相关性强度,如果X与Y独立,那么它们的协方差为0。反之,并不一定成立,独立性比协方差为0的条件更强。不过如果随机变量X、Y都是正态分布,此时独立和协方差为0是同一个概念。
当协方差为正时,表示随机变量X、Y为正相关;如果协方差为负,表示随机变量X、Y为负相关。
为了更好的衡量随机变量间的相关性,我们一般使用相关系数来衡量,相关系数将每个变量的贡献进行归一化,使其只衡量变量的相关性而不受各变量尺寸大小的影响,相关系统的计算公式如下:
 \rho_{xy}=\frac{Cov(X,Y)}{\sqrt{Var(X)}\sqrt{Var(Y)}} \tag{3.33}
由式(3.33)可知,相关系统是在协方差的基础上进行了正则化,从而把相关系数的值限制在[-1,1]之间。如果\rho_{xy}=1,说明随机变量X、Y是线性相关的,即可表示为Y=kX+b,其中k,b为任意实数,且k>0;如果\rho_{xy}=-1,说明随机变量X、Y是负线性相关的,即可表示为Y=-kX+b,其中k>0。
上面我们主要以两个随机变量为例,实际上协方差可以推广到n个随机变量的情况或n维的随机向量。对n维的随机向量,可以得到一个n\times n的协方差矩阵,而且满足:
(1)协方差矩阵为对称矩阵,即Cov(X_i,X_j)=Cov(X_j,X_i)
(2)协方差矩阵的对角元素为方差:即Cov(X_i,X_i)=Var(X_i)
求随机变量的方差、协方差、相关系统等,使用Python的numpy相关的函数,如用numpy.var求方差,numpy.cov求协方差,使用numpy.corrcoef求相关系数,比较简单,这里就不展开来说。
在机器学习中多维随机向量,通常以矩阵的方式出现,所以求随机变量间的线性相关性,就转换为求矩阵中列或行的线性相关性。这里我们举一个简单实例,来说明如果分析向量间的线性相关性并可视化结果。这个例子中使用的随机向量(或特征值)共有三个,一个是气温(temp),一个体感温度(atemp),一个是标签(label)说明共享单车每日出租量,以下是这三个特征的部分数据:
表4-2 共享单车示例数据

这里使用Python中数据分析库pandas及画图库matplotlib、sns等。

从图3-6可以看出,特征temp与atemp是线性相关的,其分布接近正态分布。

图3-6 特征分布及相关性

3.5多维随机变量及分布

有些随机现象需要同时用多个随机变量来描述。例如对地面目标射击,弹着点的位置需要两个坐标(X,Y)才能确定,X,Y都是随机变量,而(X,Y)称为一个二维随机变量或二维随机向量,多维随机向量(X_1,X_2,\cdots,X_n)含义依次类推。

3.5.1二维随机变量

1、二维随机变量的定义
设W是一个随机试验,它的样本空间\Omega,设X_1,X_2,\cdots,X_n是定义在Ω上的n个随机变量,由它们构成的随机向量(X_1,X_2,\cdots,X_n),称为n维随机向量或n维随机变量。当n=2时,即(X_1,X_2),称为二维随机向量或二维随机变量。
2、分布函数的定义
设(X,Y)是二维随机变量,对于任意实数x,y,均存在二元函数F(x,y)=p((X\le x)\cap(Y\le y))记作p(X\le x,Y\le y),则将F(x,y)称为二维随机变量(X,Y)的分布函数,或称为随机变量X和Y的联合分布函数。

3.5.2二维离散型随机变量

1、二维离散型随机变量的定义
如果二维随机变量(X,Y)全部可能取到的值是有限对或可列无限多对,则称(X,Y)是离散型随机变量,对应的联合概率分布(或简称为概率分布或分布律)为
p(X=x_i,Y=y_j )=p_{ij}, i,j=1,2,\cdots
例:将一枚均匀的硬币抛掷4次,X表示正面向上的次数,Y表示反面朝上次数,求(X,Y)的概率分布。
解: X的所有可能取值为0,1,2,3,4,Y的所有可能取值为0,1,2,3,4, 因为X+Y=4,所以(X,Y)概率非0的数值对为:
二维随机变量(X,Y)的联合概率分布表为:
2、性质
(1)非负性:p_{ij}\ge 0
(2)规范性:
\sum_{i=1}^{\infty}\sum_{j=1}^{\infty}p_{ij}=1
3、概率分布
二维离散型随机变量(X,Y)的分布函数与概率分布之间有如下关系式:
F(x,y)=\sum_{x_i<x}\sum_{y_i<y}p_{ij}

3.5.3二维连续型随机变量

1、定义
设二维随机变量(X,Y)的联合分布函数为F(x,y),若存在非负可积函数f(x,y),使得对于任意实数 x,y,都
F(x,y)=\int_{-\infty}^{x}\int_{-\infty}^{y}f(u,v)dudv
则称(X,Y)为二维连续型随机变量,函数f (x,y)称为(X,Y) 的联合概率密度函数,简称概率密度或密度函数。

2、密度函数f(x,y)的性质
(1)非负性:f(x,y)\ge 0
(2)规范性:
\int_{-\infty}^{\infty}\int_{-\infty}^{\infty}f(x,y)dxdy=1
(3)当f(x,y)连续时,\frac{\partial^2 F(x,y)}{\partial x \partial y}=f(x,y)
(4)若D是Oxy平面上的任一区域,则随机点(X,Y)落在D内的概率为:
p((X,Y)\in D)=\iint_{(x,y)\in D}f(x,y)dxdy
3、两种常见的二维连续型随机变量的分布
(1)均匀分布
定义:设D是平面上的有界区域,其面积为A,若二维随机变量(X,Y)的概率密度为
f(x,y)=\begin{cases}\frac{1}{A},&(x,y)\in D\\0,&(x,y)\notin D\end{cases}
则称(X,Y)服从区域D上的均匀分布。
可以验证,均匀分布的密度函数f(x,y) 满足密度函数的两个性质。
(2)正态分布
定义:如果(X,Y)的联合密度函数为

例:若(X,Y)的密度函数为
所以,a=6

D的范围请看下图中阴影部分

由此可得:

3.5.4边际分布

对于多维随机变量,如二维随机变量(X,Y),假设其联合概率分布为F(x,y),我们经常遇到求其中一个随机变量的概率分布的情况。这种定义在子集上的概率分布称为边缘概率分布。
例如,假设有两个离散的随机变量X,Y,且知道P(X,Y),那么我们可以通过下面求和的方法,得到边缘概率P(X):
P(X=x)=\sum_y P(X=x,Y=y)\tag{3.9}
对于连续型随机变量(X,Y),我们可以通过联合密度函数f(x,y)来得到边缘密度函数。
f(x)=\int_{-\infty}^{\infty}f(x,y)dy \tag{3.10}
f(y)=\int_{-\infty}^{\infty}f(x,y)dx \tag{3.11}
边缘概率如何计算呢?我们通过一个实例来说明。假设有两个离散型随机变量X,Y,其联合分布概率如表4-1所示。
表4-1:X与Y的联合分布
如果我们要求P(Y=0)的边缘概率,根据式(3.9)可得:
P(Y=0)=P(X=1,Y=0)+P(X=2,Y=0)=0.05+0.28=0.33

3.5.5条件分布

上一节我们介绍了边缘概率,它是多维随机变量一个子集(或分量)上的概率分布。对于含多个随机变量的事件中,经常遇到求某个事件在其他事件发生的概率,例如,在表4-1的分布中,假设我们要求当Y=0的条件下,求X=1的概率?这种概率叫作条件概率。条件概率如何求?我们先看一般情况。
设有两个随机变量X,Y,我们将把X=x,Y=y发生的条件概率记为P(Y=y|X=x),那么这个条件概率可以通过以下公式计算:
P(Y=y|X=x)=\frac{P(Y=y,X=x)}{P(X=x)} \tag{3.12}
条件概率只有在P(X=x)>0时,才有意义,如果P(X=x)=0,即X=x不可能发生,以它为条件就毫无意义。
现在我们来看上面这个例子,根据式(3.12),我们要求的问题就转换为:
P(X=1|Y=0)=\frac{P(X=1,Y=0)}{P(Y=0)} \tag{3.13}
其中P(Y=0)是一个边缘概率,其值为:P(X=1,Y=0)+P(X=2,Y=0)=0.05+0.28=0.33
而P(X=1,Y=0)=0.05.故P(X=1|Y=0)=0.05/0.33=5/33
式(3.12)为离散型随机变量的条件概率,对连续型随机变量也有类似公式。假设(X,Y)为二维连续型随机变量,它们的密度函数为f(x,y),关于Y的边缘概率密度函数为f_Y (y),且满足f_Y (y)>0,假设
 f_{X|Y} (x|y)=\frac{f(x,y)}{f_Y (y)}\tag{3.14}
为在Y=y条件下,关于X的条件密度函数,则
F_{X|Y}(x|y)=\int_{-\infty}^{x}f_{X|Y}(x|y)dx\tag{3.15}
称为在Y=y的条件下,关于X的条件分布函数。
同理,可以得到,在X=x的条件下,关于Y的条件密度函数;
f_{Y|X}(y|x)=\frac{f(x,y)}{f_X(x)}\tag{3.16}
在X=x的条件下,关于Y的条件分布函数为:
F_{Y|X}(y|x)=\int_{-\infty}^{y}f_{Y|X}(y|x)dy\tag{3.17}

3.5.6条件概率的链式法则

条件概率的链式法则,又称为乘法法则,把式(3.12)变形,可得到条件概率的乘法法则:

3.5.7独立性及条件独立性

两个随机变量X,Y,如果它们的概率分布可以表示为两个因子的乘积,且一个因子只含x,另一个因子只含y,那么我们就称这两个随机变量互相独立。这句话可能不好理解,我们换一种方式的来表达。或许更好理解。
如果对\forall x\in X,y\in Y,P(X=x,Y=y)=P(X=x)P(Y=y)成立,那么随机变量X,Y互相独立。
在机器学习中,随机变量为互相独立的情况非常普遍,一旦互相独立,联合分布的计算就变得非常简单。
这是不带条件的随机变量的独立性定义,如果两个随机变量带有条件,如P(X,Y|Z),它的独立性如何定义呢?这个与上面的定义类似。具体定义如下:
如果对\forall x\in X,y\in Y,z\in Z,P(X=x,Y=y|Z=z)=P(X=x|Z=z)P(Y=y|Z=z)成立
那么随机变量X,Y在给定随机变量Z时是条件独立的。
为便于表达,如果随机变量X,Y互相独立,又可记为X\bot Y,如果随机变量X,Y在给定时互相独立,则可记为X\bot Y|Z
以上主要介绍离散型随机变量的独立性和条件独立性,如果是连续型随机变量,我们只要把概率换成随机变量的密度函数即可。
假设X,Y为连续型随机变量,其联合概率密度函数为f(x,y),f_x(x),f_y(y)分别表示关于X,Y的边缘概率密度函数,如果f(x,y)=f_x(x)f_y(y)成立,则称随机变量X,Y互相独立。

3.5.8全概率公式

前面我们介绍了随机事件的全概率公式,这个公式推广到离散型随机变量,假设离散型随机变量X的分布律为:p(x_i)= p_i,i=1,2,\cdots,N
设离散型随机变量Z,它与随机变量X,构成的联合概率为p(x_i,z_j),从而可得
p(x_i)= \sum_{j=1}^M p(x_i,z_j),i=1,2,\cdots,N;j=1,2,\cdots,M
这里我们可以把Z看成是一个隐变量!从全概率这个角度来理解隐变量,是视角之一。

3.5.9 Jensen不等式

Jensen不等式(Jensen's inequality)是以丹麦数学家Johan Jensen命名的,它在概率论、机器学习等领域应用广泛。如利用其证明EM算法、KL散度大于等于0等等。
Jensen不等式与凸函数有关,何为凸函数?
1、凸函数的定义:
假设f(x)为定义在n维欧氏空间R^n中某个凸集S上的函数,如对任何实数t(0\le t\le 1)及S中任意两点x_1,x_2,恒有:
f(tx_1+(1-t)x_2 )\le tf(x_1 )+(1-t)f(x_2)\tag{3.21}
则称函数f(x)在S集上为凸函数。
式(3.21)的几何意义如图3-5所示:
图3-5 凸函数任意两点的割线示意图
从上图可知,凸函数任意两点的割线位于函数图形上方, 这也是Jensen不等式的两点形式。
2、Jensen不等式
对于任意属于S中数据集\{x_i\},如a_i\ge 0\sum_{i=1}^m a_i=1,则利用归纳法可以证明凸函数f(x)满足:
f(\sum_i^m a_i x_i )\le\sum_i^m a_i f(x_i)
Jensen不等式就是式(4.10)的一个两点到m个点的一个推广。如果f(x)是凹函数,只需不等式反号即可。
如果把x作为随机变量,p(x=x_i )=a_i是x的概率分布,Jensen不等式可表示为:
E[X]=\sum_i^m x_i a_i
f(E[X])\le E[f(X)]
如果函数f(x)为严格凸函数,当且仅当随机变量x是常数时(即x_1=x_2=\cdots=x_m),上式不等式取等号,即有:
f(E[X])=E[f(X)]
Jensen不等式可用归纳法证明,这里就不展开说明了。Jensen不等式在证明EM算法时用到。

3.4 随机变量的分布函数

概率分布用来描述随机变量(含随机向量)在每一个可能状态的可能性大小。概率分布有不同方式,这取决于随机变量是离散的还是连续的。
对于随机变量X,其概率分布通常记为P(X=x),或X\sim P(x),表示X服从概率分布P(x)。概率分布描述了取单点值的可能性或概率,但在实际应用中,我们并不关心取某一值的概率,如对离散型随机变量,我们可能关心多个值的概率累加,对连续型随机变量来说,关心在某一段或某一区间的概率等。特别是对连续型随机变量,它在某点的概率都是0。因此,我们通常比较关心随机变量落在某一区间的概率,为此,引入分布函数的概念。
定义:设X是一个随机变量,x_k是任意实数值,函数:
F(x_k)=P(X\leq x_k)\tag{3.7}
称为随机变量X的分布函数。
由(3.7)式不难发现,对任意的实数x_1,x_2(x_1<x_2),有:
P(x_1<X\le x_2)=P(X\le x_2)-P(X\le x_1)=F(x_2)-F(x_1)\tag{3.8}
成立。式(3.8)表明,若随机变量X的分布函数已知,那么可以求出X落在任意一区间[x_1,x_2]的概率。
如果将X看成是数轴上的随机点的坐标,那么,分布函数F(x)在x处的函数值就表示X落在区间(-\infty,x)上的概率。
分布函数是一个普通函数,为此,我们可以利用数学分析的方法研究随机变量。

3.4.1 分布函数的性质

设F(x)是随机变量X的分布函数,则F(x)有如下性质:
1、非降性
F(x)是一个不减函数,
对任意x_1<x_2,F(x_2)-F(x_1 )=p(x_1<X) 即:F(x_1 )\le F(x_2 )
2、有界性
\begin{aligned}0\le F(x) &\le1 \\F(-\infty)&=0\\F(\infty)&=1 \end{aligned}
3、F(x+0)=F(x),即分布函数是右连续的。

3.4.2 离散型随机变量的分布函数

设离散型随机变量X的分布律为
p(X=x_i )=p_i, i=1,2,\cdots
由概率的可列可加性得X的分布函数为
F(x)=p(X\le x)=\sum_{x_i\le x}p(X=x_i)
可简写为:
F(x)=\sum_{x_i\le x}p_i

3.4.3 连续型随机变量的分布函数

1、定义
设X为连续型随机变量,其密度函数为f(x),则有: