六、概率PCA

  1. 定义隐变量 六、概率PCA - 图1,它属于低维空间(也称作隐空间,即隐变量所在的空间)。假设 六、概率PCA - 图2 的先验分布为高斯分布: 六、概率PCA - 图3 ,其均值为 六、概率PCA - 图4 ,协方差矩阵为 六、概率PCA - 图5

    定义观测变量 六、概率PCA - 图6 ,它属于高维空间。假设条件概率分布 六、概率PCA - 图7 也是高斯分布: 六、概率PCA - 图8 。其中:均值是的 六、概率PCA - 图9 线性函数,六、概率PCA - 图10 为权重, 六、概率PCA - 图11 为偏置;协方差矩阵为 六、概率PCA - 图12

    PPCA 模型生成观测样本的步骤为:

    • 首先以概率 六、概率PCA - 图13 生成隐变量 六、概率PCA - 图14

    • 然后观测样本 六、概率PCA - 图15 由如下规则生成:六、概率PCA - 图16

      其中 六、概率PCA - 图17 是一个 六、概率PCA - 图18 维的均值为零、协方差矩阵为 六、概率PCA - 图19 的高斯分布的噪声:六、概率PCA - 图20

6.1 参数求解

6.1.1 解析解

  1. 可以利用最大似然准则来确定参数 六、概率PCA - 图21 的解析解。

  2. 根据边缘概率分布的定义有:

    六、概率PCA - 图22

    由于 六、概率PCA - 图23六、概率PCA - 图24 均为高斯分布,因此 六、概率PCA - 图25 也是高斯分布。假 六、概率PCA - 图26 的其均值为 六、概率PCA - 图27,协方差为 六、概率PCA - 图28 。则:

    六、概率PCA - 图29

    推导过程中假设 六、概率PCA - 图30六、概率PCA - 图31 是相互独立的随机变量。

    因此 六、概率PCA - 图32

  3. 给定数据集 六、概率PCA - 图33 ,则对数似然函数为:

    六、概率PCA - 图34

    其中 六、概率PCA - 图35 这里表示行列式的值。

    求解 六、概率PCA - 图36,解得 六、概率PCA - 图37

  4. 对数据集 六、概率PCA - 图38 进行零均值化,即:六、概率PCA - 图39 。则有:

    • 六、概率PCA - 图40 ,因此 六、概率PCA - 图41

      其中 六、概率PCA - 图42

    • 对数似然函数(忽略常数项 六、概率PCA - 图43 ):

      六、概率PCA - 图44

      其中 六、概率PCA - 图45 为协方差矩阵。 记:

      六、概率PCA - 图46

      六、概率PCA - 图47

  5. Tipping and Bishop(1999b) 证明:

    • 六、概率PCA - 图48 的所有驻点都可以写做:六、概率PCA - 图49 。其中:

      • 六、概率PCA - 图50 的列由协方差矩阵 六、概率PCA - 图51 的任意 六、概率PCA - 图52 个特征向量组成。
      • 六、概率PCA - 图53 是对角矩阵,其元素是协方差矩阵 六、概率PCA - 图54 对应的 六、概率PCA - 图55 个特征值 六、概率PCA - 图56
      • 六、概率PCA - 图57 是任意一个正交矩阵。
    • 六、概率PCA - 图58 个特征向量被选择为前 六、概率PCA - 图59 个最大的特征值对应的特征向量时,六、概率PCA - 图60 取得最大值。其它的所有解都是鞍点。
  6. 假定协方差矩阵 六、概率PCA - 图61 的特征值从大到小排列 六、概率PCA - 图62 ,对应的 六、概率PCA - 图63 个特征向量为 六、概率PCA - 图64

    则最大似然准则得到的解析解为:

    • 六、概率PCA - 图65 ,它由前 六、概率PCA - 图66 个特征向量组成。六、概率PCA - 图67
    • 六、概率PCA - 图68 ,它就是与丢弃的维度相关连的平均方差。
  7. 六、概率PCA - 图69 是正交矩阵,因此它可以视作 六、概率PCA - 图70 维隐空间的一个旋转矩阵。

    根据 六、概率PCA - 图71,则 六、概率PCA - 图72六、概率PCA - 图73 无关。这表明: 六、概率PCA - 图74 在隐空间中具有旋转不变性,因此 六、概率PCA - 图75 可以选任意一个正交矩阵。

    • 这代表某种形式的统计不可区分性,因此有多个 六、概率PCA - 图76 都会产生同样的密度函数 六、概率PCA - 图77

    • 六、概率PCA - 图78 时,六、概率PCA - 图79 。此时 六、概率PCA - 图80 ,它表示 六、概率PCA - 图81 的列是对 六、概率PCA - 图82 进行缩放,缩放比例为六、概率PCA - 图83

      由于 六、概率PCA - 图84 是正交的,因此 六、概率PCA - 图85 的列也是正交的。

    • 当通过解析解直接求解时,可以直接令 六、概率PCA - 图86 。但是当通过共轭梯度法或者EM 算法求解时, 六、概率PCA - 图87 可能是任意的,此时 六、概率PCA - 图88 的列不再是正交的。

      如果需要 六、概率PCA - 图89 是正交的,则需要恰当的后处理。

  8. 对于任意一个方向向量 六、概率PCA - 图90 ,其中 六、概率PCA - 图91 ,分布 六、概率PCA - 图92 在该方向上的方差为 六、概率PCA - 图93

    • 如果 六、概率PCA - 图94六、概率PCA - 图95 正交,即 六、概率PCA - 图96 是被丢弃的特征向量的某个线性组合,则有 六、概率PCA - 图97

      因此有 六、概率PCA - 图98

    • 如果 六、概率PCA - 图99 就是 六、概率PCA - 图100 其中之一,即 六、概率PCA - 图101,则有 六、概率PCA - 图102

      可以看到:沿着特征向量 六、概率PCA - 图103 方向上的方差 六、概率PCA - 图104 由两部分组成:

      • 单位方差的分布 六、概率PCA - 图105 通过线性映射 六、概率PCA - 图106 之后,在 六、概率PCA - 图107 方向上的投影贡献了:六、概率PCA - 图108
      • 噪声模型在所有方向上的各向同性的方差贡献了: 六、概率PCA - 图109

    因此:PPCA 正确的描述了数据集 六、概率PCA - 图110 沿着主轴方向(即 六、概率PCA - 图111 方向)的方差,并且用一个单一的均值 六、概率PCA - 图112 近似了所有剩余方向上的方差。

  9. 六、概率PCA - 图113 时,不存在降维的过程。此时有 六、概率PCA - 图114六、概率PCA - 图115 。根据正交矩阵的性质:六、概率PCA - 图116 ,以及 六、概率PCA - 图117,则有:六、概率PCA - 图118

  10. 由于计算时需要用到 六、概率PCA - 图119,这涉及到一个 六、概率PCA - 图120 矩阵的求逆。

    可以考虑简化为:六、概率PCA - 图121 ,其中 六、概率PCA - 图122 。计算复杂度从 六、概率PCA - 图123 降低到了 六、概率PCA - 图124

