降维在信息保留与压缩之间取舍
从投影、流形和表示学习理解降维怎样压缩特征,并说明可视化、去噪和建模中的不同目标。
降维在信息保留与压缩之间取舍
高维数据包含许多变量,但变量数量多不等于有效信息多。部分变量可能高度相关,部分只有噪声,还有一些只对特定任务有用。降维把原始表示映射到较少坐标,希望减少存储和计算、缓解噪声或揭示主要结构,但任何压缩都会选择保留什么、舍弃什么。
因此,“从一千维降到二维”不是一个完整目标。用于可视化、分类前处理、近邻检索和压缩重构时,合适的降维方法和评价标准并不相同。
主成分分析寻找方差较大的正交方向
主成分分析先对数据中心化,再寻找能够解释最大方差的方向。第一主成分取得最大投影方差,后续主成分与前面方向正交,并在剩余方向中继续最大化方差。保留前几个主成分,相当于用一个低维线性子空间近似数据。
方差大不一定代表任务重要。一个测量噪声很大的变量可能主导主成分,而对少数类有决定作用的微弱信号可能位于低方差方向。主成分分析不读取标签,不能保证保留下来的方向最适合预测。
变量尺度也会改变结果。以米、毫米或金额表示同一性质会改变方差大小。是否标准化要根据变量单位与问题含义决定;自动标准化虽然常见,却会让原本可靠且量纲有意义的大变化与噪声变量获得相同初始权重。
解释方差比描述保留主成分覆盖的总方差比例。它有助于选择维数,但不是信息完整率,更不等于下游准确率。应同时检查重构误差和具体任务表现。
非线性方法保存的是特定邻域关系
真实数据可能位于弯曲的低维结构上,线性投影无法展开。流形学习和邻域嵌入方法尝试保存局部近邻、测地距离或概率相似度,从而在二维或三维中呈现团块和连续变化。
这类图形容易被过度解释。二维图上的团块大小、团块间距离和空白区域可能由超参数、初始化及密度差异造成,不一定对应原空间中的全局距离。相同数据更换随机种子或邻居数量后,布局可能旋转、分裂或合并。
用于探索时,应在多个参数和抽样下检查稳定性,并回到原始特征验证观察到的群组。降维图可以提出问题,不能单独证明类别天然分离。
某些非线性方法主要面向可视化,没有稳定的样本外变换。若生产系统需要为新样本生成坐标,必须确认方法支持一致变换,或者训练单独的参数化映射。
表示学习可以把压缩目标交给模型
自编码器通过编码器把输入压缩到潜在表示,再由解码器重构输入。瓶颈维数、网络结构和损失函数决定哪些信息被保留。若只最小化像素均方误差,模型可能偏好平滑和高能量部分,而忽略语义上重要的小对象。
加入去噪、稀疏或任务监督会改变潜在空间。一个适合重构的表示未必适合聚类,一个适合分类的表示也可能丢失与标签无关但业务仍需要的信息。不能把“深度模型产生的表示”自动视为更有意义。
训练表示时同样存在过拟合。样本数相对参数过少时,模型可能记忆训练数据。需要独立验证重构、下游性能、邻域稳定性和异常样本行为。
降维必须放在数据切分内部
主成分、均值尺度、邻域图和编码器参数都从数据学习。若在完整数据上拟合后再划分训练集与测试集,测试数据的分布已经影响表示,评估会产生泄漏。
正确流程是在每个训练折内拟合降维,再将同一变换应用到验证折。超参数选择也要留在内层验证边界。最终模型确定后,才能用完整训练数据重新拟合并对独立测试集评价。
时间变化场景还要考虑表示漂移。新数据的主方向可能改变,旧投影的解释方差下降。重新拟合会改变坐标含义,依赖这些坐标的阈值、聚类和可视化需要一起版本化。
评价取决于使用目的
压缩关注文件大小、计算量和重构误差;可视化关注局部关系和跨参数稳定性;监督建模关注独立数据上的任务指标;检索则关注近邻召回和排序质量。单一“保留百分之多少方差”无法覆盖这些目标。
还应检查不同群体的信息损失。占多数的群体可能决定主要方差方向,使少数群体在低维表示中被压缩。按群体比较重构误差和下游表现,可以发现汇总指标掩盖的问题。
降维的价值在于用较少坐标表达对当前目的重要的结构。只有明确投影假设、数据边界和评价目标,低维表示才是可用的工程对象,而不是一幅看起来整齐的图。
部署时还应保存完整变换对象,而不只是低维数据。中心化参数、尺度、主成分顺序、随机种子和软件版本共同决定坐标。若只保存二维结果,新样本无法使用同一空间,模型回滚也无法重现。特征集合或顺序变化时,旧变换应拒绝输入而不是静默套用。
降维后的特征名称往往失去直接业务含义。需要解释模型时,可以检查原变量载荷、扰动敏感性和代表样本,但这些解释受方法假设限制。不能因为某个主成分与一组变量相关,就把它重新命名成未经验证的现实概念。
资料依据
- scikit-learn Project:User Guide,https://scikit-learn.org/stable/user_guide.html
- Goodfellow、Bengio、Courville:Deep Learning,https://www.deeplearningbook.org/