登录
首页大数据时代你需要掌握的4种常用数据降维方法
你需要掌握的4种常用数据降维方法
2020-07-09
收藏

近来数据记录和规模属性都在急剧增长,由于大多数数据挖掘算法都是直接逐列处理数据,因此导致算法越来越慢。为了保证减少数据列数的同时,丢失的数据信息尽可能少,

数据降维处理算法应运而生。

一、降维的概念和本质

机器学习领域中的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。

二、降维的作用:

1.降低时间复杂度和空间复

2.节省了提取不必要特征的开销

3.去掉数据集中夹杂的噪音

5.较简单的模型在小数据集上有更强的鲁棒性

6.当数据能有较少的特征进行解释,我们可以更好 的解释数据,使得我们可以提取知识。

7.实现数据可视化

三、常用的降维方法

1.PCA

PCA是不考虑样本类别输出的无监督降维技术。

PCA的算法步骤:

设有m条n维数据。

1)将原始数据按列组成n行m列矩阵X

2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值

3)求出协方差矩阵

4)求出协方差矩阵的特征值及对应的特征向量

5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P

6)即为降维到k维后的数据

2.LDA

LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。什么意思呢? 我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。

LDA算法步骤:

1) 计算类内散度矩阵

2) 计算类间散度矩阵

3) 计算矩阵

4)计算的最大的d个特征值和对应的d个特征向量,得到投影矩阵[Math Processing Error]

5) 对样本集中的每一个样本特征,转化为新的样本

6) 得到输出样本集

3.局部线性嵌入 (LLE)

Locally linear embedding(LLE)是一种非线性降维算法,即使数据降维后,也能较好地保持原有 流形结构 。LLE称得上是流形学习方法最经典的工作之一,后续很多的流形学习、降维方法都与LLE有密切联系。

如下图,使用LLE将三维数据(b)映射到二维(c)之后,映射后的数据仍能保持原有的数据流形(红色的点互相接近,蓝色的也互相接近),说明LLE有效地保持了数据原有的流行结构。

但是LLE在有些情况下也并不适用,如果数据分布在整个封闭的球面上,LLE则不能将它映射到二维空间,且不能保持原有的数据流形。那么我们在处理数据中,首先假设数据不是分布在闭合的球面或者椭球面上。

4.拉普拉斯特征映射(Laplacian Eigenmaps)

Laplacian Eigenmaps 是用局部的角度去构建数据之间的关系。

使用时算法具体步骤为:

步骤1:构建图

使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。K是一个预先设定的值。

步骤2:确定权重

确定点与点之间的权重大小,例如选用热核函数来确定,如果点i和点j相连,那么它们关系的权重设定为:



使用最小的m个非零特征值对应的特征向量作为降维后的结果输出。

数据分析咨询请扫描二维码

客服在线
立即咨询