6.1.2 EM算法解

  1. PPCA 模型中,数据集 六、概率PCA - 图125 中的每个数据点 六、概率PCA - 图126 都对应一个隐变量 六、概率PCA - 图127 ,于是可以使用EM 算法来求解模型参数。

  2. 实际上PPCA 模型参数已经可以得到精确的解析解,看起来没必要使用EM 算法。但是EM 算法具有下列优势:

    • 在高维空间中,使用EM 算法而不是直接计算样本的协方差矩阵可能具有计算上的优势。
    • EM 算法的求解步骤也可以推广到因子分析模型中,那里不存在解析解。
    • EM 算法可以为缺失值处理提供理论支撑。
  3. 观测变量为 六、概率PCA - 图128,隐变量为 六、概率PCA - 图129 ,则完全数据为 六、概率PCA - 图130,其中 六、概率PCA - 图131六、概率PCA - 图132 。其中 对数据集 六、概率PCA - 图133 进行零均值化,即:六、概率PCA - 图134

    根据后验概率的定义以及高斯分布的性质,后验概率 六、概率PCA - 图135

    完全数据的对数似然函数为:

    六、概率PCA - 图136

    其中: 六、概率PCA - 图137六、概率PCA - 图138

    • E 步:计算期望:

      六、概率PCA - 图139

      其中:六、概率PCA - 图140 表示计算期望的概率分布为后验概率分布 六、概率PCA - 图141 。 假设此时迭代的参数为 六、概率PCA - 图142六、概率PCA - 图143 ,则有:

      六、概率PCA - 图144

    • M 步:求最大化:

      六、概率PCA - 图145

      解得:

      • 六、概率PCA - 图146
      • 六、概率PCA - 图147
  4. EM 算法的物理意义:

    • E 步涉及到数据点 六、概率PCA - 图148 在隐空间上的正交投影。
    • M 步涉及到隐空间的重新估计,使得满足最大似然,其中投影固定。

    一个简单的类比:考虑二维空间中的一组小球,令一维隐空间用一个固定的杆表示。现在使用很多个遵守胡克定律(存储的能量正比于弹簧长度的平方)的弹簧将每个小球与杆相连。

    • E 步:保持杆固定,让附着的小球沿着杆上下滑动,使得能量最小。这使得每个小球独立地到达对应于它在杆上的正交投影位置。
    • M 步:令附着点固定,然后松开杆,让杆到达能量最小的位置。

    重复E 步和M 步,直到满足一个收敛准则。

  5. PPCAEM 算法的一个好处是大规模数据的计算效率。在高维空间中,EM 算法每次迭代所需的计算量都比传统的PCA 要小得多。

    • PPCA 解析解算法中,对协方差矩阵进行特征分解的计算复杂度为 六、概率PCA - 图149 。如果只需要计算前 六、概率PCA - 图150 个特征向量和它们的特征值,则可以使用 六、概率PCA - 图151 复杂度的算法。

      然后计算协方差矩阵本身需要 六、概率PCA - 图152 的计算量,因此不适合大规模数据。

    • PPCAEM 算法没有显式建立协方差矩阵,其计算量最大的步骤是涉及到对数据集求和的操作,计算代价为 六、概率PCA - 图153

      对于较大的 六、概率PCA - 图154,有 六、概率PCA - 图155,因此与 六、概率PCA - 图156 相比,EM 算法的计算量大大降低。这可以抵消EM 算法需要多次迭代的缺陷。

  6. PPCAEM 算法可以用一种在线的形式执行,其中 六、概率PCA - 图157 被读入、处理。然后在处理下一个数据 六、概率PCA - 图158 时丢弃 六、概率PCA - 图159

    • E 步中需要计算的量(一个d 维向量和一个 六、概率PCA - 图160 的矩阵 ) 可以分别对每个数据点单独计算。
    • M 步中需要在数据点上累积求和,这个可以增量完成。

    如果 六、概率PCA - 图161六、概率PCA - 图162 都很大,则这种方式很有优势。

