初学者该如何选择合适的机器学习算法?
在这篇文章中,您将了解可用于为您的机器学习问题选择正确的机器学习算法的技巧和技巧。这些对于数据科学家或ML研究人员开始学习数据科学/机器学习主题非常有用。
基于以下内容,可以选择不同类别的机器学习算法来训练模型。
- 数据的可用性
- 特征数量
这篇文章讲述了在以下不同的场景,同时解释了机器学习算法,可以用来解决相关问题:
- 特征数量多,数据量少
- 特征数量少,数据量大
- 特征数量众多,数据量大
- 大量特征,更少的数据量
对于具有大量特征但数据量较少的情况,可以使用以下某些机器学习算法:
- 逐步的方法
- 套索回归分析
- 支持向量机(SVM)
大量的特征通常会导致模型过度拟合。因此,在这种情况下的关键练习之一是执行以下一项或两项:
- 删除较不重要的特征;可以使用特征选择技术来实现相同的功能。
- 应用L1或L2正则化方法来惩罚与每个特征相关的权重。
您可以找到大量特征但数据量较少的示例之一是蛋白质与蛋白质的相互作用。在蛋白质与蛋白质的相互作用中,特征的数量可以是数百万,但样本大小可以是数千。
少量特征,大量数据
对于特征数量较少但数据量较大的场景,可以选择以下某些机器学习算法:
- 广义线性模型(GLM)
- 集成方法,例如装袋、提升、AdaBoost
- 深度学习
大数据的例子可以包括微阵列(基因表达数据)、蛋白质组学、脑图像、视频、特征数据、纵向数据、高频金融数据、仓库销售等。
大量特征,大量数据
对于具有大量特征和大量数据的场景,主要关注点是数据处理和训练/测试模型的计算成本。以下代表了在构建模型时可用于处理大量功能和相关数据集的一些技术:
- 随机投影:一种用于减少位于欧几里得空间中的一组点的维数的技术;该技术用于将特征减少到最重要的特征。
- 可变筛选:可变筛选方法用于选择最重要的特征。
- 子采样:使用大型数据集,通过对数据集进行二次采样来节省计算成本。子采样背后的想法是使模型适合子样本并进行同样简单的校正以获得原始数据集的估计。然而,当子采样未能考虑具有类不平衡的不平衡数据集时,问题就出现了。如果小心,它可以帮助实现显著的计算成本节省。以下代表不同类型的不平衡类数据集:
- 边际不平衡:表示一个或多个类的数据的数量非常少。举个例子,假设每1000个正面例子,就有几个负面例子。
- 条件不平衡:对于特征集的最大值,预测比其他输入特征集更容易和准确。为了处理不平衡类问题,所使用的技术称为病例对照采样。
- 病例对照采样:病例对照采样技术用于为每个类收集均匀样本,同时调整类的混合。该技术用于降低训练逻辑回归分类器的复杂性。该算法通过选择原始数据集的小子样本进行训练来降低训练复杂度。通过对截距的简单调整,可以将子样本上拟合的逻辑回归模型转换为原始种群的有效模型。标准病例对照采样仍然可能无法最有效地使用数据。它无法有效地利用略微平衡的数据集中的条件不平衡。
- MapReduce
- 分而治之
一旦处理了与大量特征或大量数据集相关的方面,就可以适当地使用如上所述的不同算法。
总结
在这篇文章中,您了解了不同机器学习算法的选择标准以及基于许多特征和数据量的适当数据处理技术。对于大量的特征和较小的数据量,可以选择SVM、套索回归方法、逐步方法等算法。对于较少数量的特征和较大量的数据,可以选择GLM、深度学习算法、集合方法等。对于更大量的特征和数据,首先,建议将特征数量减少到最重要的特征,其次,使用子采样技术来节省计算成本。然后可以应用本文中描述的适当的ML算法。