65、降维技术:PCA与因子分析详解

降维技术:PCA与因子分析详解

1. 主成分分析(PCA)

1.1 计算问题

1.1.1 协方差矩阵与相关矩阵

在PCA中,通常会涉及协方差矩阵的特征分解,但使用相关矩阵会更好。因为若仅使用协方差矩阵,PCA可能会被因测量尺度导致的高方差方向“误导”。例如在身高体重数据集的PCA分析中,原始数据的PCA结果里,垂直轴范围比水平轴大,使得第一主成分看起来有些“不自然”;而对数据进行标准化后(相当于使用相关矩阵而非协方差矩阵),结果则更合理。

1.1.2 处理高维数据

若将PCA视为求解 $D \times D$ 协方差矩阵 $X^TX$ 特征向量的问题,当 $D > N$ 时,处理 $N \times N$ 格拉姆矩阵 $XX^T$ 会更快。具体步骤如下:
1. 设 $U$ 是包含 $XX^T$ 特征向量的正交矩阵,对应特征值在 $\Lambda$ 中,即 $(XX^T)U = U\Lambda$。
2. 左乘 $X^T$ 可得 $(X^TX)(X^TU) = (X^TU)\Lambda$,由此可知 $X^TX$ 的特征向量为 $V = X^TU$,特征值与之前相同。
3. 但这些特征向量未归一化,归一化后的特征向量为 $V = X^TU\Lambda^{-\frac{1}{2}}$。

这不仅提供了计算PCA基的另一种方法,还便于使用核技巧。

1.1.3 使用奇异值分解(SVD)计算PCA

PCA使用特征向量方法计算与截断SVD是等价的。具体推导如下:
设 $U_{\Sigma}\Lambda_{\Sigma}U_{\Sigma}^T$ 是协方差矩阵 $\Sigma \propto X^TX$(假设 $X$ 已中心化)的前 $L$ 个特征分解,最优投影权重 $W$ 由前 $L$ 个特征值确定,即 $W = U_{\Sigma}$。
设 $U_XS_XV_X^T \approx X$ 是数据矩阵 $X$ 的 $L$ 截断SVD近似,根据相关知识可知 $X$ 的右奇异向量是 $X^TX$ 的特征向量,所以 $V_X = U_{\Sigma} = W$,且协方差矩阵的特征值与数据矩阵的奇异值关系为 $\lambda_k = s_k^2 / N$。
若关注投影点(主成分或PC分数),则 $Z = XW = U_XS_XV_X^TV_X = U_XS_X$;若要近似重构数据,$\hat{X} = ZW^T = U_XS_XV_X$,这与截断SVD近似相同。因此,可通过协方差矩阵的特征分解或数据矩阵的SVD分解来执行PCA,出于计算原因,后者通常更优。对于高维问题,可使用随机SVD算法,如sklearn中的随机求解器,对于 $N$ 个样本和 $L$ 个主成分,其时间复杂度为 $O(NL^2) + O(L^3)$,而精确SVD的时间复杂度为 $O(ND^2) + O(D^3)$。

1.2 选择潜在维度数量

1.2.1 重构误差

定义在数据集 $D$ 上使用 $L$ 个维度时模型的重构误差为:
$L_L = \frac{1}{|D|} \sum_{n \in D} ||x_n - \hat{x}_n||^2$
其中重构公式为 $\hat{x}_n = Wz_n + \mu$,$z_n = W^T(x_n - \mu)$,$\mu$ 是经验均值,$W$ 按上述方法估计。在MNIST训练数据上绘制 $L_L$ 与 $L$ 的关系图,可发现重构误差下降很快,表明用少量因子就能捕捉像素的大部分经验相关性。若使用 $L = rank(X)$,训练集上的重构误差为零。为避免过拟合,绘制测试集上的重构误差,会发现即使模型变复杂,误差仍持续下降,这是因为PCA不是合适的数据生成模型,增加潜在维度能更准确地近似测试数据。

1.2.2 碎石图

