Python 数据科学手册 5.1 什么是机器学习

简介: 5.1 什么是机器学习 原文:What Is Machine Learning? 译者:飞龙 协议:CC BY-NC-SA 4.0 译文没有得到原作者授权,不保证与原文的意思严格一致。

5.1 什么是机器学习

原文:What Is Machine Learning?

译者:飞龙

协议:CC BY-NC-SA 4.0

译文没有得到原作者授权,不保证与原文的意思严格一致。

在我们查看机器学习方法的各种细节之前,先了解什么是机器学习,什么不是。机器学习通常被归类为人工智能的一个子领域,但是我发现分类往往会首先产生误导。机器学习的研究肯定来自于这一背景下的研究,但在机器学习方法的数据科学应用中,将机器学习视为构建数据模型的手段更有帮助。

从根本上讲,机器学习涉及建立数学模型来帮助了解数据。当我们给出这些模型的可调参数,它们可以适应于观测数据时,“学习”就开始了;以这种方式,该程序可以认为是从数据中“学习”。一旦这些模型已经适合以前看到的数据,它们可以用于预测和理解新观测的数据。这种数学的,基于模型的“学习”,类似于人类大脑展示的“学习”,我会向读者提供更多的哲学的题外话。

了解机器学习中的问题设置,对于有效使用这些工具至关重要,因此我们从更广泛的方法分类开始,这些方法会在这里讨论。

机器学习的分类

最基本的层次,机器学习可以分为两种主要类型:监督学习和无监督学习。

监督学习涉及以某种方式,对数据的测量特征,以及数据相关的一些标签之间的关系进行建模;一旦确定了该模型,它可以用于给新的未知数据贴标签。这进一步细分为分类任务和回归任务:在分类中,标签是离散类别,而在回归中,标签是连续数量。我们将在下一节中看到两种类型的监督学习的例子。

无监督的学习涉及到对数据集的特征进行建模,而不参考任何标签,并且通常被描述为“让数据集本身说话”。这些模型包括例如聚类和降维的任务。聚类算法识别不同的数据分组,而降维算法搜索数据的更简洁表示。我们将在下一节中看到两种类型的无监督学习的例子。

此外,还有所谓的半监督学习方法,属于监督学习与无监督学习之间。当只有不完整的标签可用时,半监督学习方法通​​常是有用的。

机器学习应用的定性实例

为了使这些概念更具体,让我们来看看机器学习任务的一些非常简单的例子。 这些例子的目的是,给出本章将要介绍的机器学习任务类型的直观,非定量的概述。 在后面的章节中,我们将对特定模型及其使用方式进行更深入的研究。 有关更多技术方面的预览,你可以在附录:图形代码中,找到生成以下图形的 Python 源代码。

分类:预测离散标签

我们将首先看一个简单的分类任务,其中给出了一组标记点,并希望使用它们对一些未标记的点进行分类。

想象一下,我们有一些数据,如下图所示:

这里我们拥有二维数据:也就是说,每个点都有两个特征,由平面上的点的(x,y)位置表示。另外,我们每个点都有两个类标签之一,这里用点的颜色表示。根据这些功能和标签,我们想创建一个模型,让我们来决定,一个新的点应该被标记为“蓝色”还是“红色”。

许多可能的模型可以用于这样的分类任务,但是在这里我们将使用一个非常简单的模型。我们将假设,通过绘制直线,穿过它们之间的平面,两个分组可以分隔,使得线的每一侧的点落在同一组中。这里的模型是语句“分隔分类的直线”的定量版本,而模型参数是特定数字,描述我们数据的该行的位置和方向。这些模型参数的最优值从数据中学习(这是机器学习中的“学习”),这通常称为训练模型。

下图显示了该数据的训练模型的可视化表示:

现在这个模型已经训练完毕,它可以推广到新的,未标记的数据。 换句话说,我们可以拿一组新的数据,通过它绘制这个模型的直线,并根据这个模型为新的点分配标签。 这个阶段通常称为预测。 见下图:

这是机器学习中分类任务的基本思想,其中“分类”表示数据具有离散的分类标签。乍一看,这可能看起来相当微不足道:简单地看看这些数据,并画出这样的分隔线来完成这个分类,是比较容易的。然而,机器学习方法的好处是,它可以在更多维度上推广到更大的数据集。

例如,这类似于垃圾邮件自动检测任务;在这种情况下,我们可能会使用以下特征和标签:

  • 特征 1,特征 2,以及其它。–> 重要单词和短语的正则化数量 (”Viagra”,”Nigerian prince”,以及其它。)
  • 标签 –> “spam”(垃圾)或者 “not spam”(不是垃圾)

对于训练集,这些标签可能通过小型代表性电子邮件样本的个别检查来确定。对于剩余的电子邮件,标签将使用模型确定。对于使用足够良好构造的特征(通常为数千或数百万个单词或短语)来适当训练的分类算法,这种类型的方法可以是非常有效的。我们将在朴素贝叶斯分类中看到这种基于文本的分类的例子。

我们将更详细地讨论的,一些重要的分类算法,是高斯朴素贝叶斯(见朴素贝叶斯分类),支持向量机(参见支持向量机)和随机森林分类(参见决策树和随机森林)。

回归:预测连续标签

与分类算法的离散标签相反,我们接下来看一个简单的回归任务,其中标签是连续数量。

考虑下图所示的数据,其中包含一组点,每个点都有一个连续的标签:

与分类示例一样,我们拥有二维数据:即,两个特征描述每个数据点。每个点的颜色表示该点的连续标签。

