介绍:
所谓的机器学习领域的维度降低是指使用某些映射方法将原始高维空间中的数据点映射到低维空间。降低维度的本质是学习映射函数f:x-> y,其中x是原始数据点的表达,目前使用了最多的向量表达式。 y是数据点映射后的低维矢量表达,通常y的尺寸小于x的尺寸(当然,也可以增加尺寸)。 F可以是显式或隐式,线性或非线性的。
当前,大多数降低算法的过程数据由向量表达的过程数据以及高阶张量表示的一些维度降低算法过程数据。使用降低维度后的数据表示形式的原因是,在原始的高维空间中,包括冗余信息和噪声信息,这会导致实际应用中的错误,例如图像识别,降低准确性;通过降低维度,我们希望减少由冗余信息引起的错误并提高识别的准确性(或其他应用程序)。或者,也许我们希望通过降低维数算法找到数据内的基本结构特征。
在许多算法中,维度降低算法成为数据预处理(例如PCA)的一部分。实际上,某些算法实际上很难取得良好的结果,而无需降低预处理。
注意:我写的是有点口语,由于网络博客的编辑功能,许多地方可能会有些简单。
主成分分析算法(PCA)
(PCA)是最常用的线性维度降低方法。它的目的是通过一些线性投影将高维数据映射到低维空间表示中,并且可以预期数据在投影维度中具有最大的差异,因此,对于这种数据维度,则使用较少的数据维度,同时保留更多的特征。原始数据点。
在共同的理解中,如果将所有点映射在一起,几乎所有信息(例如点之间的距离关系)将丢失,并且如果映射后映射后的差异尽可能大,则数据点将被分散。让我们打开它以保留更多信息。可以证明,PCA是一种线性降低方法,其原始数据信息丢失最少。 (实际上,它是最接近原始数据的,但是PCA并未尝试探索数据的内部结构)
令n维矢量W为目标子空间的坐标轴方向(称为映射向量),以最大化数据映射后的方差,包括:
其中m是数据实例的数量,XI是数据实例I的向量表达式,而X块是所有数据实例的平均向量。定义的W是一个矩阵,其中包含所有映射向量作为列向量。线性代数转换后,可以获得以下优化目标函数:
其中tr表示矩阵的轨迹,
A是数据协方差矩阵。
最佳w可以通过由数据的第一个协方差矩阵中的最大特征值组成的特征向量组成的列向量很容易获得。这些特征向量构成一组正交基础,并在数据中最佳保留信息。
PCA的输出为Y = W'x,从X的原始维度降低到K-二维性。
PCA追求降低维度后数据的内在信息的能力,并通过在投影方向上测量数据差异的大小来测量方向的重要性。但是,这种投影对数据的区别不大,但可能会使数据点混合在一起,无法区分。这也是PCA的最大问题,这在许多情况下会导致使用PCA的分类效应不佳。有关详细信息,您可以看到下图。如果PCA用于在一维空间上投影数据点,则PCA将选择2个轴,这使得两个点簇易于区分并变得难以区分;选择1个轴时,您将获得良好的区别结果。
追求的目标与PCA不同。并不是您要保留大多数数据信息,而是可以在降低维度后轻松区分数据。 LDA方法将在稍后引入,这是另一种常见的线性降低方法。其他非线性降低方法还可以使用数据点的局部属性(例如LLE等)在结果之间更好地区分结果。稍后将其引入。
LDA
(也称为)是一种监督()线性维度降低算法。与PCA维护数据信息不同,LDA是尽可能轻松地减少维度后的数据点!
假设原始数据表示为x(m*n矩阵,m是维度,n是数量)
由于它是线性的,因此希望找到映射向量A,以便A'X之后的数据点可以维护以下两个属性:
1。类似的数据点尽可能接近()
2。应尽可能分开不同类型的数据点()
因此,这是我上次用于PCA的图片。如果图中的两个点是两种类型,那么我们希望它们可以投射到轴1(PCA结果为Axis 2),这在一维空间中也非常好,易于区分。
接下来是派生。因为在这里编写公式是不方便的,所以我引用了邓凯老师的PPT中的一张小照片:
这个想法仍然很清楚。目标函数是最后一行j(a),μ()是用于评估类间距的映射中心,s()是映射点和用于评估内部内部的中心之间的距离之和 - 类距离。 j(a)刚从上述两个属性演变。
因此,在两类中:
添加A'A = 1条件(类似于PCA)
它可以扩展到多个类别:
上述公式推导可专门用于参考书中的相应章节,以及
好的,计算映射向量A是为了找到最大特征向量,也可以由前几个最大特征向量向量组成,然后在形成矩阵a = [a1,a2,….ak]之后,您可以减少尺寸新点:y = A'x(线性的好处之一是它易于计算!)
可以发现,LDA最终成为查找矩阵特征向量的问题,该矩阵特征向量与PCA非常相似。实际上,许多其他算法也归因于此类别,该类别通常称为()方法。
我认为,降低线性维度算法的最重要的是PCA和LDA。稍后我将介绍一些非线性方法。
局部线性嵌入(LLE)
(LLE)[1]是一种非线性维度降低算法,它可以更好地维护降低降低后原始的歧管结构。可以说是多种学习方法中最经典的工作之一。随后的许多流形学习和降低降低方法与LLE密切相关。
参见图1。使用LLE将三维数据(b)映射到二维(C)之后,映射的数据仍然可以维护原始数据歧管(红点彼此接近,蓝色的数据靠近每个数据其他显示LLE有效地维护了数据的原始流行结构。
但是,在某些情况下,LLE不适用。如果数据分布在整个封闭的球体中,则LLE无法将其映射到二维空间,并且无法维护原始数据歧管。然后,当我们处理数据时,我们首先假设数据未分布在封闭的球形表面或椭球表面上。
图1 LLE维度降低算法的示例
LLE算法认为,每个数据点可以通过其最近邻居的线性加权组合构建。算法的主要步骤分为三个步骤:(1)找到每个样本点的k邻居; (2)从每个样本点的邻居中计算样品点的局部重建权重矩阵; (3)样品点的局部重建权重矩阵及其最近的邻居计算样品点的输出值。特定算法流如图2所示:
图2 LLE算法步骤
拉普拉斯功能图
让我们继续编写一些经典的维度降低算法。我之前介绍了PCA,LDA和LLE。我会在这里谈论它。实际上,并不是每个算法都比上一个算法更好,而是每个算法从不同角度看问题,因此解决问题的想法是不同的。这些降低算法的想法非常简单,但是在某些方面非常有效。这些方法实际上是某些新算法的想法来源。
[1]查看问题的观点与LLE的观点有些相似,也是使用局部观点来构建数据之间的关系。
它的直观想法是希望彼此相关的点(图中连接的点)将在降低维度减少后的空间中尽可能接近。它可以反映数据的固有歧管结构。
使用过程中该算法的特定步骤是:
步骤1:构建图
使用某种方法将所有点构建到图中,例如使用KNN算法,将最接近每个点的k点连接到顶部。 k是预设价值。
步骤2:确定重量
确定点之间的重量大小,例如,选择一个热内核函数以确定。如果点I和点J已连接,则将其关系的重量设置为:
使用对应于最小M非零特征值的特征向量作为降低降低后的结果。
如前所述,它具有区分数据点的特征,从以下示例可以看出:
图1实验结果
参见图1。左侧的图显示了有两种类型的数据点(数据是图片),中间图显示了每个数据点在降低后二维空间中的位置,以及在二维空间中的位置,以及在该数据上的位置右图显示使用PCA,并采用前两个。可以清楚地看到,主要方向投影后的结果明显优于PCA。
图2降低滚动数据的尺寸
图2说明了高维数据(图中的3D)也可能具有较低的固有属性(图中滚动实际上是2D),但是这种低维度不是原始的坐标表示,例如,如果您想要为了维持局部关系,下面的蓝色和黄色是完全无关紧要的,但是仅以任何2D或3D距离来描述它是不准确的。
以下三个数字是不同参数下的扩展结果(维度降低至2D)。可以看出,整个皮带似乎要扁平。因此,蓝色和黄色之间的差异很远。
本文的来源:
版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;
工作时间:8:00-18:00
客服电话
0755-88186625
电子邮件
admin@lanyu.com
扫码二维码
获取最新动态