6.2 性质

  1. 概率PCA (probabilistic PCA:PPCA) 与传统的PCA 相比,有如下优势:

    • 概率PCA 能够描述数据集的主要特征,如期望、方差等。
    • 概率PCA 使用EM 算法求解。当只需要计算几个主要的特征向量的情况下,计算效率较高,它避免了计算协方差矩阵 六、概率PCA - 图163
    • 概率PCA 可以推广到混合概率分布,并且利用EM 算法训练。
    • 概率PCA 采用似然函数,这使得它可以与其它的概率密度模型进行比较。
    • 概率PCA 是一个生成式模型,可以用于生成新样本。
  2. PPCA 考虑的是低维空间到高维空间的映射,这与传统的PCA 观点不同。传统PCA 观点是高维空间到低维空间的映射。

    PPCA 中,如果希望对数据进行降维,即从个高维空间映射到低维空间,则需要通过贝叶斯定理进行逆映射。

    根据后验概率分布 六、概率PCA - 图164 ,任意一点 六、概率PCA - 图165 在低维空间中的投影均值为 六、概率PCA - 图166

    • 如果取极限 六、概率PCA - 图167 ,则 六、概率PCA - 图168 ,这就是标准的PCA 模型。但此时后验协方差为0,概率密度函数变得奇异。

      但是如果使用EM 算法求解,仍然可以得到一个合法的结果。

    • 对于 六、概率PCA - 图169 的情况,低维空间中的投影会向着原点方向偏移。

  3. 目前在PCA 讨论中,假定低维空间的维度 六、概率PCA - 图170 是给定的,实际上必须根据应用来选择一个合适的值。

    • 如果用于数据可视化,则一般选择为 六、概率PCA - 图171

    • 如果特征值很自然的分成了两组:一组由很小的值组成,另一组由较大的值组成,两组之间有明显的区分。则 六、概率PCA - 图172 选取为较大的特征值的数量。

      实际上这种明显的区分通常无法看到。

    • 按照传统PCA 的方式:

      • 通过交叉验证法选取较好的 六、概率PCA - 图173 ,这种方式依赖于后续的模型。

      • 从算法原理的角度设置一个阈值,比如 六、概率PCA - 图174 ,然后选取使得下式成立的最小的 六、概率PCA - 图175 的值:

        六、概率PCA - 图176

        这种方式需要指定阈值 六、概率PCA - 图177 ,从而将 六、概率PCA - 图178 的选择转移到 六、概率PCA - 图179 的选择上。

    • 基于PPCA 中的最大似然函数,使用交叉验证的方法,求解在验证集上对数似然函数最大的模型来确定维度的值。

      这种方法不依赖于后续的模型,但是缺点是计算量很大。

    • 利用贝叶斯PCA 自动寻找合适的六、概率PCA - 图180

  4. 贝叶斯PCA :在六、概率PCA - 图181 的每列上定义一个独立的高斯先验,每个这样的高斯分布都有一个独立的方差,由超参数 六、概率PCA - 图182 控制。因此:

    六、概率PCA - 图183

    其中 六、概率PCA - 图184六、概率PCA - 图185 的第 六、概率PCA - 图186 列。

    六、概率PCA - 图187 可以通过最大化 六、概率PCA - 图188 来迭代的求解。最终某个 六、概率PCA - 图189 可能趋向于无穷大,对应的参数向量 六、概率PCA - 图190 趋向于零,后验概率分布变成了原点处的 六、概率PCA - 图191 函数。这就得到一个稀疏解。

    这样低维空间的有效维度由有限的 六、概率PCA - 图192 的值确定。通过这种方式,贝叶斯方法自动的在提升数据拟合程度(使用较多的向量 六、概率PCA - 图193 )和减小模型复杂度(压制某些向量 六、概率PCA - 图194 )之间折中。

