六、概率PCA
定义隐变量 ,它属于低维空间(也称作隐空间,即隐变量所在的空间)。假设 的先验分布为高斯分布: ,其均值为 ,协方差矩阵为 。
定义观测变量 ,它属于高维空间。假设条件概率分布 也是高斯分布: 。其中:均值是的 线性函数, 为权重, 为偏置;协方差矩阵为 。
则
PPCA
模型生成观测样本的步骤为:首先以概率 生成隐变量 。
然后观测样本 由如下规则生成: 。
其中 是一个 维的均值为零、协方差矩阵为 的高斯分布的噪声: 。
6.1 参数求解
6.1.1 解析解
可以利用最大似然准则来确定参数 的解析解。
根据边缘概率分布的定义有:
由于 、 均为高斯分布,因此 也是高斯分布。假 的其均值为 ,协方差为 。则:
推导过程中假设 和 是相互独立的随机变量。
因此 。
给定数据集 ,则对数似然函数为:
其中 这里表示行列式的值。
求解 ,解得 。
对数据集 进行零均值化,即: 。则有:
,因此 。
其中 。
对数似然函数(忽略常数项 ):
其中 为协方差矩阵。 记:
则 。
Tipping and Bishop(1999b)
证明:的所有驻点都可以写做: 。其中:
- 的列由协方差矩阵 的任意 个特征向量组成。
- 是对角矩阵,其元素是协方差矩阵 对应的 个特征值 。
- 是任意一个正交矩阵。
- 当 个特征向量被选择为前 个最大的特征值对应的特征向量时, 取得最大值。其它的所有解都是鞍点。
假定协方差矩阵 的特征值从大到小排列 ,对应的 个特征向量为 。
则最大似然准则得到的解析解为:
- ,它由前 个特征向量组成。 。
- ,它就是与丢弃的维度相关连的平均方差。
是正交矩阵,因此它可以视作 维隐空间的一个旋转矩阵。
根据 ,则 与 无关。这表明: 在隐空间中具有旋转不变性,因此 可以选任意一个正交矩阵。
这代表某种形式的统计不可区分性,因此有多个 都会产生同样的密度函数 。
当 时, 。此时 ,它表示 的列是对 进行缩放,缩放比例为 。
由于 是正交的,因此 的列也是正交的。
当通过解析解直接求解时,可以直接令 。但是当通过共轭梯度法或者
EM
算法求解时, 可能是任意的,此时 的列不再是正交的。如果需要 是正交的,则需要恰当的后处理。
对于任意一个方向向量 ,其中 ,分布 在该方向上的方差为 。
如果 与 正交,即 是被丢弃的特征向量的某个线性组合,则有 。
因此有 。
如果 就是 其中之一,即 ,则有 。
可以看到:沿着特征向量 方向上的方差 由两部分组成:
- 单位方差的分布 通过线性映射 之后,在 方向上的投影贡献了: 。
- 噪声模型在所有方向上的各向同性的方差贡献了: 。
因此:
PPCA
正确的描述了数据集 沿着主轴方向(即 方向)的方差,并且用一个单一的均值 近似了所有剩余方向上的方差。当 时,不存在降维的过程。此时有 , 。根据正交矩阵的性质: ,以及 ,则有: 。
由于计算时需要用到 ,这涉及到一个 矩阵的求逆。
可以考虑简化为: ,其中 。计算复杂度从 降低到了 。
6.1.2 EM算法解
在
PPCA
模型中,数据集 中的每个数据点 都对应一个隐变量 ,于是可以使用EM
算法来求解模型参数。实际上
PPCA
模型参数已经可以得到精确的解析解,看起来没必要使用EM
算法。但是EM
算法具有下列优势:- 在高维空间中,使用
EM
算法而不是直接计算样本的协方差矩阵可能具有计算上的优势。 EM
算法的求解步骤也可以推广到因子分析模型中,那里不存在解析解。EM
算法可以为缺失值处理提供理论支撑。
- 在高维空间中,使用
观测变量为 ,隐变量为 ,则完全数据为 ,其中 、 。其中 对数据集 进行零均值化,即: 。
根据后验概率的定义以及高斯分布的性质,后验概率 。
完全数据的对数似然函数为:
其中: 、
E
步:计算期望:其中: 表示计算期望的概率分布为后验概率分布 。 假设此时迭代的参数为 、 ,则有:
M
步:求最大化:解得:
- 。
EM
算法的物理意义:E
步涉及到数据点 在隐空间上的正交投影。M
步涉及到隐空间的重新估计,使得满足最大似然,其中投影固定。
一个简单的类比:考虑二维空间中的一组小球,令一维隐空间用一个固定的杆表示。现在使用很多个遵守胡克定律(存储的能量正比于弹簧长度的平方)的弹簧将每个小球与杆相连。
E
步:保持杆固定,让附着的小球沿着杆上下滑动,使得能量最小。这使得每个小球独立地到达对应于它在杆上的正交投影位置。M
步:令附着点固定,然后松开杆,让杆到达能量最小的位置。
重复
E
步和M
步,直到满足一个收敛准则。PPCA
的EM
算法的一个好处是大规模数据的计算效率。在高维空间中,EM
算法每次迭代所需的计算量都比传统的PCA
要小得多。PPCA
解析解算法中,对协方差矩阵进行特征分解的计算复杂度为 。如果只需要计算前 个特征向量和它们的特征值,则可以使用 复杂度的算法。然后计算协方差矩阵本身需要 的计算量,因此不适合大规模数据。
PPCA
的EM
算法没有显式建立协方差矩阵,其计算量最大的步骤是涉及到对数据集求和的操作,计算代价为 。对于较大的 ,有 ,因此与 相比,
EM
算法的计算量大大降低。这可以抵消EM
算法需要多次迭代的缺陷。
PPCA
的EM
算法可以用一种在线的形式执行,其中 被读入、处理。然后在处理下一个数据 时丢弃E
步中需要计算的量(一个d
维向量和一个 的矩阵 ) 可以分别对每个数据点单独计算。M
步中需要在数据点上累积求和,这个可以增量完成。
如果 和 都很大,则这种方式很有优势。
6.2 性质
概率
PCA
(probabilistic PCA:PPCA
) 与传统的PCA
相比,有如下优势:- 概率
PCA
能够描述数据集的主要特征,如期望、方差等。 - 概率
PCA
使用EM
算法求解。当只需要计算几个主要的特征向量的情况下,计算效率较高,它避免了计算协方差矩阵 。 - 概率
PCA
可以推广到混合概率分布,并且利用EM
算法训练。 - 概率
PCA
采用似然函数,这使得它可以与其它的概率密度模型进行比较。 - 概率
PCA
是一个生成式模型,可以用于生成新样本。
- 概率
PPCA
考虑的是低维空间到高维空间的映射,这与传统的PCA
观点不同。传统PCA
观点是高维空间到低维空间的映射。在
PPCA
中,如果希望对数据进行降维,即从个高维空间映射到低维空间,则需要通过贝叶斯定理进行逆映射。根据后验概率分布 ,任意一点 在低维空间中的投影均值为 。
如果取极限 ,则 ,这就是标准的
PCA
模型。但此时后验协方差为0,概率密度函数变得奇异。但是如果使用
EM
算法求解,仍然可以得到一个合法的结果。对于 的情况,低维空间中的投影会向着原点方向偏移。
目前在
PCA
讨论中,假定低维空间的维度 是给定的,实际上必须根据应用来选择一个合适的值。如果用于数据可视化,则一般选择为 。
如果特征值很自然的分成了两组:一组由很小的值组成,另一组由较大的值组成,两组之间有明显的区分。则 选取为较大的特征值的数量。
实际上这种明显的区分通常无法看到。
按照传统
PCA
的方式:通过交叉验证法选取较好的 ,这种方式依赖于后续的模型。
从算法原理的角度设置一个阈值,比如 ,然后选取使得下式成立的最小的 的值:
这种方式需要指定阈值 ,从而将 的选择转移到 的选择上。
基于
PPCA
中的最大似然函数,使用交叉验证的方法,求解在验证集上对数似然函数最大的模型来确定维度的值。这种方法不依赖于后续的模型,但是缺点是计算量很大。
利用贝叶斯
PCA
自动寻找合适的 。
贝叶斯
PCA
:在 的每列上定义一个独立的高斯先验,每个这样的高斯分布都有一个独立的方差,由超参数 控制。因此:其中 是 的第 列。
可以通过最大化 来迭代的求解。最终某个 可能趋向于无穷大,对应的参数向量 趋向于零,后验概率分布变成了原点处的 函数。这就得到一个稀疏解。
这样低维空间的有效维度由有限的 的值确定。通过这种方式,贝叶斯方法自动的在提升数据拟合程度(使用较多的向量 )和减小模型复杂度(压制某些向量 )之间折中。
6.3 因子分析
因子分析:寻找变量之间的公共因子。
如:随着年龄的增长,儿童的身高、体重会发生变化,具有一定的相关性。假设存在一个生长因子同时支配这两个变量,那么因子分析就是从大量的身高、体重数据中寻找该生长因子。
因子分析
Factor Analysis:FA
是一个线性高斯隐变量模型,它与PPCA
密切相关。因子分析的定义与
PPCA
唯一差别是:给定隐变量 的条件下,观测变量 的条件概率分布的协方差矩阵是一个对角矩阵,而不是一个各向同性的协方差矩阵。即: ,其中 是一个 的对角矩阵。因此也可以认为
PPCA
是一种特殊情形的因子分析。如果对 进行了零均值化,则 。
与
PPCA
模型相同,因子分析模型假设在给定隐变量 的条件下,观测变量 的各分量 是独立的。
在因子分析的文献中, 的列描述了观测变量之间的相关性关系,被称作因子载入
factor loading
。的对角元素,表示每个变量的独立噪声方差,被称作唯一性
uniqueness
。观测变量的边缘概率分布为 ,其中 。
与
PPCA
相同,FA
模型对于隐空间的选择具有旋转不变性。可以使用最大似然法来确定因子分析模型中的参数 、 的值。此时 的最大似然解不再具有解析解,因此必须用梯度下降法或者
EM
算法迭代求解。EM
算法的迭代步骤为:E
步:用旧的参数求期望:其中 。
这里使用一个 的矩阵求逆表达式,而不是 的表达式。
M
步:求最大化来获取新的参数。其中 将所有非对角线上的元素全部设置为零。