世界充满了数据——由人和计算机生成的图像、视频、电子表格、音频和文本充斥着互联网,将我们淹没在信息的海洋中。
传统上,人类分析数据以做出更明智的决策,并设法调整系统以控制数据模式的变化。然而,随着传入信息量的增加,我们理解它的能力下降,给我们带来了以下挑战:
我们如何使用所有这些数据以自动而非手动的方式推导意义?
这正是机器学习发挥作用的地方。本文将介绍:
- 什么是机器学习
- 机器学习算法的关键要素
- 机器学习是如何工作的
- 6 个真实世界的机器学习应用
- 机器学习的挑战和局限性
这些预测是由机器从一组称为“训练数据”的数据中学习模式做出的,它们可以推动进一步的技术发展,从而改善人们的生活。
一 什么是机器学习
机器学习是一个概念,它允许计算机自动从示例和经验中学习,并在没有明确编程的情况下模仿人类的决策。
机器学习是人工智能的一个分支,使用算法和统计技术从数据中学习并从中得出模式和隐藏的见解。
现在,让我们更深入地探索机器学习的来龙去脉。
二 机器学习算法的关键要素
机器学习中有数以万计的算法,可以根据学习风格或所解决问题的性质进行分组。但每个机器学习算法都包含以下关键组件:
- 训练数据——指机器学习系统必须从中学习的文本、图像、视频或时间序列信息。训练数据通常被标记以向 ML 系统显示“正确答案”是什么,例如人脸检测器中人脸周围的边界框,或股票预测器中的未来股票表现。
- 表示——它指的是训练数据中对象的编码表示,例如用“眼睛”等特征表示的人脸。编码某些模型比其他模型更容易,这就是驱动模型选择的原因。例如,神经网络形成一种表示,而支持向量机形成另一种表示。大多数现代方法都使用神经网络。
- 评估——这是关于我们如何判断或确定一种模型而不是另一种模型。我们通常称其为效用函数、损失函数或评分函数。均方误差(模型的输出与数据输出)或似然(给定观察数据的模型的估计概率)是不同评估函数的示例。
- 优化——这是指如何搜索表示模型的空间或改进训练数据中的标签以获得更好的评估。优化意味着更新模型参数以最小化损失函数的值。它有助于模型以更快的速度提高其准确性。
以上是机器学习算法的四个组成部分的详细分类。
机器学习系统的功能
描述性:系统收集历史数据,对其进行组织,然后以易于理解的方式呈现。
主要重点是掌握企业中已经发生的事情,而不是从其发现中得出推论或预测。描述性分析使用简单的数学和统计工具,例如算术、平均值和百分比,而不是预测性和规范性分析所需的复杂计算。
预测性:描述性分析侧重于分析历史数据并从中得出推论,而预测性分析侧重于预测和理解未来可能发生的事情。
通过查看历史数据来分析过去的数据模式和趋势可以预测未来可能发生的事情。
规范性:描述性分析告诉我们过去发生了什么,而预测性分析告诉我们通过从过去学习未来可能发生的事情。但是,一旦我们对可能发生的事情有了洞察力,应该做什么呢?
这就是规范性分析。它帮助系统使用过去的知识对一个人可以采取的行动提出多项建议。规范性分析可以模拟场景并提供实现预期结果的途径。
三 机器学习是如何工作的
ML算法的学习可以分为三个主要部分。
决策过程
机器学习模型旨在从数据中学习模式并应用这些知识进行预测。问题是:模型如何进行预测?
这个过程非常基础——从输入数据(标记或未标记)中找到模式并应用它来得出结果。
误差函数
机器学习模型旨在将自己做出的预测与基本事实进行比较。目标是了解它是否在朝着正确的方向学习。这决定了模型的准确性,并暗示了我们如何改进模型的训练。
模型优化过程
该模型的最终目标是改进预测,这意味着减少已知结果与相应模型估计之间的差异。
该模型需要通过不断更新权重来更好地适应训练数据样本。该算法循环工作,评估和优化结果,更新权重,直到获得关于模型准确性的最大值。
机器学习方法的类型
机器学习主要包括四种类型。
1. 监督机器学习
在监督学习中,顾名思义,机器在指导下学习。
这是通过向计算机提供一组标记数据来完成的,以使机器了解输入的内容以及输出应该是什么。在这里,人类充当向导,为模型提供带标签的训练数据(输入-输出对),机器从中学习模式。
一旦从以前的数据集中学习了输入和输出之间的关系,机器就可以轻松地预测新数据的输出值。
我们可以在哪里使用监督学习?
答案是:在我们知道在输入数据中查看什么以及我们想要什么作为输出的情况下。
监督学习问题的主要类型包括回归和分类问题。
2. 无监督机器学习
无监督学习的工作方式与监督学习的工作方式恰恰相反。
它使用未标记的数据——机器必须理解数据,找到隐藏的模式并做出相应的预测。
在这里,机器在独立地从数据中推导出隐藏模式后为我们提供新发现,而无需人工指定要寻找的内容。
无监督学习问题的主要类型包括聚类和关联规则分析。
3.强化学习
强化学习涉及一个代理,该代理通过执行操作来学习在环境中的行为。
根据这些行动的结果,它会提供反馈并调整其未来的路线——对于每一个好的动作,代理都会得到积极的反馈,而对于每一个坏的动作,代理都会得到负面的反馈或惩罚。
强化学习在没有任何标记数据的情况下进行学习。由于没有标记数据,代理只能根据自己的经验进行学习。
4. 半监督学习
半监督是监督和无监督学习之间的状态。
它从每个学习中获取积极的方面,即它使用较小的标记数据集来指导分类,并从较大的未标记数据集中执行无监督特征提取。
使用半监督学习的主要优点是它能够在没有足够的标记数据来训练模型时解决问题,或者当数据根本无法标记时因为人类不知道要在其中寻找什么。
四 6 个真实世界的机器学习应用
如今,机器学习几乎是所有科技公司的核心,包括谷歌或 Youtube 搜索引擎等企业。
下面,汇总了一些您可能熟悉的机器学习在现实生活中的应用示例:
自动驾驶汽车
车辆在道路上会遇到各种各样的情况。
为了让自动驾驶汽车比人类表现更好,它们需要学习并适应不断变化的路况和其他车辆的行为。
自动驾驶汽车从传感器和摄像头收集周围环境的数据,然后对其进行解释并做出相应的反应。它使用监督学习识别周围物体,使用无监督学习识别其他车辆的模式,并最终在强化算法的帮助下采取相应的行动。
图像分析和物体检测
图像分析用于从图像中提取不同的信息。
它在检查制造缺陷、分析智能城市的汽车交通或像谷歌镜头这样的视觉搜索引擎等领域得到应用。
主要思想是使用深度学习技术从图像中提取特征,然后将这些特征应用于对象检测。
客户服务聊天机器人
如今,公司使用 AI 聊天机器人来提供客户支持和销售的情况非常普遍。AI 聊天机器人通过提供 24/7 支持帮助企业处理大量客户查询,从而降低支持成本并带来额外收入和满意的客户。
AI 机器人技术使用自然语言处理 (NLP) 来处理文本、提取查询关键字并做出相应响应。
医学成像和诊断
事实是这样的:医学影像数据既是最丰富的信息来源,也是最复杂的信息来源之一。
手动分析数以千计的医学图像是一项乏味的工作,并且浪费病理学家可以更有效地利用的宝贵时间。
但这不仅仅是节省时间——肉眼可能看不到伪影或结节等小特征,从而导致疾病诊断延迟和错误预测。这就是为什么使用涉及神经网络的深度学习技术(可用于从图像中提取特征)具有如此大的潜力。
欺诈识别
随着电子商务领域的扩张,我们可以观察到在线交易数量的增加和可用支付方式的多样化。不幸的是,有些人利用了这种情况。当今世界的欺诈者非常熟练,可以非常迅速地采用新技术。
这就是为什么我们需要一个能够分析数据模式、做出准确预测并响应在线网络安全威胁(如虚假登录尝试或网络钓鱼攻击)的系统。
例如,根据您过去购买的地点或您在线的时间,防欺诈系统可以发现购买是否合法。同样,他们可以检测是否有人试图在网上或电话中冒充您。
推荐算法
推荐算法的这种相关性基于对历史数据的研究,并取决于几个因素,包括用户偏好和兴趣。
京东或抖音等公司使用推荐系统为用户/买家策划和展示相关内容或产品。
五 机器学习的挑战和局限性
欠拟合和过拟合
在大多数情况下,任何机器学习算法性能不佳的原因都是由于欠拟合和过拟合。
让我们在训练机器学习模型的背景下分解这些术语。
- 欠拟合是机器学习模型既不能学习数据中变量之间的关系也不能正确预测新数据点的场景。换句话说,机器学习系统没有发现跨数据点的趋势。
- 当机器学习模型从训练数据中学习得太多时,就会发生过度拟合,注意那些本来就是噪声或与数据集范围无关的数据点。它试图拟合曲线上的每个点,并因此记住数据模式。
由于该模型的灵活性很小,因此无法预测新的数据点。换句话说,它过于关注给出的例子,无法看到更大的图景。
欠拟合和过拟合的原因是什么?
更一般的情况包括用于训练的数据不干净并且包含大量噪声或垃圾值,或者数据的大小太小的情况。但是,还有一些更具体的原因。
让我们来看看那些。
欠拟合的发生可能是因为:
- 该模型使用错误的参数进行训练,并且未充分观察到训练数据
- 模型太简单,记不住足够多的特征
- 训练数据过于多样化或复杂
在以下情况下可能会发生过度拟合:
- 该模型使用错误的参数进行训练,并过度观察训练数据
- 该模型过于复杂,并且没有针对更多不同的数据进行预训练。
- 训练数据的标签过于严格或原始数据过于均匀,不代表真实的分布。
维数
任何机器学习模型的准确性都与数据集的维度成正比。但它只适用于特定的阈值。
数据集的维度是指数据集中存在的属性/特征的数量。以指数方式增加维数会导致添加非必需属性,从而混淆模型,从而降低机器学习模型的准确性。
我们将这些与训练机器学习模型相关的困难称为“维数灾难”。
数据质量
机器学习算法对低质量的训练数据很敏感。
由于数据不正确或缺失值导致数据中出现噪声,数据质量可能会受到影响。即使训练数据中相对较小的错误也会导致系统输出出现大规模错误。
当算法表现不佳时,通常是由于数据质量问题,例如数量/倾斜/噪声数据不足或描述数据的特征不足。
因此,在训练机器学习模型之前,往往需要进行数据清洗以获得高质量的数据。