电子说
人类发明的机器学习(ML)算法简直数不胜数。当然,大多数时候只有一小部分被用于研究和工业。然而,对于个人来说,理解并记住所有这些 ML 模型的细节仍然有点困难。有些人可能会有一个错误的印象,认为所有这些算法都是完全不相关的。更重要的是,当两种算法似乎都有效时,如何选择使用算法 A,还是 B?
人类发明的机器学习(ML)算法简直数不胜数。当然,大多数时候只有一小部分被用于研究和工业。然而,对于个人来说,理解并记住所有这些 ML 模型的细节仍然有点困难。有些人可能会有一个错误的印象,认为所有这些算法都是完全不相关的。更重要的是,当两种算法似乎都有效时,如何选择使用算法 A,还是 B?
这篇文章的目的是为读者提供一个不同的角度来看待 ML 算法。有了这些角度,算法可以在同样的维度上进行比较,并且可以很容易地进行分析。本文在撰写时考虑了两个主要的 ML 任务——回归和分类。
时间复杂度
在 RAM 模型下,算法所花费的“时间”是由算法的基本运算来度量的。虽然用户和开发人员可能更关心算法用于训练模型的挂钟时间,但在比较模型用于训练的时间时,使用最坏情况下的计算时间复杂度更公平。使用计算复杂度的好处是,可以忽略运行时使用的计算机能力、架构以及底层编程语言等的差异,允许用户关注算法基本操作的基本差异。
注意,在训练和测试期间,时间复杂度可能差别很大。例如,像线性回归这样的参数模型可能训练时间很长,但它们在测试期间很高效。
全部0条评论
快来发表一下你的评论吧 !