6.3 因子分析

  1. 因子分析:寻找变量之间的公共因子。

    如:随着年龄的增长,儿童的身高、体重会发生变化,具有一定的相关性。假设存在一个生长因子同时支配这两个变量,那么因子分析就是从大量的身高、体重数据中寻找该生长因子。

  2. 因子分析 Factor Analysis:FA 是一个线性高斯隐变量模型,它与 PPCA 密切相关。

    • 因子分析的定义与PPCA 唯一差别是:给定隐变量 六、概率PCA - 图195 的条件下,观测变量 六、概率PCA - 图196 的条件概率分布的协方差矩阵是一个对角矩阵,而不是一个各向同性的协方差矩阵。

      即:六、概率PCA - 图197 ,其中 六、概率PCA - 图198 是一个 六、概率PCA - 图199 的对角矩阵。因此也可以认为PPCA 是一种特殊情形的因子分析。

      如果对 六、概率PCA - 图200 进行了零均值化,则 六、概率PCA - 图201

    • PPCA 模型相同,因子分析模型假设在给定隐变量 六、概率PCA - 图202 的条件下,观测变量 六、概率PCA - 图203 的各分量 六、概率PCA - 图204 是独立的。

  3. 在因子分析的文献中, 六、概率PCA - 图205 的列描述了观测变量之间的相关性关系,被称作因子载入factor loading

    六、概率PCA - 图206 的对角元素,表示每个变量的独立噪声方差,被称作唯一性uniqueness

  4. 观测变量的边缘概率分布为 六、概率PCA - 图207,其中 六、概率PCA - 图208

    PPCA相同,FA模型对于隐空间的选择具有旋转不变性。

  5. 可以使用最大似然法来确定因子分析模型中的参数 六、概率PCA - 图209六、概率PCA - 图210 的值。此时 六、概率PCA - 图211 的最大似然解不再具有解析解,因此必须用梯度下降法或者EM 算法迭代求解。

    EM 算法的迭代步骤为:

    • E 步:用旧的参数求期望:

      六、概率PCA - 图212

      其中 六、概率PCA - 图213

      这里使用一个 六、概率PCA - 图214 的矩阵求逆表达式,而不是 六、概率PCA - 图215 的表达式。

    • M 步:求最大化来获取新的参数。

      六、概率PCA - 图216

      其中 六、概率PCA - 图217 将所有非对角线上的元素全部设置为零。