📜  选择合适的机器学习算法

📅  最后修改于: 2022-05-13 01:58:06.839000             🧑  作者: Mango

选择合适的机器学习算法

机器学习是一个研究领域,它使计算机能够在没有明确编程的情况下进行学习。机器学习是人们曾经遇到过的最令人兴奋的技术之一。
机器学习算法是一种程序,根据对数据集过去预测的响应,以特定方式改变自己的参数。

谁应该阅读这篇文章?

图片

广泛使用的机器学习算法:



  • 线性回归:搜索两个连续变量之间的关系至关重要。一个是自变量,另一个是因变量。
  • 逻辑回归:逻辑回归是分析数据和解释一个因二元变量与一个或多个名义、有序、区间或比率水平的自变量之间关系的常用方法之一。
  • KNN: KNN 可用于分类和回归预测问题。
  • K-means: K-means 聚类是一种无监督学习算法,当我们处理没有标记的数据(没有适当的类别或组)时使用它。该算法的目的是搜索数据集中的组,组数由变量 K 表示。
  • 支持向量机(SVM):它是一种有监督的机器学习算法,可用于分类或回归任务。它使用一种称为内核技巧的技术来转换您的数据,然后根据这些转换找到可能输出之间的最佳边界。
  • 随机森林:可用于回归和分类任务。它导致更高的准确性。随机森林分类器可以管理缺失值并保持大部分数据的准确性。如果树的数量更多,那么机器学习模型中的树将不允许过度拟合。

选择算法时应考虑以下因素:

  • 使用的模型类型(问题)
  • 分析可用数据(训练集的大小)
  • 模型的准确性
  • 训练模型所需的时间(训练时间)
  • 参数数量
  • 功能数量
  • 线性度

了解问题类型:了解我们想要制作的模型类型以及需要实现的目的非常重要,因为每个算法的设计方式都是为了特定目的,如分类、回归等。所以,我们需要选择最合适的算法来完成这项工作。

机器学习任务的类型:

  1. 监督学习
  2. 无监督学习
  3. 强化学习

训练集的大小:我们都知道,当训练数据集不够时,总会导致估计不佳。在训练数据不足的情况下,过度约束的模型总是会导致欠拟合,另一方面,约束不足的模型很可能会导致数据集的过度拟合,在这两种情况下,结果都会变得很差表现。训练数据集的大小是我们决定选择算法的一个重要因素。对于少量的训练数据集,由于低偏差/高方差分类器(例如k-最近邻)可能会过度拟合训练数据集,因此高偏差/低方差分类器(例如朴素贝叶斯)优于此.

准确性:我们使用机器学习算法来做出现实的决策,更强的模型结果会导致更好的决策。错误的代价可能是巨大的,因此我们必须通过提高模型准确性来最小化该代价。所需的精度将有所不同,具体取决于要求。近似通常是足够的,这可以导致处理时间的大量减少。然而,近似技术很可能导致训练数据集的过度拟合。

训练时间:训练模型所需的时间因算法而异。这个运行时间与数据集的大小和我们的目标准确度相关。

参数数量:参数是导致模型性能良好的最重要因素之一,容错水平和总迭代次数等组件取决于算法的性质。通常,在具有大量参数的算法中找到合适的组合需要最多的跟踪和错误。尽管具有许多参数通常会提供更多的多功能性,但使用特定算法训练模型所花费的时间以及相同的准确性在获得正确设置方面可能很敏感。

特征数量:与数据点的数量相比,某些数据集的特征数量可能相当多。在处理更多是文本数据集的 NLP 数据集时,我们面临同样的情况。在处理如此大量的特征时,一些学习算法会导致训练时间非常短,并使我们的工作不可行。很少有像支持向量机(SVM)这样的算法专门针对这种情况而设计的。我们根据过去的经验做出的这些假设并不适用于所有情况,我们需要更好地理解这些算法,以便将最好的算法应用于特定问题。

线性:另一个可以考虑的因素是线性机器学习算法,如线性回归、逻辑回归,甚至支持向量机都使用线性。如果可以使用这些算法来解决问题,那么工作就会变得相对容易,因为它们基于简单的算法并且不需要太多训练时间(训练模型相对较快)。它们可能会降低算法的准确性,不适合该特定类型的问题。