SAS首席科学家:如何选择机器学习算法?

简介:

本文面向的是入门到中级的数据科学家,或对利用机器学习算法来解决问题感兴趣的数据分析师。

面对各种各样的机器学习算法——“我应该用哪一个?”,是一名初学者经常遇到的问题。问题的答案,取决于许多因素,包括:

  • 数据的大小,质量和性质

  • 可用的计算时间

  • 任务的紧迫性

  • 你想对数据做什么

即便是经验丰富的数据科学家,也无法在尝试各种算法之前,判断出哪种算法的效果最好。在这里,我并不是忽悠大家要一步到位。我的意思是,要根据明确的因素,搞清楚应该优先尝试哪些算法。

机器学习算法速查表

SAS首席科学家:如何选择机器学习算法?

该流程图展示了何时使用哪些算法

机器学习算法速查表,帮助你找到适合不同具体问题的算法。本文将引导你如何使用速查表。

该速查表专为初阶数据科学家和分析师设计。因而在讨论算法时,我们将对假设做一些简化。

这里推荐的算法,来自于多位数据科学家、机器学习专家的编译反馈和提示。 有几个问题我们还没有达成一致,对于这些问题,我们试图突出共同点,调和差异。

 当我们的库在将来更加完整,包含更多可用方法时,将会添加额外的算法。

如何使用速查表 

对图表上的路径和算法标签,看作“如果 <路径标签> 就使用 <算法>”。例如:

  • 如果要降维,就使用主成分分析。

  • 如果需要快速的数字预测,就用决策树或逻辑回归。

  • 如果需要分层结果,就使用层次聚类。

有时候,适用的分支有多个,其他时候完美适用的一个也没有。 重要的是记住:这些路径仅仅是经验总结,有的建议并不准确。 我聊过的几位数据科学家都说,找到最佳算法的唯一方法,就是尝试所有的算法。

机器学习算法的类型

本节将对最常见的机器学习算法类型,做个概述。 如果您对这些类别很熟悉,可以跳过本节到下面的“何时使用特定算法”。

监督学习

监督学习算法会根据样例集做预测。 例如,可以使用历史销售预估将来价格。 在监督学习中,有标记过的训练数据组成的输入变量,以及输出变量。 你用算法来分析训练数据,学习从输入映射到输出的函数。这个预测函数通过从训练数据中进行归纳,对新的未知的样本建立映射,来预测未知情况下的结果。

分类:当数据用于预测分类变量时,监督学习也称为分类。 图像处理中经典的猫狗识别:根据图像内容,向图片分配"狗"或"猫"标签就是这种案例。 当只有两个标签时,这被称为二进制分类。 当有两类以上时,这些问题被称为多类分类。

回归:当预测连续值时,问题就成为了一个回归问题。

预测:根据过去和现在的数据,对未来进行预测。 最常被用来分析趋势。 一个常见的例子可能是根据今年和前几年的销售情况估计下一年的销售额。

半监督学习

监督学习的困难在于,标注数据非常昂贵、费时。如果标注数据有限,可以使用未标注数据来加强监督学习。在这种情况下机器不是完全监督的,我们就称是半监督。通过半监督学习,可以使用未标注数据和少量的标注数据来提高学习的准确性。

无监督学习

进行无监督学习时,机器仅使用未标注数据。目标是发现数据中的内在模式,比如聚类结构,一个低维的流形(manifold),或者一个稀疏树和图。

 聚类:对一组数据进行分组,使得同一组(或一类)中的数据比其他组中的数据更加相似(根据一些规则)。这通常用来将整个数据集划分成几个数据组。在每个数据组中进行分析,能帮助用户找到内在的关联。

降维:减少约束条件下的变量数量。在许多应用中,原始数据特征维度特别高,并且一些特征是冗余的、或者和结果无关。降维能够帮助找到正确的潜在关联。

增强学习

增强学习基于环境反馈,分析并优化代理的行为。机器会尝试不同场景,找出产生最大的收益的行为,不需要被告知做什么。试错和延时奖励,是增强学习和其他技术的主要区别。

选择算法的注意事项

选择一个算法时,通常要考虑这三个方面:准确性,训练时间和易用性。许多人将准确性放在首位,但是初学者倾向于选择他们最了解的算法。

当拿到一个数据集时,首先要考虑的是如何获取结果,不管这些结果可能看起来是什么样子的。初学者倾向于选择容易实现并且能够快速得到结果的算法。这种做法是可取的,因为这只是第一步工作。一旦你得到了一些结果并且熟悉了这些数据,你可以会花费更多时间、使用更加复杂的算法来增强你对这些数据的理解,来进一步改进结果。

 即使在这种情况下,最好的算法,可能并不是有最高准确率的方法,因为一个算法通常需要仔细的调参和大量训练才能达到它的最优性能。




====================================分割线================================

本文作者:林立宏
本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
|
20天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
12天前
|
机器学习/深度学习 自然语言处理 算法
|
28天前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
1月前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【2月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过有效的数据处理策略、合理的特征工程、选择适宜的学习算法以及进行细致的参数调优来提升模型性能。我们将剖析标准化与归一化的差异,探索主成分分析(PCA)的降维魔力,讨论支持向量机(SVM)和随机森林等算法的适用场景,并最终通过网格搜索(GridSearchCV)来实现参数的最优化。本文旨在为读者提供一条清晰的路径,以应对机器学习项目中的挑战,从而在实际应用中取得更精准的预测结果和更强的泛化能力。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法
【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法
51 0
|
1月前
|
机器学习/深度学习 存储 算法
【机器学习】包裹式特征选择之基于遗传算法的特征选择
【机器学习】包裹式特征选择之基于遗传算法的特征选择
52 0
|
30天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
23 2

热门文章

最新文章