许多可能的回归模型可以用于这种类型的数据,但是在这里我们将使用简单的线性回归来预测点数。 这个简单的线性回归模型假定,如果我们将标签视为第三个空间维度,我们可以将数据拟合为平面。 这是二维数据的线性拟合问题的高阶推广。

请注意,这里的特征 1 和 2 的平面与之前的二维图相同;然而,在这种情况下,我们已经通过颜色和 Z 轴位置来表示标签。 从这个观点来看,似乎合理的是,这种通过三维数据的拟合平面,允许我们预测任何一组输入参数的预期标签。 返回到二维投影,当我们拟合这样的平面时,我们得到如下图所示的结果:

这个拟合平面告诉了我们,我们需要什么来预测新的点的标签。视觉上,我们在这幅图中,找到了展示的结果:

与分类示例一样,在数量很少的维度上,这似乎是微不足道的。 但是这些方法的强大之处在于,在数据具有许多特征的的情况下,它们可以被直接应用和评估。

例如,这类似于计算通过望远镜观察到的星系距离的任务 - 在这种情况下,我们可能会使用以下特征和标签:

  • 特征 1,特征 2,以及其它 –> 每个星系的亮度,位于几个波长或颜色之一

  • 标签:星系的距离或者红移

这几个星系的距离可以通过一组独立的(通常更昂贵的)观测来确定。 然后可以使用合适的回归模型估计剩余星系的距离,而不需要在整个集合中使用更昂贵的观测。 在天文界,这被称为“测光红移”问题。

我们将讨论的一些重要的回归算法是线性回归(参见线性回归),支持向量机(参见支持向量机)和随机森林回归(参见决策树和随机森林)。

聚类:在未标记的数据上推断标签

我们刚刚看过的分类和回归图解,是监督学习算法的例子,其中我们正在尝试构建一个模型,预测新数据的标签。 无监督的学习涉及不参照任何已知标签来描述数据的模型。

无监督学习的一个常见情况是“聚类”,其中数据被自动分配给一些数量的离散分组。 例如,我们可能有一些二维数据,如下图所示:

通过眼睛,很明显,这些点中的每一个都是不同组的一部分。 给定该输入,聚类模型将使用数据的内在结构来确定哪些点是相关的。 使用非常快速和直观的 k-means 算法(参见 K 均值聚类),我们发现如下图所示的簇:

k-means 适合由 k 个簇中心组成的模型; 假设最优中心是将每个点与其指定中心的距离最小化的中心。 再次,这可能看起来像是二维的微不足道的练习,但随着数据变得越来越复杂,可以使用这种聚类算法从数据集中提取有用的信息。

我们将在 K-Means 聚类中更深入地讨论 k-means 算法。 其他重要的聚类算法包括高斯混合模型(参见高斯混合模型)和谱聚类(参见 Scikit-Learn 的聚类文档)。

降维:推断未标记数据的结构

降维是无监督算法的另一个例子,其中标签或其他信息是从数据集本身的结构推断的。 降维比我们以前看到的示例有点更加抽象,但通常它试图提取一些数据的低维表示,以某种方式保留完整数据集的相关质量。 不同的降维以不同的方式测量这些相关的质量,我们将在流形学习中看到。

作为一个例子,请考虑下图所示的数据:

视觉上,这个数据中有一些结构是清楚的:它是从一维直线上绘制的,这个直线在这个二维空间内是螺旋排列的。 在某种意义上,您可以说这个数据是“本质上”是一维的,尽管这个一维数据嵌入在更高维的空间中。 在这种情况下,合适的降维模型对这种非线性嵌入式结构是敏感的,并能够拉取出这种低维度表示。

下图显示了 Isomap 算法的结果的可视化,Isomap 算法是一个专门为此的流形学习算法:

请注意,颜色(表示提取的一维潜在变量)沿着螺旋线均匀变化,这表明该算法实际上检测到了我们眼睛看到的结构。 与前面的例子一样,在更高维度的情况下,降维算法的力量变得更加清晰。 例如,我们可能希望可视化具有 100 或 1,000 个特征的数据集中的重要关系。 可视化 1,000 维数据是一个挑战,一种方法,我们可以使它更易于管理,是使用降维技术将数据减少到二维或三维。

我们将讨论的一些重要的降维算法是主成分分析(参见主成分分析)以及各种流形学习算法,包括 Isomap 和局部线性嵌入(参见流形学习)。

总结

在这里,我们看到了一些机器学习方法的基本类型的简单例子。不用说,我们已经看到了一些重要的实际细节,但是我希望这一节足以给你一个基本的想法,关于机器学习方法可以解决什么类型的问题。

总之,我们看到这些:

监督学习:可以根据标记的训练数据预测标签的模型

  • 分类:将标签预测为两个或多个离散类别的模型
  • 回归:预测连续标签的模型

无监督学习:识别未标记数据中的结构的模型

  • 聚类:在数据中检测和识别不同分组的模型
  • 降维:在较高维数据中检测和识别低维结构的模型

在以下部分中,我们将进一步深入分析这些类别,并且可以看到一些更有趣的例子,说明这些概念用于哪些方面。

上述讨论中的所有数据都是基于实际的机器学习计算而生成的;后面的代码可以在附录:图形代码中找到。

相关文章
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
546 7
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
1355 12
Scikit-learn:Python机器学习的瑞士军刀
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
Python与机器学习:使用Scikit-learn进行数据建模
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
|
7月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1782 6
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
886 8
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
500 6

推荐镜像

更多