在主成分分析 (PCA) 中,我们选择右奇异向量 () 而不是左奇异向量 () 作为主成分方向,主要是因为 PCA 的目标和数据的几何结构决定了这个选择。以下是详细解释:
1. PCA 的目标
PCA 的目标是找到一个低维空间,使得:
- 数据在投影方向上的方差最大化;
- 投影后的数据尽可能保留原始数据的主要信息。
数据的方差直接与协方差矩阵 的特征值相关,而 的特征向量正是右奇异向量 。因此,选择右奇异向量是直接与 PCA 的目标相匹配的。
2. 左奇异向量和右奇异向量的几何意义
(1) 右奇异向量 :定义列空间的主要方向
- 是数据矩阵 列空间的正交基(即主成分方向)。
- PCA 的目标是找到列空间的主成分方向,这些方向是 的特征向量,而这些正是右奇异向量。
(2) 左奇异向量 :定义行空间的主要方向
- 是数据矩阵 行空间的正交基。
- 的列向量是 的特征向量,反映的是样本之间的关系,而不是特征之间的关系。
为什么选择 而不是 ?
PCA 的重点是找到一个能够表示特征之间主要变化模式的方向(即列空间的变化模式),而不是关注样本之间的变化。因此,我们选择了右奇异向量 。
3. 方差的计算
- 方差的大小是主成分的重要指标,它衡量了数据在某个方向上的分散程度。
- 投影到主成分方向后的方差公式为: 这里的 是投影方向的单位向量。
右奇异向量 的列向量恰好是协方差矩阵 的特征向量,它最大化了这个方差。而左奇异向量 仅与 的特征值有关,并不能直接反映列空间的变化信息。
4. 数据降维的过程
降维的过程可以通过奇异值分解 (SVD) 来描述:
-
右奇异向量 :
- 列向量是协方差矩阵 的特征向量。
- 它表示数据列空间的主要变化方向,决定了降维后的低维子空间。
-
左奇异向量 :
- 列向量是 的特征向量。
- 它描述了数据样本之间的主要变化方向,与 PCA 的核心目标不一致。
5. 直观理解
-
右奇异向量 () 是列空间的“主方向”:
- 如果你把数据矩阵 看作一个集合,每一列是一个特征,那么 PCA 是从这些特征中提取主要方向。
- 定义了这些“主方向”。
-
左奇异向量 () 是行空间的“主方向”:
- 它定义了样本在行空间中的分布,但这不是 PCA 的主要目标。
6. 总结:为什么选择右奇异向量?
- 目标对齐:PCA 的目标是找到列空间的主方向,右奇异向量正是描述列空间的主方向。
- 方差最大化:右奇异向量与协方差矩阵 的特征值、特征向量直接相关。
- 几何意义:右奇异向量反映的是特征之间的关系,而左奇异向量反映的是样本之间的关系。
因此,在 PCA 中,我们选择右奇异向量来表示主成分方向,而不是左奇异向量。
t-SVD
t-SVD
理解该部分涉及到 t-SVD(tensor singular value decomposition,张量奇异值分解) 的知识及傅里叶变换在其中的应用。下面我们详细介绍其中的内容。
t-SVD 基础知识
t-SVD 是一种将矩阵奇异值分解(SVD)推广到三阶张量的分解方法。假设我们有一个三阶张量 (例如 个 矩阵的集合),t-SVD 的目的是将这个张量分解为类似 SVD 的结构,以便于解决特定优化问题,如核范数(nuclear norm)最小化等。
t-SVD 的分解公式如下:
其中:
- 和 是张量的正交因子(相当于矩阵 SVD 的左、右奇异向量矩阵的推广),
- 是对角张量,包含奇异值。
在这种分解形式中, * 操作符表示 张量卷积。
t-SVD 的步骤和傅里叶变换的应用
为了高效地进行 t-SVD,我们通常将 傅里叶变换 应用于张量的第三维度(即“深度”或“通道”维度),将问题转换到频域处理。具体步骤如下:
傅里叶变换:我们首先对张量 的第三维应用离散傅里叶变换(DFT),得到 ,即在频域下的表示:
变换后的张量 仍然是一个三阶张量,但其第三维表示的是不同的频率分量。
分解每个频率切片:在频域下, 的每个“切片”(对应于每个频率)都是一个 的矩阵,可以对每个频率切片进行普通矩阵的奇异值分解(SVD)。这样,每个切片可以分解为:
其中 是频率索引, 和 分别是该频率切片的左、右奇异矩阵, 是奇异值对角矩阵。
组合 t-SVD 分解结果:将所有频率切片的分解结果重新组合得到整个频域下的张量分解,即
逆傅里叶变换:将 、、 在频域下的表示逆变换回时域,得到最终的分解 。
核范数最小化及软阈值函数
在步骤 (13) 的公式中,张量核范数最小化问题的解决方案涉及一个软阈值(shrinkage)操作,这个操作在频域下进行。
在这里, 是通过对 张量进行软阈值操作得到的。这个操作定义了 张量,该张量的对角元素通过 进行缩放,从而对奇异值施加收缩操作,使得较小的奇异值趋于零,以达到核范数最小化的目的。
软阈值操作的解释
式 (13) 的软阈值函数 定义为 ,其中 是一个三阶对角张量,在傅里叶域下,它的元素表示为:
这意味着在频域下,对奇异值张量 中的每个对角元素进行缩放,如果 的值小于 ,则它会被设置为 0。这种方法类似于传统矩阵核范数最小化中的软阈值操作,将较小的奇异值衰减或直接变为零,从而达到张量的低秩逼近。
总结
Link to original
- t-SVD 利用傅里叶变换将三阶张量的分解问题简化为各频率切片上的矩阵 SVD 分解。
- 核范数最小化 是通过对奇异值进行软阈值操作实现的,在频域中使用缩放张量 来实现张量的低秩逼近。
- 软阈值函数作用于张量的奇异值,从而达到去除噪声或约束低秩结构的效果。