另一种选择潜在维度数量的方法是使用碎石图,即按特征值 $\lambda_j$ 降序排列绘制 $\lambda_j$ 与 $j$ 的关系图。可以证明重构误差 $L_L = \sum_{j = L + 1}^{D} \lambda_j$,随着维度数量增加,特征值变小,重构误差也变小。相关的量是方差解释比例 $F_L = \frac{\sum_{j = 1}^{L} \lambda_j}{\sum_{j’ = 1}^{L_{max}} \lambda_{j’}}$,它与碎石图信息相同,但随 $L$ 增加而上升。

1.2.3 轮廓似然

虽然重构误差图没有U型曲线,但有时曲线会有“拐点”,即误差从相对较大突然变为相对较小。可通过计算轮廓似然来自动检测曲线梯度的这种变化。设 $\lambda_L$ 是模型大小为 $L$ 时的误差度量,将这些值按 $k < L$ 和 $k > L$ 分为两组,使用简单的变点模型,假设 $k \leq L$ 时 $\lambda_k \sim N(\mu_1, \sigma^2)$,$k > L$ 时 $\lambda_k \sim N(\mu_2, \sigma^2)$(为防止过拟合,要求 $\sigma^2$ 相同)。对于每个 $L = 1 : L_{max}$,通过划分数据并计算最大似然估计(MLE)来拟合模型:
$\mu_1(L) = \frac{\sum_{k \leq L} \lambda_k}{L}$
$\mu_2(L) = \frac{\sum_{k > L} \lambda_k}{L_{max} - L}$
$\sigma^2(L) = \frac{\sum_{k \leq L} (\lambda_k - \mu_1(L))^2 + \sum_{k > L} (\lambda_k - \mu_2(L))^2}{L_{max}}$
然后计算轮廓对数似然:
$\ell(L) = \sum_{k = 1}^{L} \log N(\lambda_k|\mu_1(L), \sigma^2(L)) + \sum_{k = L + 1}^{L_{max}} \log N(\lambda_k|\mu_2(L), \sigma^2(L))$

通过找到 $\ell(L)$ 的峰值 $L^* = \arg\max \ell(L)$ 来确定合适的潜在维度数量。

2. 因子分析

2.1 生成模型

因子分析对应以下线性 - 高斯潜在变量生成模型:
$p(z) = N(z|\mu_0, \Sigma_0)$
$p(x|z, \theta) = N(x|Wz + \mu, \Psi)$
其中 $W$ 是 $D \times L$ 矩阵,称为因子负荷矩阵,$\Psi$ 是对角 $D \times D$ 协方差矩阵。

FA可看作高斯分布的低秩版本,其诱导的边缘分布 $p(x|\theta)$ 是高斯分布:
$p(x|\theta) = \int N(x|Wz + \mu, \Psi)N(z|\mu_0, \Sigma_0) dz = N(x|W\mu_0 + \mu, \Psi + W\Sigma_0W^T)$

为简化,可设 $\mu_0 = 0$ 和 $\Sigma_0 = I$,简化后模型为:
$p(z) = N(z|0, I)$
$p(x|z) = N(x|Wz + \mu, \Psi)$
$p(x) = N(x|\mu, WW^T + \Psi)$

例如,当 $L = 1$,$D = 2$ 且 $\Psi = \sigma^2I$ 时,可将其看作一个各向同性的高斯“喷雾罐”(代表似然 $p(x|z)$),随着一维潜在先验 $z$ 的变化,沿着 $wz + \mu$ 定义的一维线“滑动”,从而在二维空间中诱导出一个拉长(因此相关)的高斯分布。

一般来说,FA使用低秩分解近似可见向量的协方差矩阵:
$C = Cov[x] = WW^T + \Psi$

这仅使用 $O(LD)$ 个参数,能在全协方差高斯($O(D^2)$ 个参数)和对角协方差($O(D)$ 个参数)之间实现灵活折衷。从该式可知,应限制 $\Psi$ 为对角矩阵,否则可设 $W = 0$,忽略潜在因子,仍能建模任何协方差。每个可见变量的边际方差为 $V[x_d] = \sum_{k = 1}^{L} w_{dk}^2 + \psi_d$,其中第一项是共同因子导致的方差,第二项 $\psi_d$ 称为独特性,是该维度特有的方差项。

