主成分分析
主成分分析(PCA)是一种统计方法,它分析数据集的特征,并总结出最具影响力的特征。数据集的特征被组合成表示,这些表示保持了数据的大部分特征,但分布在较少的维度上。您可以将其视为将数据从高维表示向下“压缩”到只有几个维的表示。
作为PCA可能有用的一个例子,想一想描述葡萄酒的各种方式。虽然可以使用许多非常具体的特征来描述葡萄酒,如二氧化碳水平、通气量等,但在试图识别特定类型的葡萄酒时,这些特征可能相对无用。取而代之的是,根据口味、颜色和年龄等更一般的特征来识别类型会更为谨慎。PCA可用于组合更具体的特性,并创建更通用、更有用且不太可能导致过度拟合的特征。
PCA是通过确定输入特征相对于彼此的平均值如何变化来执行的,确定特征之间是否存在任何关系。为了做到这一点,创建一个协方差矩阵,建立一个由关于数据集特征的可能对的协方差组成的矩阵。这用于确定变量之间的相关性,负协方差表示逆相关,正相关表示正相关。
数据集的主要(最有影响的)组成部分是通过创建初始变量的线性组合来创建的,这是在称为特征值和特征向量的线性代数概念的帮助下完成的。组合的创建使得主成分彼此不相关。初始变量中包含的大部分信息都被压缩到前几个主成分中,这意味着新的特征(主成分)已经被创建出来,这些特征包含了来自原始数据集的信息,并且在更小的维度空间中。
奇异值分解
奇异值分解(SVD)用于简化矩阵中的值,将矩阵分解为其组成部分,并使用该矩阵进行计算变得更容易。奇异值分解既可用于实值矩阵,也可用于复杂矩阵。
假设我们有一个由实值数据组成的矩阵,我们的目标是减少矩阵中的列/特征的数量,类似于PCA的目标。与主成分分析一样,奇异值分解在尽可能保持矩阵可变性的同时压缩矩阵的维数。如果我们要对矩阵A进行运算,我们可以将矩阵A表示为其他三个矩阵,分别称为U、D和V。矩阵A由原始的x*y元素组成,而矩阵U由元素x*x组成(这是一个正交矩阵)。矩阵V是一个包含y*y元素的不同的正交矩阵。矩阵D包含元素x*y,它是一个对角矩阵。
为了分解矩阵A的值,我们需要将原始的奇异矩阵值转换成新矩阵中的对角值。在处理正交矩阵时,如果将它们与其他数相乘,它们的性质不会改变。因此,我们可以利用这个性质来近似矩阵A。当我们将正交矩阵与矩阵V的转置相乘时,结果是与原始a等价的矩阵。
当矩阵a分解为矩阵U、D和V时,它们包含矩阵a中的数据。然而,矩阵最左边的列将保存大部分数据。我们只需要前几列,就可以得到矩阵a的表示形式,它的维数和大部分数据都在a中。
线性判别分析
线性判别分析(LDA)是从多维图中提取数据并将其重新投影到线性图上的过程。您可以通过设想一个二维图来设想这一点,该图中填充了属于两个不同类的数据点。假设这些点被分散在周围,这样就没有一条线可以将两个不同的类整齐地分开。为了处理这种情况,可以将二维图形中的点简化为一维图形(直线)。这条线将拥有分布在其上的所有数据点,并且有望被分成两个部分,这两个部分代表了数据的最佳分离。
在进行LDA时,有两个主要目标。第一个目标是最小化类的方差,而第二个目标是最大化两个类平均值之间的距离。这些目标是通过创建一个将存在于二维图形中的新轴来实现的。新创建的坐标轴根据前面描述的目标将两个类分开。创建坐标轴后,二维图形中找到的点将沿轴放置。
将原始点沿新轴移动到新位置需要三个步骤。在第一步中,用类间距离均值(类间方差)来计算类的可分性。在第二步中,计算不同类别内的方差,通过确定所讨论类别的样本和平均值之间的距离来完成。在最后一步中,将创建使类之间的方差最大化的低维空间。
当目标类的平均值相距很远时,LDA技术可以获得最佳结果。如果分布的平均值重叠,LDA无法有效地用线性轴分离类。