机器学习是什么?定义、类型与应用全解析

机器学习是什么

机器学习在当今大多数主流行业中盛行。世界各地的企业都在争相将机器学习融入其职能,为有抱负的数据科学家提供的新机会也成倍增长。

然而,行业需求与现有资源之间存在巨大差距。很多人并不清楚机器学习是什么以及它是如何工作的。但“教机器”的想法由来已久。还记得阿西莫夫的机器人三定律吗?机器学习的理念和研究已经存在了几十年。然而,近年来出现了大量的行动、发展和热议。读完本文,您不仅会了解机器学习,还会了解它的不同类型、不断增长的应用列表以及该领域的最新发展。

什么是机器学习?

机器学习是一门教会机器如何自学的科学。现在,你可能会想:我们为什么要这样做?因为它在分析和自动化应用方面有很多好处。其中最重要的是:

机器可以高精度地完成高频重复性任务,而不会感到疲倦或无聊。

为了理解机器学习的工作原理,我们以拖地和清洁地板为例。当人类完成这项任务时,结果的质量各不相同。几个小时的工作后,我们就会感到疲惫/无聊,生病的几率也会影响结果。根据地点的不同,拖地对人类来说也可能是危险的。另一方面,如果我们能教会机器根据地板的状况和类型来检测地板是否需要清洁和拖地,以及需要多少清洁,那么机器就能更好地完成同样的工作。它们可以继续工作而不会感到疲倦或无聊!

这就是机器学习的目标!让机器能够自主学习,从而回答诸如:

  • 地板是否需要清洁和拖地?
  • 地板需要多久清洁一次?

机器需要思考,而这正是机器学习模型能够发挥作用的地方。机器从环境中捕获数据并将其输入到模型中。然后,模型利用这些数据来预测地板是否需要清洁、需要清洁多长时间等等。

机器学习的类型

机器学习分为三种类型:

  • 监督式机器学习:当你拥有带有结果(机器学习术语中称为标签)的历史数据,并且想要预测未来的结果时,可以使用监督式机器学习。监督式机器学习问题又可以分为两类:
    • 分类问题:当你需要将结果分类到不同的类别中时。例如,地板是否需要清洁/拖地就是一个分类问题。结果可以分为“是”或“否”。同样,客户是否会拖欠贷款也是一个分类问题,任何银行都非常关注这个问题。
    • 回归问题:当你需要预测一个连续的数值时。例如,需要进行多少次清洁?或者客户预期的拖欠金额是多少,这是一个回归问题。
  • 无监督式机器学习:有时目标不是预测!而是发现数据中的模式、片段或隐藏结构。例如,银行希望对客户进行细分以了解他们的行为。这是一个无监督机器学习问题,因为我们在这里不预测任何结果。
  • 强化学习:这是一种机器学习,其中代理通过与环境交互来学习做出决策。它会根据其行为获得奖励或惩罚,并逐渐改进其策略以最大化累积奖励。与传统机器学习相比,这是一个略微复杂的主题,但对未来同样至关重要。本文对强化学习进行了很好的介绍。

机器学习的类型

构建机器学习模型涉及哪些步骤?

任何机器学习模型的开发大致可以分为六个步骤:

  • 问题定义:将业务问题转化为机器学习问题
  • 假设生成:为模型创建可能的业务假设和潜在特征的过程
  • 数据收集:收集用于检验假设和构建模型的数据
  • 数据探索和数据清理:移除异常值和缺失值,然后将数据转换为所需的格式
  • 建模:最终构建机器学习模型。
  • 模型构建完成后,您将部署模型

构建机器学习模型

为什么机器学习最近受到如此多的关注?

一个显而易见的问题是:机器学习已经存在了几十年,为什么现在才出现这种情况?

这种发展是由一些潜在的力量推动的:

1. 随着传感器成本的降低,数据生成量显著增加(Force 1)

数据生成量显著增加

2. 存储这些数据的成本大幅降低(Force 2)

存储这些数据的成本大幅降低

3. 计算成本已大幅下降 (Force 3)

计算成本已大幅下降

4. 云计算让大众得以享受计算的民主化 (Force 4)

云计算让大众得以享受计算的民主化

这四种力量共同创造了一个世界,我们不仅可以创造更多数据,还可以廉价地存储数据并对其进行大规模计算。这在以前是不可能的,即使机器学习技术和算法已经存在。

机器学习中使用哪些工具?

机器学习中使用多种工具和语言。工具的具体选择取决于您的需求和运营规模。以下是最常用的工具:

语言:

  • R – 用于统计计算、数据可视化和数据分析的语言。
  • Python – 流行的通用语言,拥有强大的数据科学、机器学习和自动化库。
  • SAS – 专有分析软件套件,广泛用于企业环境中的高级分析和预测建模。
  • Julia – 一种专为数值和科学计算而设计的高性能编程语言。
  • Scala – 一种在 JVM 上运行的函数式和面向对象编程语言,通常与 Apache Spark 一起用于大数据处理。

