在数据科学领域,经常会遇到高维数据集,这些数据集的特征数量(维度)可能会对计算和分析造成极大的挑战。这种现象被称为“维度的诅咒”。维度的诅咒意味着随着特征数量的增加,数据处理和分析所需的计算量呈指数级增长。理论上,增加维度可以为数据添加更多的信息,但在实践中,它往往增加了数据中的噪声和冗余。基于距离的机器学习算法在处理高维数据时表现不佳,例如KNN(k-最近邻)算法。
在数学中,维度被定义为在空间中指定一个向量所需的最小坐标数。在Numpy中,数据集中独立特征或变量的数量被称为维度。当处理具有大量特征的大型数据集时,所需的计算工作量会急剧增加。例如,计算两个向量(记录)之间的距离,随着维度的增加,所需的计算量也会增加。如果有数百万条记录,完成这项任务需要大量的CPU核心。因此,在这种情况下,高维度被视为一种“诅咒”。
降维技术包括特征选择方法、流形学习(例如t-SNE、MDS等)和矩阵分解(例如PCA、核PCA等)。主成分分析(PCA)是一种广泛使用的降维技术,属于无监督机器学习算法,因为不需要为降维提供标签。PCA可以用来降低数据的维度,也可以用来分析高维数据在低维的表现。PCA算法的任务是找到新的轴或基向量,以在低维中保留数据的更高方差。在PCA中,新轴被称为主成分。
当减少数据集中的特征(列)时,会丢失一些有用的信息。PCA试图通过考虑投影向量的方差来保留信息。哪个向量保留了更多的方差,就将其选为新的轴。可以通过两种方式解决PCA:1. 选择在新特征空间中保留更多方差的向量。2. 最小化实际值和投影向量之间的误差。许多降维算法都试图以不同的方式保留更多的信息。
什么是投影向量的方差?让分解一下,一个向量(x)投影到另一个向量(y)上,其中y被称为投影向量。从上面的图像中,b向量投影到a向量的公式是a*b,因为a的长度是1。这是将要使用的重要公式。
主成分分析的步骤和数学证明:步骤1:对数据集中的连续特征进行标准化。步骤2:计算协方差矩阵。步骤3:计算协方差矩阵的特征值和特征向量。为什么需要协方差矩阵以及其特征值和特征向量?知道PCA将尝试找到新的主成分(轴),但它如何做到这一点呢?它尝试了一堆向量(xi),并将所有数据点投影到这些向量(xi)上,并计算向量(xi)的方差,并选择保留数据点更高方差的向量(xi)。
这可以想象成没有梯度下降的线性回归,模型将尝试一堆线,并计算实际值和预测值之间的误差。对于最佳拟合线,在线性回归中考虑了成本函数。但PCA将根据特征值选择轴,而轴不过是对应于该特征值的特征向量。新轴 = 特征向量。但为什么是特征向量和特征值?在证明之前,需要了解一些涉及主成分分析的数学公式。1. 需要一个投影向量的方差公式。2. 需要了解协方差的闭式形式。
协方差的闭式公式——-> 方程1。协方差矩阵的公式——-> 方程2。方程1和方程2是相同的。不深入证明协方差和闭式协方差矩阵的等式。计算新轴(主成分)上的数据点值的公式——-> 方程3。从投影向量的方差方程中,可以看到一些魔法,即闭式协方差矩阵和投影向量的方差是相同的。所以已经知道闭式协方差矩阵和协方差矩阵是相同的。所以现在,投影向量的方差和协方差矩阵是相同的,协方差矩阵等于投影向量的方差。