上下文缺失
静态嵌入忽略了单词与上下文之间的动态关系,无法捕捉句子或段落中词语的细微语义差异。
例如,在 bright light(明亮的光)中,bright 表示“明亮”,而在 bright student(聪明的学生)中,bright 却表示“聪明”。
静态嵌入方法无法感知这种上下文信息,生成的向量可能对所有上下文一视同仁,从而丢失关键的语义线索。
高维空间中的问题
稀疏性
当数据维度升高时,大多数数据点都趋于分布在空间的边界,而不是中心地带。这种现象使得数据点之间的距离更加接近,导致距离度量的退化问题,即不同数据点之间的差异难以被明显区分。
集中性
在高维空间中,所有点之间的距离差异会逐渐变小,导致高维向量的分布呈现出一种近似均匀的状态。这种分布模式对最近邻搜索和分类任务提出了挑战,因为传统的距离度量方法(如欧式距离或余弦相似度)在高维空间中可能失去区分力。
PCA 与 SVD
PCA 的核心思想
PCA(Principal Component Analysis)的核心目标是通过寻找数据的主成分,将高维数据投影到低维子空间,同时尽可能保留原始数据的信息。
主成分是原始数据中方差最大的方向,也可以理解为数据变化最显著的方向。
PCA 的原理
PCA 通过对协方差矩阵进行特征值分解,选择特征值最大的几个方向对应的特征向量,构成新的低维空间。
换句话说,PCA 试图用更少的变量表示数据,同时尽量减少信息损失。
SVD 的核心思想
SVD(Singular Value Decomposition)通过对矩阵进行分解,将数据映射到一个低秩子空间。
SVD 的原理
SVD 可以将任意矩阵分解为三个矩阵的乘积:
- 左奇异矩阵
- 对角奇异值矩阵
- 右奇异矩阵
SVD 的作用与应用
SVD 在很多情况下是 PCA 的基础,因为协方差矩阵的特征值分解可以通过数据矩阵的 SVD 来计算。
SVD 不仅可以用于降维,还广泛应用于图像压缩、推荐系统和自然语言处理等场景。
PCA 与 SVD 的关系与类比
一个形象的比喻是:如果将高维数据看作一个复杂的多面体,PCA 像一个雕刻师,寻找最具代表性的切割面,用以呈现数据的主要结构;而 SVD 更像一个万能工具箱,不仅能找到这些关键方向,还能全面分析数据的形状、大小与方向。
总结
PCA 与 SVD 在实际应用中通常配合使用,例如可以通过 SVD 计算 PCA 的主成分。
PCA 更侧重于解释数据的主要变化方向;SVD 则更通用,可以处理非方阵和稀疏矩阵,是更广泛的数据分解工具。
t-SNE 与 UMAP
t-SNE 的特点
t-SNE(t-Distributed Stochastic Neighbor Embedding)在处理非线性数据时表现优异,特别适合用于揭示数据的簇状结构。
它的计算复杂度较高,尤其是在大规模数据上表现受限,同时难以保留全局信息。
t-SNE 更强调局部数据结构,通过最小化高维空间与低维空间的概率分布差异,将相近的点聚集在一起,因此更适合观察数据的聚类模式。
UMAP 的核心思想
UMAP(Uniform Manifold Approximation and Projection)是一种基于拓扑理论的降维方法,专注于保留数据的流形结构。
UMAP 的原理
UMAP 通过构造高维空间的邻接图来捕捉数据的局部关系,然后在低维空间中优化该图结构,使其尽可能保留高维空间的几何特性。
t-SNE 与 UMAP 的对比
与 t-SNE 相比,UMAP 具有以下特点:
- 计算速度更快,扩展性更强
- 更适合大规模数据处理
- 在局部结构与全局结构之间取得更好的平衡
- 支持参数化嵌入,可通过参数控制嵌入的紧凑或分散程度
直观理解
可以将高维数据类比为一张复杂的城市地图:
- t-SNE 更像是只关注街区内部关系的放大镜,强调局部相似性
- UMAP 更像一张压缩后的城市地图,在保留街区关系的同时,也保留整体道路结构
总结
t-SNE 在揭示局部聚类结构方面具有优势,但计算成本较高,适合探索性分析。
UMAP 同时兼顾局部与全局结构,效率更高,更适合大规模数据集。
两者可根据任务需求选择使用,以优化低维嵌入的表达效果。