从8个维度全面比较机器学习算法
极客时间编辑部
讲述:丁婵大小:7.84M时长:05:43
人类发明的机器学习即 ML 算法简直数不胜数,而大多时候只有一小部分被用于研究和工业。对于个人来说,理解并记住所有这些 ML 模型的细节有点困难。有些人可能还会有一个错误的印象,认为所有算法都是完全不相关的。更重要的是,当两种算法似乎都有效时,如何在二者之间做选择?
1. 时间复杂度
在 RAM 模型下,算法所花费的“时间”是由算法的基本运算来度量的。虽然用户和开发人员可能更关心算法用于训练模型的挂钟时间,但在比较模型用于训练时间时,使用最坏情况下的计算时间复杂度更公平。使用计算复杂度的好处是,可以忽略运行时使用的计算机能力、架构以及底层编程语言等的差异,允许用户关注算法基本操作的基本差异。
需要注意的是,在训练和测试期间,时间复杂度可能差别很大。例如,像线性回归这样的参数模型可能训练时间很长,但它们在测试期间很高效。
2. 空间复杂度
空间复杂度根据输入大小度量算法运行需要多少内存。如果 ML 算法将太多数据加载到机器的工作内存中,那么 ML 程序将无法成功运行。
3. 样本复杂度
样本复杂度度量为了保证训练的网络可以有效地泛化所需训练样本量。例如,深度神经网络需要大量的训练数据来训练,因此,具有较高的样本复杂度。
4. 偏差 - 方差权衡
不同的 ML 算法会有不同的偏差 - 方差权衡,偏差误差来自于模型偏向于特定解或假设的事实。例如,在非线性数据上拟合线性决策边界时,偏差较大。另一方面,是方差测量模型方差带来的误差,它是模型预测与期望模型预测的均方差。
5. 在线和离线
在线和离线学习是指机器学习软件学习更新模型的方式。在线学习意味着可以一次提供一条训练数据,以便在获得新数据时立即更新参数。而离线学习为了更新参数,需要在新数据出现时重新训练整个模型。如果一个算法是在线的,那么它应该是高效的,因为在生产中使用的参数可以实时更新,以反映新数据的影响。
ID3 决策树算法是离线学习的一个例子。ID3 的工作方式是查看全局数据并进行贪婪搜索以最大化信息增益。当新的数据点出现时,整个模型需要重新训练。而随机梯度下降法(SGD)是一种在线算法,可以在新数据到达时更新训练模型的参数。
6. 并行性
并行算法是指一个算法可以在给定时间内完成多个操作。这可以通过将工作负载分配给不同的工作者(如单机或多机中的处理器)来实现。像梯度增强决策树(GBDT)这样的序列算法很难并行化,因为下一个决策树是根据前一个决策树的误差构建的。
K 近邻(k-NN)模型的特性让它可以轻松地在多台机器上同时运行,这是在机器学习中使用 MapReduce 的一个经典例子。
7. 参数化
虽然参数模型的定义并不严格,但是这种模型分类在统计学习领域中得到了广泛的应用。简单地说,参数化模型是指模型的参数数量是固定的,而非参数化模型的参数数量随着数据的增加而增加。另一种定义参数化模型的方法是基于其对数据概率分布形状的基本假设,如果没有给出假设,则为非参数化模型。
参数化模型在机器学习中很常见,例如线性回归、神经网络以及许多其他 ML 模型。另一方面,K 近邻 和 SVM(支持向量机)是非参数化模型。
8. 方法、假设和目标
本质上,所有的机器学习问题都是最优化问题。在机器学习模型或需要优化的潜在目标函数背后,总是有一种方法。对算法背后的主要思想进行比较,可以增强算法的合理性。
例如,线性回归模型的目标是最小化预测的平方误差和实际值(均方误差,MSE),而套索回归的目标是最小化 MSE,同时通过添加额外的正则化项来限制学习的参数,防止过拟合。
总之,ML 算法可以根据不同的标准进行分析,这些标准有助于度量不同 ML 模型的有效性和效率。你能想到其他比较 ML 算法的视角吗?
以上就是今天的内容,你也可以从上述维度对 ML 算法进行比较、分析。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小斧1. 时间复杂度 2. 空间复杂度 3. 样本复杂度 4. 偏差 - 方差权衡 5. 在线和离线 6. 并行性 7. 参数化 8. 方法、假设和目标
收起评论