可使用EM算法估计FA模型的参数,拟合模型后,可使用 $p(z|x)$ 计算概率潜在嵌入:
$p(z|x) = N(z|W^TC^{-1}(x - \mu), I - W^TC^{-1}W)$
其中 $C$ 由上述公式定义。

2.2 概率主成分分析(PPCA)

PPCA是因子分析模型的一个特殊情况,其中 $W$ 列正交,$\Psi = \sigma^2I$ 且 $\mu = 0$。其可见变量的边缘分布为:
$p(x|\theta) = \int N(x|Wz, \sigma^2I)N(z|0, I) dz = N(x|\mu, C)$
其中 $C = WW^T + \sigma^2I$

PPCA的对数似然为:
$\log p(X|\mu, W, \sigma^2) = -\frac{ND}{2} \log(2\pi) - \frac{N}{2} \log |C| - \frac{1}{2} \sum_{n = 1}^{N} (x_n - \mu)^TC^{-1}(x_n - \mu)$

$\mu$ 的最大似然估计(MLE)是 $\bar{x}$,代入后可得:
$\log p(X|\mu, W, \sigma^2) = -\frac{N}{2} [D \log(2\pi) + \log |C| + tr(C^{-1}S)]$
其中 $S = \frac{1}{N} \sum_{n = 1}^{N} (x_n - \bar{x})(x_n - \bar{x})^T$ 是经验协方差矩阵。

$W$ 的MLE满足:
$W = U_L(L_L - \sigma^2I)^{\frac{1}{2}}R$
其中 $U_L$ 是 $D \times L$ 矩阵,其列由 $S$ 中最大特征值对应的 $L$ 个特征向量组成,$L_L$ 是 $L \times L$ 对角特征值矩阵,$R$ 是任意 $L \times L$ 正交矩阵,通常取 $R = I$。在无噪声极限 $\sigma^2 = 0$ 时,$W_{mle} = U_LL_L^{\frac{1}{2}}$,与PCA解成比例。

观测方差的MLE为:
$\sigma^2 = \frac{1}{D - L} \sum_{i = L + 1}^{D} \lambda_i$
若 $L = D$,则估计的噪声为0,因为模型退化为 $z = x$。

为计算 $p(X|\mu, W, \sigma^2)$,需计算 $C^{-1}$ 和 $\log |C|$,可使用矩阵求逆引理:
$C^{-1} = \sigma^{-2} [I - WM^{-1}W^T]$
其中 $M = W^T W + \sigma^2I$。代入 $W$ 的MLE可得:
$M = U_L(L_L - \sigma^2I)U_L^T + \sigma^2I$
$C^{-1} = \sigma^{-2} [I - U_L(L_L - \sigma^2I)\Lambda_L^{-1}U_L^T]$
$\log |C| = (D - L) \log \sigma^2 + \sum_{j = 1}^{L} \log \lambda_j$

这样可避免所有矩阵求逆(因为 $\Lambda_L^{-1} = diag(1 / \lambda_j)$)。

要将PPCA用作PCA的替代方法,需计算后验均值 $E[z|x]$:
$p(z|x) = N(z|M^{-1}W^T(x - \mu), \sigma^2M^{-1})$
在 $\sigma^2 = 0$ 极限下,使用MLE参数的后验均值为:
$E[z|x] = (W^T W)^{-1}W^T(x - \bar{x})$
这与标准PCA中数据到潜在空间的正交投影相同。

2.3 EM算法用于FA/PPCA

