联系我们

AI 101.

什么是减少维数?

mm

更新

 on

什么是减少维数?

减少维度是用于减少数据集的维度的过程,占用许多功能并将其代表为较少的功能。例如,可以使用维数减少来减少20个特征的数据集,以仅为几个特征。通常使用维度减少无人监督的学习任务以自动创建许多功能的课程。为了更好地理解为什么和数量减少,我们将看一下与高维数据相关的问题以及降低维度最流行的方法。

更多尺寸导致过度装备

维度是指数据集中的特征/列的数量。

它经常认为在机器学习更多功能更好,因为它创造了更准确的模型。但是,更多的功能不一定转化为更好的模型。

数据集的特征可以在模型对模型有用时变化,许多功能具有很小的重要性。此外,数据集包含的功能越多,需要更多的样本来确保特征的不同组合在数据中很好地表示。因此,样品的数量与特征数量的比例增加。更多样本和更多特征意味着模型需要更复杂,并且随着模型变得更加复杂,它们对过度装备更敏感。该模型在训练数据中的模式效果很好地了解,并且无法概括为超出样本数据。

减少数据集的维度有几个好处。如上所述,更简单的型号不太容易发白,因为模型必须缩小关于功能如何彼此相关的假设。此外,培训算法需要较少的尺寸意味着较少的计算能力。同样,对于具有较小维度的数据集,需要更少的存储空间。减少数据集的维度也可以让您使用不合适的算法,这些算法具有许多功能的数据集。

常见的维度减少方法

减少维度可以通过特征选择或特征工程。功能选择是工程师识别数据集最相关的功能的位置特征工程是通过组合或转换其他功能来创建新功能的过程。

功能选择和工程可以以编程方式或手动完成。手动选择和工程功能时,可视化数据以发现功能与类之间的相关性是典型的。以这种方式执行维度减少可能是相当长的,因此减少维度的一些最常见方法涉及使用Scikit-Groods的库中可用的算法使用。这些常见的维度降低算法包括:主成分分析(PCA),奇异值分解(SVD)和线性判别分析(LDA)。

用于减少维数的算法无人监督的学习任务通常是PCA和SVD,而那些杠杆化的监督学习减少维度通常是LDA和PCA。在监督学习模型的情况下,新生成的功能恰好进入机器学习分类器。注意到这里描述的用途只是一般​​用例,而不是这些技术可以使用的唯一条件。上述维数减少算法是简单的统计方法,它们在机器学习模型之外使用它们。

主要成分分析

照片:矩阵带有主成分

主成分分析(PCA)是一种分析数据集的特征/功能的统计方法,并总结了最有影响力的功能。数据集的特征将其组合在一起,以维持数据的大多数特征,但在较少的尺寸上分布。您可以将此视为“向下向下向下降到少量尺寸的数据”。

作为PCA可能有用的情况的一个例子,想想一个可以描述葡萄酒的各种方式。虽然可以使用许多高度特定的特征描述葡萄酒,如CO2水平,曝气水平等,但在试图识别特定类型的葡萄酒时,这种特定特征可能是相对无用的。相反,基于味道,颜色和年龄的更一般的特征来识别该类型更谨慎。 PCA可用于组合更具体的功能并创建更普遍,有用的功能,不太可能导致过度拟合。

通过确定输入特征如何从彼此的均值变化,确定是否存在于特征之间的任何关系来执行PCA。为此,创建协调矩阵,建立关于可能对数据集特征对由CovariRces组成的矩阵。这用于确定变量之间的相关性,其中负协方差指示反向相关性和指示正相关的正相关。

通过创建初始变量的线性组合来创建数据集的主体(最具影响力)组件,该组合在呼叫线性代数概念的帮助下完成特征值和特征向量。创建组合,使得主组件彼此不相关。其中包含在初始变量中的大多数信息被压缩到前几个主体组件中,这意味着已创建了新功能(主体组件),其中包含来自较小维度空间中的原始数据集的信息。

奇异值分解

Photo: By Cmglee – Own work, CC BY-SA 4.0, //commons.wikimedia.org/w/index.php?curid=67853297

奇异值分解(SVD)用于简化矩阵内的值,将矩阵降至其组成部分,并更容易地使用该矩阵进行计算。 SVD可以用于实际值和复杂矩阵,但是对于该解释的目的,将检查如何分解真正值的矩阵。

假设我们有一个由实际值数据组成的矩阵,我们的目标是减少矩阵内的列/功能的数量,类似于PCA的目标。与PCA一样,SVD将压缩矩阵的维度,同时保留多个矩阵’尽可能的变化。如果我们想在矩阵A上运行,我们可以将矩阵A表示为称为U,D,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具有较小的尺寸和A内的大部分数据。

线性判别分析

 

左:LDA之前的矩阵,右:LDA后的轴,现在可分离

线性判别分析(LDA)是一种从多维图表中获取数据的过程将其归功于线性图形。您可以通过思考填充有两个不同类的数据点的二维图来设想这一点。假设点分散在围绕,以便可以绘制任何线,这将整齐地分离两个不同的类。为了处理这种情况,可以将在2D图中发现的点减少到1D图(一条线)。此行将拥有分布在其上的所有数据点,希望它可以分为两部分,表示数据的最佳分离。

在进行LDA时,有两个主要目标。第一目标是最小化类的方差,而第二个目标是最大化两类手段之间的距离。这些目标是通过创建在2D图中存在的新轴来实现的。新创建的轴是根据先前描述的目标分隔两个类。在创建轴之后,在2D图中找到的点沿轴放置。

将原始点沿新轴移动到新位置需要三个步骤。在第一步中,各个类别装置之间的距离(类之间的方差之间)用于计算类的可分离性。在第二步中,通过确定样本与所讨论的类的均值之间的距离来计算不同类内的方差。在最后一步中,创建最大化类之间的差异的低维空间。

当目标类的手段彼此相距远远时,LDA技术实现了最佳结果。如果分布重叠的装置,LDA无法将类别与线轴分开。