8.2 降维的主要方法¶
减少维度的两种主要方法:投影和流形计算
8.2.1 投影¶
在大多数实际问题中,训练实例并不是均匀地分布在所有维度上。许多特征几乎是恒定不变的,而其他特征则是高度相关的(如之前针对MNIST所述)。结果,所有训练实例都位于(或接近于)高维空间的低维子空间内。
但是,投影并不总是降低尺寸的最佳方法。在许多情况下,子空间可能会发生扭曲和转动。
8.2.2 流形计算¶
瑞士卷是2D流形的一个示例。简而言之,2D流形是可以在更高维度的空间中弯曲和扭曲的2D形状。更一般而言,d维流形是n维空间(其中d<n)的一部分,局部类似于d维超平面。在瑞士卷的情况下,d=2且n=3时,它局部类似于2D平面,但在第三维中弯曲。
许多降维算法通过对训练实例所在的流形进行建模来工作。这称为流形学习。它依赖于流形假设(也称为流形假说),该假设认为大多数现实世界的高维数据集都接近于低维流形。通常这是根据经验观察到的这种假设。
考虑一下MNIST数据集:所有手写数字图像都有一些相似之处。它们由连接的线组成,边界为白色,并且或多或少居中。如果你随机生成图像,那么其中只有一小部分看起来像手写数字。换句话说,如果你试图创建数字图像,可用的自由度大大低于允许你生成任何图像的自由度。这些约束倾向于将数据集压缩为低维流形。
流形假设通常还伴随着另一个隐式假设:如果用流形的低维空间表示,手头的任务(例如分类或回归)将更加简单。但是,这种隐含假设并不总是成立
简而言之,在训练模型之前降低训练集的维度肯定可以加快训练速度,但这并不总是会导致更好或更简单的解决方案,它取决于数据集。