在数据科学的海洋中,降维是一项强大的技术,能够帮助我们简化复杂的数据集并提升机器学习模型的稳定性。通过减少特征空间的维度,我们得以获得在统计上可靠的模型。降维主要有两种实现途径:特征选择和特征变换。
特征选择侧重于选择那些对数据影响最大的特征,而移除那些共性或重要性较低的特征。这样,我们能够精确地聚焦于那些真正影响数据的主要因素。
特征转换或称特征提取则致力于将高维数据投影到低维空间。这一过程中,我们利用各种技术手段,如主成分分析(PCA)、矩阵分解、自动编码器(Autoencoders)、t-Sne、UMAP等。
本文将重点探讨主成分分析与自动编码器这两种方法。我们将详细剖析这两种方法的优劣,并通过实际案例来进一步阐释其应用。
主成分分析是一种无监督的技术,它将原始数据投影到若干个高方差的方向上,这些方向彼此正交,从而使得投影后的数据相关性极低。其操作步骤如下:
步骤一:计算一个大小为nn的相关矩阵。
步骤二:计算该矩阵的特征向量和特征值。
步骤三:选取特征值较高的k个特征向量作为主方向,其中k小于或等于n。
步骤四:将原始数据集投影到这些主方向上,从而得到低维度的数据。
自动编码器则是一种无监督的人工网络。它通过压缩数据到较低维度,然后重新构建原始数据,来消除重要特征上的噪声和冗余。编码器负责将高维数据编码为低维表示,而则尝试从低维数据中重建原始高维数据。
自动编码器在数据处理上具有更大的灵活性。与PCA的线性变换相比,自动编码器既可以执行线性变换,也能执行非线性变换。这使得它能够更好地捕捉数据的复杂模式和像素值的突然变化。尽管这需要更多的计算资源和时间,但在处理大型和复杂的数据集时,自动编码器通常表现出更强的性能。
从具体细节来看,PCA将数据投影到若干正交的方向上,而自动编码器降维后的数据维度并不一定正交。PCA更适用于数据量较小的场景,而自动编码器则可以应用于更广泛的数据集。PCA的唯一超参数是正交向量的数量,而自动编码器的超参数则涉及网络的结构参数。单层的、采用线性激活函数的自动编码器与PCA在性能上相近,但多层非线性激活函数的自动编码器(深度自动编码器)能够展现出更好的性能。