算法■如何从 8 个维度全面比较机器学习算法?

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