实际上,你可以把降维理解为“压缩”。
为什么要降维?维度太高了,处理起来很困难,算力负担很重,有的模型不擅长处理高维数据,在高维下表现很差(比如K近邻)。
为什么要压缩?尺寸太大了,储存、传输起来很困难,占用存储空间,有的场景下,I/O慢,不压缩会导致出现性能瓶颈。
无论是降维,还是压缩,都是在尽可能减少信息损失的前提下,得到一个紧凑的(维度较低、尺寸较小)表示。所以,将低维空间中的数据映射回高维空间,这是降维的应有之义。降维了,不能映射回去,那说明降维不成功。这就像压缩了不能解压缩,只能说是压缩失败了一样。
当然,压缩分有损压缩和无损压缩。如果你这里的低维空间映射回高维空间指的是完全复原原本的高维数据,也就是“无损”还原的话,那这个更多地取决于原本的数据。如果原本的数据分布具有某些特性,然后实现降维方法的时候利用这些分布的特性,那么是可以实现“无损”降维的。
举个例子,假如我们需要解决同一小区内的房租预测问题。那么,很显然,面积是一个很重要的因素,朝南、朝北也是一个很重要的因素。假设我们有含阳台面积、不含阳台面积两个维度。那么我们处理的时候,可能只考虑不含阳台面积,直接去除含阳台面积(从直觉上,这两个因素对房租的影响应该是相似的),这就是降维。能否从不含阳台面积还原出原本的含阳台面积,取决于数据分布的特性。假设,这个小区的所有阳台大小都是统一的,而且,朝南的必有阳台,朝北的必无阳台。那么,根据这一特性,我们是可以“无损”地恢复含阳台面积这一维度的。如果上述假设不成立的话,我们仍然可以假定朝南的有阳台,朝北的无阳台,阳台大小为某个数值,根据不含阳台面积重建出含阳台面积,这仍然是从低维映射回高维,只不过有点误差而已(有的朝南房可能无阳台,有的朝北房可能反而有阳台,阳台的大小也可能不一样)。
以上是一个简化的例子,实际问题没有这么简单。但基本思路是一致的。比如Sheng Yi等2011年发表的论文A Invertible Dimension Reduction of Curves on a Manifold(arXiv:1108.0007),就提出了一种流形上的曲线的可逆降维方法,就是一种巧妙地利用了流形的几何特征的“无损”降维方法。
(图片来源:前述论文)
上图右上红色为原本的形状序列,右下蓝色为重建的形状序列。
联系客服