2.3.1 EM算法用于FA
  • E步 :计算后验嵌入
    $p(z_i|x_i, \theta) = N(z_i|m_i, \Sigma_i)$
    $\Sigma_i \triangleq (I_L + W^T\Psi^{-1}W)^{-1}$
    $m_i \triangleq \Sigma_i(W^T\Psi^{-1}(x_i - \mu))$
  • M步 :为方便同时估计 $\mu$ 和 $W$,定义 $\tilde{W} = (W, \mu)$,$\tilde{z} = (z, 1)$,并定义
    $b_i \triangleq E[\tilde{z}|x_i] = [m_i; 1]$
    $C_i \triangleq E[\tilde{z}\tilde{z}^T|x_i] = \begin{pmatrix} E[zz^T|x_i] & E[z|x_i] \ E[z|x_i]^T & 1 \end{pmatrix}$
    则M步更新为:
    $\hat{\tilde{W}} = \left[\sum_{i} x_ib_i^T \right] \left[\sum_{i} C_i \right]^{-1}$
    $\hat{\Psi} = \frac{1}{N} diag\left(\sum_{i} (x_i - \hat{\tilde{W}}b_i)x_i^T \right)$

需注意,这些更新是“普通”EM算法,[ZY08]中描述了基于ECM的更快版本。

2.3.2 EM算法用于(P)PCA

也可使用EM算法拟合PPCA模型,这为特征向量方法提供了有用的替代方案。该算法在零噪声极限 $\sigma^2 = 0$ 时仍有效。
- E步 :设 $\tilde{Z}$ 是一个 $L \times N$ 矩阵,其列存储后验均值(低维表示),$\tilde{X} = X^T$ 存储原始数据的列。当 $\sigma^2 = 0$ 时,$\tilde{Z} = (W^T W)^{-1}W^T \tilde{X}$,这只是数据的正交投影。
- M步
$\hat{W} = \left[\sum_{i} x_iE[z_i]^T \right] \left[\sum_{i} E[z_i] E[z_i]^T \right]^{-1}$

这与多输出线性回归的MLE类似,只是将观测输入替换为潜在变量的期望值。

综上所述,PCA和因子分析是两种重要的降维技术,各有特点和适用场景。在实际应用中,可根据数据特点和需求选择合适的方法。

表格总结

方法 适用场景 优点 缺点
PCA 数据降维、特征提取 计算简单,可解释性强 对数据分布假设较严格
FA 处理复杂数据结构 基于概率模型,更灵活 计算复杂度较高
PPCA 结合概率和PCA 可处理噪声,与PCA有联系 对参数估计要求高

mermaid流程图

graph LR
    A[数据] --> B{选择方法}
    B --> |PCA| C(计算协方差矩阵)
    B --> |FA| D(定义生成模型)
    B --> |PPCA| E(定义特殊模型)
    C --> F(特征分解)
    D --> G(EM算法估计参数)
    E --> H(计算对数似然)
    F --> I(选择主成分)
    G --> J(计算潜在嵌入)
    H --> K(估计参数)
    I --> L(降维后数据)
    J --> L
    K --> L

3. 方法对比与实际应用考量

3.1 不同方法在降维效果上的对比

在实际降维任务中,PCA、FA 和 PPCA 各有优劣。PCA 主要通过线性变换找到数据的主成分方向,以最大程度保留数据的方差。它的计算相对简单,能够直观地展示数据的主要特征方向,可解释性强。例如在处理图像数据时,PCA 能快速提取图像的主要特征,将高维的像素数据映射到低维空间,方便后续的分析和处理。

FA 则是基于概率模型,通过引入潜在变量来解释数据的生成过程。它更适合处理具有复杂数据结构的情况,能够捕捉数据中的潜在关系。比如在基因数据分析中,FA 可以发现基因之间的潜在关联,从而揭示生物过程的内在机制。

PPCA 结合了概率模型和 PCA 的优点,能够处理数据中的噪声。它在无噪声极限下与 PCA 等价,但在有噪声的情况下表现更优。例如在传感器数据处理中,由于传感器可能存在测量误差,PPCA 可以更好地处理这些噪声,提取出数据的真实特征。

3.2 实际应用中的选择流程

