降维算法全面解析:从基础概念到实战应用
1. 降维的主要方法
在深入探讨具体的降维算法之前,我们先来了解两种主要的降维方法:投影(Projection)和流形学习(Manifold Learning)。
1.1 投影
在大多数实际问题中,训练实例并非均匀分布在所有维度上。许多特征几乎是恒定的,而其他特征则高度相关。这导致所有训练实例都位于(或接近)高维空间中的一个低维子空间。
例如,有一个 3D 数据集,所有训练实例都靠近一个平面,这个平面就是高维(3D)空间中的一个低维(2D)子空间。我们将每个训练实例垂直投影到这个子空间上,就得到了一个新的 2D 数据集,这样就将数据集的维度从 3D 降低到了 2D。
不过,投影并不总是降维的最佳方法。在很多情况下,子空间可能会扭曲和转弯,就像著名的瑞士卷玩具数据集。如果简单地将其投影到一个平面上,会把瑞士卷的不同层挤压在一起,而我们真正想要的是将瑞士卷展开以获得一个 2D 数据集。
1.2 流形学习
瑞士卷是一个 2D 流形的例子。简单来说,2D 流形是一种可以在高维空间中弯曲和扭曲的 2D 形状。更一般地,d 维流形是 n 维空间(其中 d < n)的一部分,它在局部上类似于 d 维超平面。
许多降维算法通过对训练实例所在的流形进行建模来工作,这就是流形学习。它依赖于流形假设,即大多数现实世界的高维数据集都靠近一个低得多的维流形。这个假设在很多情况下都能通过实验观察到。
以 MNIST 数据集为例,所有手写数字图像都有一些相似之处,如由相连的线条组成、边界是白色的,并且大致居中。如果随机生成图像,只有极小一
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



