机器学习基础-数据降维

首先需要了解下:什么叫做数据降维,为什么要对数据进行降维,如果不做降维处理会出现哪些问题?

一、什么是数据降维

数据降维,又称为维数约简。顾名思义,就是降低数据的维度。

数据降维,一方面可以解决"维数灾难",缓解"信息丰富、知识贫乏"现状,降低复杂度;另一方面可以更好的认识和理解数据。

二、什么情况需要数据降维

数据降维是维数归约的一个重要课题。

数据降维可以降低模型的计算量并减少模型运行时间、降低噪音变量信息对于模型结果的影响、便于通过可视化方式展示规约后的维度信息并减少数据存储空间。

数据降维一般针对高维数据进行操作,但不是所有的高维数据都需要进行数据降维,一般我们判断是否需要进行降维可以参考以下几个标准:

1.维度的数量。

降维的基本前提是高维,假如维度的数量不大,而且维度直接没有明显的共线性可以不进行降维处理。

2.是否需要在模型输出结果中保留原始维度。

在有些场景下,需要在输出结果中保留原始的维度信息,以便分析原始维度对于模型结果的影响,这种情况下就不能进行转换的方式降维,而是通过特征筛选的方式降维。

3.对模型的计算效率与建模时效性有要求。

如果模型对数据维度量比较敏感,当高维数据会带来模型的消耗呈几何倍数增长,使得运算效果明显变慢,这时就需要对数据进行降维。

4.是否需要保留完整的数据特征。

数据降维的原则是在最大化保留原始数据特征的情况下,降低参与建模的维度数,但是在降维过程中,无论未被表示出来的特征是噪音还是正常分布,这种信息都无法参与建模,所以如果场景中需要所有数据集的完整特征,那么通常不选择降维。

三、数据降维方式

1.基于特征选择的降维

特征选择就是根据一定的规则和经验,直接选取原有维度的一部分参与到后续的计算和建模过程,用选择的维度代替所有维度。

特征选择的降维方式有4种思路:

①经验法

根据业务专家或者数据专家的以往经验、实际数据情况、业务理解程度等进行综合考虑。业务经验依靠的是业务背景,从众多维度特征中选择对结果影响较大的特征;而数据专家依靠的是数据工作经验,基于数据的基本特征以及对后期数据处理和建模的影响来选择或排除维度。

②测算法

通过不断测试多种维度的选择参与计算,通过结果来反复验证和调整并最终找到最佳特征方案。

③基于统计分析的方法

通过相关性分析不同维度间的线性相关性,在相关性高的维度中进行人工去除或者筛选;或者通过计算不同维度间的互信息量,找到具有较高互信息量的特征集,然后把其中的一个特征去除或留下。

④机器学习方法

通过机器学习算法得到不同特征的特征值或权重,然后再根据权重来选择较大的特征。这种数据降维的好处是,在保留了原有维度特征的基础上进行降维,既能满足后续数据处理和建模需求,又能保留维度原本的业务含义,以便于业务的理解和应用。

2.基于维度变换的降维

基于维度转换的降维是按照一定的数学变换方法,把给定的一组相关变量通过数学模型将高维空间的数据点映射到低纬度空间中,然后利用映射后变量的特征来表示原有变量的总体特征。这种方式是一种产生新维度的过程,转换后的维度并非原有维度的本体,而是其综合多个维度转换或映射后的表达式。

通过数据维度变换进行降维是非常重要的降维方法,这种降维方法分为线性降维和非线性降维两种,其中常用的代表算法包括独立成分分析(ICA)、主成分分析(PCA),因子分析(FA)、线性判别分析(LDA)、核主成分分析(Kernel PCA)等等。

相关推荐