在实际应用中,选择合适的降维方法需要综合考虑多个因素。以下是一个选择流程的表格总结:
| 考虑因素 | PCA | FA | PPCA |
| ---- | ---- | ---- | ---- |
| 数据复杂度 | 适用于简单数据结构,数据分布接近正态分布 | 适用于复杂数据结构,存在潜在关系的数据 | 适用于有噪声的数据 |
| 计算效率 | 计算简单,效率高 | 计算复杂度较高 | 计算复杂度适中 |
| 可解释性 | 可解释性强,主成分有明确的物理意义 | 潜在变量的解释相对困难 | 与 PCA 有一定联系,可解释性较好 |
| 噪声处理能力 | 对噪声敏感 | 有一定的噪声处理能力 | 能有效处理噪声 |

mermaid流程图

graph LR
    A[数据情况] --> B{数据复杂度}
    B --> |简单| C{是否有噪声}
    B --> |复杂| D(考虑FA)
    C --> |否| E(选择PCA)
    C --> |是| F(选择PPCA)

4. 总结

4.1 方法总结

PCA、FA 和 PPCA 是三种重要的降维技术,它们在不同的场景下发挥着重要作用。PCA 以其简单高效和可解释性强的特点,成为数据降维的常用方法;FA 基于概率模型,能够处理复杂的数据结构,挖掘数据中的潜在关系;PPCA 结合了概率和 PCA 的优点,在处理有噪声的数据时表现出色。

4.2 应用建议

在实际应用中,首先需要对数据的特点进行深入分析,包括数据的复杂度、是否存在噪声等。如果数据结构简单且噪声较小,PCA 是一个不错的选择;如果数据存在复杂的潜在关系,FA 可能更适合;而当数据中存在噪声时,PPCA 能够提供更准确的降维结果。同时,在使用这些方法时,还需要根据具体情况选择合适的参数,如 PCA 中的主成分数量、FA 中的潜在变量数量等,以达到最佳的降维效果。

4.3 未来展望

随着数据量的不断增加和数据结构的日益复杂,降维技术将面临更多的挑战和机遇。未来的研究可能会集中在如何进一步提高降维方法的效率和准确性,以及如何更好地处理高维、非线性和复杂结构的数据。同时,将降维技术与其他机器学习算法相结合,如深度学习、聚类分析等,也将成为一个重要的研究方向,以实现更强大的数据处理和分析能力。

列表总结

  • PCA:简单高效,可解释性强,适用于简单数据结构。
  • FA:基于概率模型,能处理复杂数据结构,挖掘潜在关系。
  • PPCA:结合概率和 PCA 优点,能有效处理噪声数据。
  • 应用时需根据数据特点选择合适方法,并合理调整参数。
  • 未来研究方向包括提高效率准确性、处理复杂数据和与其他算法结合。
【RIS 辅助的 THz 混合场波束斜视下的信道估计定位】在混合场波束斜视效应下,利用太赫兹超大可重构智能表面感知用户信道位置(Matlab代码实现)内容概要:本文围绕“IS 辅助的 THz 混合场波束斜视下的信道估计定位”展开,重点研究在太赫兹(THz)通信系统中,由于混合近场远场共存导致的波束斜视效应下,如何利用超大可重构智能表面(RIS)实现对用户信道状态信息和位置的联合感知精确估计。文中提出了一种基于RIS调控的信道参数估计算法,通过优化RIS相移矩阵提升信道分辨率,并结合信号到达角(AoA)、到达时间(ToA)等信息实现高精度定位。该方法在Matlab平台上进行了仿真验证,复现了SCI一区论文的核心成果,展示了其在下一代高频通信系统中的应用潜力。; 适合人群:具备通信工程、信号处理或电子信息相关背景,熟悉Matlab仿真,从事太赫兹通信、智能反射面或无线定位方向研究的研究生、科研人员及工程师。; 使用场景及目标:① 理解太赫兹通信中混合场域波束斜视问题的成因影响;② 掌握基于RIS的信道估计用户定位联合实现的技术路径;③ 学习并复现高水平SCI论文中的算法设计仿真方法,支撑学术研究或工程原型开发; 阅读建议:此资源以Matlab代码实现为核心,强调理论实践结合,建议读者在理解波束成形、信道建模和参数估计算法的基础上,动手运行和调试代码,深入掌握RIS在高频通信感知一体化中的关键技术细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值