"当您改变看待事物的方式时,您看待的事物就会改变。" ―Wayne Dyer
人类发明了无数的机器学习(ML)算法。 当然,大多数时候,只有一小部分用于研究和工业。 但是,对于人类来说,理解并记住所有这些ML模型的所有细节都是有些不知所措的。 某些人可能还会误以为所有这些算法都是完全无关的。 更重要的是,当两者看起来都是有效的算法时,如何选择使用算法A而不是算法B?
本文旨在为读者提供不同角度的机器学习算法。 基于这些观点,可以基于共同的理由对算法进行比较,并且可以轻松地对其进行分析。 本文编写时考虑了两个主要的ML任务-回归和分类。
方法与目标
本质上,所有机器学习问题都是优化问题。 机器学习模型或始终需要优化的基本目标函数背后总有一种方法论。 比较算法背后的主要思想可以增强关于它们的推理。
例如,线性回归模型的目的是使预测值和实际值的平方损失最小化(均方误差,MSE),而Lasso回归的目的是通过在MSE上添加额外的正则项来限制MSE,同时限制学习参数。 防止过度拟合。
参数化
尽管没有严格定义参数模型的定义,但是这种模型分类法已广泛用于统计学习领域。 简单地说,参数模型意味着模型的参数数量是固定的,而当有更多数据可用时,非参数模型的参数数量会增加[3]。 定义参数模型的另一种方法是基于其有关数据概率分布形状的基本假设。 如果没有假设,那么它是一个非参数模型[4]。
可并行性
并行算法意味着一种算法可以在给定的时间完成多个操作。 这可以通过在不同的工作人员之间分配工作负载来完成,例如在一台或多台计算机中的处理器。 像梯度提升决策树(GBDT)这样的顺序算法很难并行化,因为下一个决策树是根据前一个决策树所犯的错误建立的。
在线和离线
在线和离线学习是指机器学习软件学习更新模型的方式。 在线学习意味着可以一次提供一个训练数据,以便在有新数据时可以立即更新参数。 但是,离线学习要求训练在新数据出现时重新开始(重新训练整个模型)以更新参数。 如果一种算法是在线算法,那将是有效的,因为生产中使用的参数可以实时更新以反映新数据的影响。
偏差方差权衡
不同的ML算法将具有不同的偏差方差权衡。 偏差误差来自模型偏向特定解决方案或假设的事实。 例如,如果线性决策边界适合非线性数据,则偏差会很大。 另一方面,方差度量的是来自模型方差的误差。 它是模型预测和期望模型预测的平均平方差[2]。
Bias-variance tradeoff, extracted from [2].
不同的模型进行不同的偏差方差折衷。 例如,朴素贝叶斯由于过于简单的假设而被认为是高偏差,低方差模型。
样品复杂度
样本复杂性衡量了训练网络以保证有效概括所需的训练示例的数量。 例如,深度神经网络具有很高的样本复杂度,因为需要大量的训练数据来训练它。
空间复杂度
空间复杂度衡量一个算法需要运行多少内存。 如果ML算法将过多的数据加载到机器的工作存储器中,则ML程序将无法成功运行。
时间复杂度
在RAM模型[1]下,算法所需的"时间"通过算法的基本运算来衡量。 尽管用户和开发人员可能会更多地关注算法训练模型所需的挂钟时间,但使用标准最坏情况下的计算时间复杂度来比较模型训练所需的时间会更公平。 使用计算复杂度的好处是可以忽略诸如运行时使用的计算机功能和体系结构以及底层编程语言之类的差异,从而使用户可以专注于算法基本运算的基本差异。
请注意,在训练和测试期间,时间复杂度可能会大不相同。 例如,线性回归等参数模型可能需要较长的训练时间,但在测试期间却很有效。
参考
[1]计算的RAM模型
[2]讲座12:偏差-偏差权衡
[3] D. S. Raschka。 "参数学习算法和非参数学习算法之间有什么区别?"
[4] T. Hoskin,"参量和非参量:使术语神秘化",Mayo诊所,2012年,第1-5页。
总之,可以基于不同的标准来分析ML算法。 这些标准实际上可以帮助衡量不同ML模型的有效性和效率。
您能从其他角度比较机器学习算法吗?
-
算法
+关注
关注
23文章
4603浏览量
92706 -
机器学习
+关注
关注
66文章
8382浏览量
132464
发布评论请先 登录
相关推荐
评论