但是,组织添加到模型中的每个新功能都会增加其复杂性,从而使机器学习算法难以解决这些问题。数据科学家为此使用降维技术进行简化,而降维技术是从其机器学习模型中删除过多或不相关功能的一组技术。
降维减少了机器学习的成本,有时还可以使用更简单的模型解决复杂的问题。
维度的问题
机器学习模型将特征映射到结果。例如,假设一个组织要创建一个机器模型来预测一个月的降雨量。该组织拥有一个分别在不同月份从不同城市收集的不同信息的数据集。其数据点包括气温、湿度、城市人口、交通、城市举行的音乐会次数、风速、风向、气压、降雨量以及购买的公交车票数量。并非所有这些信息都与降雨预测有关。
某些特征可能与目标变量无关。显而易见的是,购买公交车票的数量和城市人口数量并不会影响降雨。而其特征可能与目标变量相关,但与目标变量并没有因果关系。例如,户外音乐会的次数可能与降雨量有关,但这并不是预测降雨的良好指标。在其他情况下(例如碳排放),其特征与目标变量之间可能存在联系,但其影响可以忽略不计。
在这一示例中,可以很明显区分出哪些特征更有价值,哪些特征是无用的。在其他用例中,过多的特征可能并不明显,需要进一步的数据分析。
但是,为什么要去掉多余的特征呢?当特征太多时,还需要采用一个更复杂的模型。而更复杂的模型意味着组织需要更多的训练数据和更多的计算能力,才能将模型训练到可接受的水平。
机器学习并不理解因果关系。但即使没有因果关系,机器学习模型也会尝试将其数据集中包含的所有特征映射到目标变量。这样做将会导致模型不精确和错误。另一方面,减少特征的数量可以使机器学习模型更简单、更高效、数据需求更少。
由于太多的特征所造成的问题通常被称为“维度诅咒”,它们不限于表格数据。例如一个对图像进行分类的机器学习模型。如果数据集由100×100像素的图像组成,则其问题空间具有10,000个特征,每个像素一个特征。但是,即使在图像分类问题中,某些特征也是多余的,可以去除。
降维可以识别并删除损害机器学习模型性能或对准确性没有帮助的特征。现在有多种降维技术,每种降维技术在某些情况下都非常有用。
特征的选择
一种基本且非常有效的降维技术是识别并选择与目标变量最相关的特征子集。这项技术称为“特征选择”。在处理表格数据时,特征选择特别有效,在表格数据中,每一列代表一种特定的信息。
在选择特征时,数据科学家需要做两件事:一是保持与目标变量高度相关的特征,二是使数据集的方差贡献变得最大。诸如Python的Scikit-learn之类的库具有许多良好的功能,可以分析、可视化和选择适合机器学习模型的功能。
例如,数据科学家可以使用散点图和热图来可视化不同特征的协方差。如果两个特征相互高度相关,那么它们将对目标变量产生相似的影响,而在机器学习模型中都包含这两个特征是不必要的。因此,可以删除其中一个特征,而不会对模型的性能造成负面影响。
热图说明了不同特征之间的协方差,它们是查找和淘汰多余特征的良好指南。
相同的工具可以帮助可视化要素与目标变量之间的相关性。这有助于删除不影响目标的变量。例如,在可能发现数据集中的25个特征中,有7个特征对目标变量的影响占到95%。这样可以删除其他18个特征,将会让机器学习模型的使用简单得多,而不会对模型的准确性造成重大影响。
投影技术
有时,组织无法选择删除单个特征。但这并不意味着无法简化机器学习模型。投影技术也称为“特征提取”,通过将多个特征压缩到低维的空间中来简化模型。
用于表示投影技术的一个常见示例是“瑞士卷”(如下图所示),它是一组围绕三个维度在卷轴上旋转的数据点。该数据集具有三个特征。每个点(目标变量)的值是根据其沿回旋路径到“瑞士卷”中心的距离来测量的。在下面的图片中,红点更靠近卷轴,而黄点离卷轴更远。
在当前状态下,创建一个将瑞士卷滚动点的特征映射到其值的机器学习模型是一项艰巨的任务,并且需要采用具有许多参数的复杂模型。但是借助降维技术,可以将这些点投影到一个较低维度的空间,该空间可以通过简单的机器学习模型来学习。
数据科学家开发了各种投影技术。在上面的示例中使用了“局部线性嵌入”算法,该算法在保留分隔数据点值的关键元素的同时,减小了问题空间的维数。当使用局部线性嵌入(LLE)处理数据时,其结果类似于下图,就像展开的“瑞士卷”。每种颜色的点聚集在一起。实际上,这个问题仍然可以简化为单一的特征,并使用线性回归(最简单的机器学习算法)进行建模。
尽管这个示例是假设的,但如果将特征投影到较低维度的空间,则经常会遇到可以简化的问题。例如,流行的降维算法“主成分分析”(PCA)已经发现许多有用的应用程序可以简化机器学习问题。
在《采用Python进行机器学习》一书中,数据科学家Aurelien Geron展示了如何使用“主成分分析”(PCA)将MNIST数据集从784个特征(28×28像素)减少到150个特征,同时保留95%的方差。这种降维技术对于降低人工神经网络的训练和运行成本有着巨大的影响。
关于投影技术,还需要考虑一些注意事项。一旦采用了投影技术,就必须首先将新数据点转换到低维空间,然后再通过机器学习模型运行它们。然而,这一预处理步骤的成本无法与采用更轻模型的收益相比。第二个需要考虑的问题是,转换后的数据点不能直接代表它们的原始特征,将它们转换回原始空间可能很棘手,而且在某些情况下是不可能的。这可能使解释模型的推论变得困难。
机器学习工具箱中的降维
特征过多将会导致机器学习的模型效率低下,但是删除太多的特征将会影响准确性。降维技术是数据科学家用来构建更好的机器学习模型的众多工具之一。与所有工具一样,在使用时必须小心谨慎。
原文Machine learning: What is dimensionality reduction?,作者:Ben Dickson
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】