数据库:

  • SQL – 用于管理和查询关系数据库的结构化查询语言。
  • Hadoop – 使用 MapReduce 编程模型进行分布式存储和处理大型数据集的开源框架。

可视化工具:

  • D3.js – 用于在 Web 浏览器中生成交互式数据驱动可视化效果的 JavaScript 库。
  • Tableau – 用于创建仪表板和交互式可视化分析的商业智能工具。
  • QlikView – 一款数据发现和可视化工具,具有用于商业分析的关联数据建模功能。

其他常用工具:

  • Excel – 广泛使用的电子表格软件,用于商业环境中的数据录入、分析、建模和可视化。

机器学习与深度学习有何不同?

深度学习是机器学习的一个分支。因此,如果用一个简单的维恩图来表示它们之间的关系,它看起来应该是这样的:

机器学习与深度学习有何不同?

您可以阅读这篇文章,深入了解深度学习与机器学习之间的区别

机器学习中使用了哪些不同的算法?

机器学习中的算法分为不同的类别。

  • 监督学习
    • 线性回归
    • 逻辑回归
    • K最近邻算法
    • 决策树
    • 随机森林
  • 无监督学习
    • K均值聚类
    • 层次聚类
    • 神经网络

机器学习中的数据

您所看到、听到和做的一切都是数据。您只需以正确的方式捕获这些数据即可。

如今,数据无处不在。从网站和智能手机上的日志到健康设备,我们都在不断地创建数据。世界上 90% 的数据都是在过去 18 个月内创建的。

训练一个机器学习模型需要多少数据?

这个问题没有简单的答案。这取决于您要解决的问题、收集增量数据的成本以及数据带来的收益。为了简化机器学习中的数据理解,以下是一些指导原则:

  • 通常,您需要收集尽可能多的数据。如果收集数据的成本不太高,那么这种方法最终会很有效。
  • 如果捕获数据的成本很高,那么您需要根据机器学习模型的预期收益进行成本效益分析。
  • 所捕获的数据应该能够代表您期望模型处理的行为/环境。

训练机器学习模型需要什么样的数据?

数据大致可分为两类:

  1. 结构化数据:结构化数据通常指以表格形式存储在组织数据库中的数据。这包括客户数据、与客户的互动数据以及其他一些属性,这些数据在企业的 IT 基础架构中流动。
  2. 非结构化数据:非结构化数据包含所有被捕获但未以表格形式存储在企业中的数据。例如,来自客户的信件、推文和图片。它还包括图像和语音记录。

机器学习模型可以处理结构化数据和非结构化数据。但是,您需要先将非结构化数据转换为结构化数据。

机器学习在日常生活中的应用

既然您已经掌握了机器学习的基础知识,您可能会问它还有哪些其他应用,以及它们如何影响我们的生活。除非你一直与世隔绝,否则你的生活已经深受机器学习的影响。

让我们来看几个我们已经运用机器学习成果的例子:

  • 智能手机在拍照或解锁时可以检测人脸
  • Facebook、LinkedIn 或任何其他社交媒体网站会推荐你的好友和你可能感兴趣的广告
  • 亚马逊会根据你的浏览历史推荐产品
  • 银行使用机器学习实时检测欺诈交易

机器学习面临哪些挑战?

虽然机器学习在过去几年取得了巨大的进步,但仍有一些重大挑战亟待解决。这是一个活跃的研究领域,我预计很快就会有人投入大量精力来解决这些问题。

  • 需要海量数据:如今训练一个模型需要海量数据。例如,如果您想根据图像对猫和狗进行分类(并且您不使用现有模型),则需要对数千张图像进行训练。相比之下,我们通常用两三张照片向孩子解释猫和狗的区别。
  • 需要大量计算:目前,机器学习和深度学习模型需要大量计算才能完成简单的任务(对人类来说很简单)。这就是为什么需要使用包括 GPU 和 TPU 在内的特殊硬件的原因。
  • 模型的解释有时很困难:某些建模技术可以提供很高的准确率,但很难解释。这可能会让企业主感到沮丧。想象一下,如果你是一家银行,却无法解释为何拒绝了客户的贷款!
  • 需要更多数据科学家:此外,由于该领域发展迅速,掌握解决各种问题所需技能的人才并不多。预计未来几年这种情况仍将持续。所以,如果你正在考虑在机器学习领域发展事业,那么你完全有理由这样做!

小结

机器学习是席卷全球的人工智能革命的核心。这使得人们更有必要了解它并探索其潜力。虽然它并非解决所有问题的灵丹妙药,但它为未来提供了一个充满希望的框架。目前,我们正在目睹人工智能发展与道德把关之间的斗争,而道德把关正是为控制它而设立的。随着这项技术的日益普及,人们很容易因为关注其实用性而忽视其风险,这是过去的一个严重错误。但有一点是肯定的,那就是未来的前景一片光明。

评论留言