PRML第十二章习题答案
Chapter 12. Continuous Latent Variables
更新日志(截至20210423)
- 20210423:首次提交,含习题简述及习题 12.2,12.3 的详解
习题简述
- PCA
- 概率 PCA
- 12.5:高斯线性模型及其对应的子空间映射
- 12.6:概率 PCA 的概率图模型为 \(z\to x\)
- 12.7:隐变量分布和数据的条件分布是高斯,则数据分布亦为高斯
- 12.8:隐变量的后验分布
- 12.9-12.10:概率 PCA 的对数似然关于子空间映射的偏置是严格凸的,因而极大值点为唯一最大值点
- 12.11:概率 PCA 的先验方差趋于零时,随机选消失,退化为普通的 PCA
- 12.12:概率 PCA 的先验方差大小对后验均值的影响
- 12.13:数据点在 \(M\) 子空间的投影
- 12.14:概率 PCA 的参数量
- 12.15:概率 PCA 的 EM 算法
- 12.16:将缺失数据视为隐变量,推导带缺失数据的概率 PCA 的 EM 算法
- 12.17:基于最小二乘的子空间嵌入方法与概率 PCA 的 EM 算法的关系
- 12.23:混合概率 PCA
- 因子分析
- 12.18:因子分析的参数量
- 12.19:因子分析的旋转不变性
- 12.20-12.22:因子分析的优化
- 12.25:概率 PCA 和因子分析可以统一在高斯线性模型框架下
- 核 PCA
- 12.26:特征值零对应的子空间不影响 PCA 结果
- 12.27:PCA 的核形式
- 其他
- 12.28:随机变量函数的分布
- 12.29:两个随机变量的协方差为零不一定独立
习题详解
Exercise 12.2
Hint.
- 迹运算的交换性:\(\text{tr}(AB) = \text{tr}(BA)\)
- 矩阵导数的定义:\(\frac{\partial\text{tr}(A^T X)}{\partial X}=A\)
Solution.
\(\tilde{J}=\text{tr}(\widehat{U}^TS\widehat{U})+\text{tr}(H(I-\widehat{U}^T\widehat{U}))\),其中 \(H\) 是正交矩阵约束的拉格朗日乘子。注意到 \(I-\widehat{U}^T\widehat{U}\) 是对称矩阵,总可假设 \(H\) 对称而不改变正则项的值,否则可使 \(H:= (H+H^T) / 2\)。
计算易得 \(\frac{\partial\tilde{J}}{\partial \widehat{U}}=2(S\widehat{U}-\widehat{U}H)\),令导数为零得 \(S\widehat{U}=\widehat{U}H\)。由于最优解满足正交约束,两边左乘 \(\widehat{U}^T\) 有 \(H=\widehat{U}^TS\widehat{U}\),即 \(H\) 可解。不同的 \(\widehat{U}\) 间差一个正交矩阵 \(P\),即 \((\widehat{U}P)^T(\widehat{U}P)=P^T\widehat{U}^T\widehat{U}P=P^TP=I\),回代亦可验证其不改变目标函数最优值。显然当 \(\widehat{U}\) 为 \(S\) 的特征向量,\(H\) 为 \(S\) 的特征值时,最优解条件成立,故所有的解与 \(S\) 的特征向量差一个正交矩阵。
Comment.
正交矩阵理解为旋转和反射的组合,上述结论可以理解为,通过适当的旋转和反射,可以得到唯一的主成分向量。实际上,主成分分析只关心原空间能否用低维空间线性近似,不同坐标系下表示的子空间是等价的。
Exercise 12.3
Solution.
记 \(X\in\mathbb{R}^{N\times D} (D\gg N)\) 为数据矩阵,PCA 求主成分向量即求以下特征向量 \(N^{-1}X^T X u=\lambda u\)。注意到 \(X^T X\in\mathbb{R}^{D\times D}\),即面对高维数据,计算特征向量的计算量很大。本题提供一种降维思路,即等号两端左乘 \(X\),得 \(N^{-1}(XX^T) X u=\lambda Xu\),即 \(v=Xu\) 是矩阵 \(X X^T\in\mathbb{R}^{N\times N}\) 的特征向量。在等式 \(N^{-1}(XX^T)v=\lambda v\) 两端左乘 \(X^T\) 得 \(N^{-1}(X^T X)X^Tv=\lambda X^Tv\),注意到 \(X^T v\) 亦为 \(N^{-1}(X^T X)\) 特征值为 \(\lambda\) 对应的特征向量。故将 \(X^T v\) 归一化可以得到一个 \(u'\)。只需计算 \(X^T v\) 的范数。注意到
假定 \(v\) 是单位向量,则有 \(\|X^T v\|_2=(N\lambda)^{1/2}\),故 \(u'=(N\lambda)^{-1/2}X^T v\)。
总结而言,对高维数据做主成分分析的步骤可以为
- 用幂法计算 \(X X^T\) 的前 \(M\) 大特征值 \(\lambda_m\) 及对应的特征向量 \(v_m\)
- 用 \(u_m = (N\lambda_m)^{-1/2}X^T v_m\)
Comment.
- 记 \(X\) 的奇异值分解为 \(X=P\Lambda Q\),则 \(X^T X=Q^T\Lambda^T\Lambda Q\),\(X X^T=P\Lambda\Lambda^T P^T\),可以看到 \(X^T X\) 与 \(X X^T\) 的非零特征值是相等的。亦是本题方法可行的一般性结论。
- 当数据量很大时,即 \(N\) 很大时,计算量也很大。