机器学习中的分类:它是什么以及它是如何工作的

已发表: 2024-11-20

分类是数据分析和机器学习 (ML) 的核心概念。本指南探讨了什么是分类及其工作原理,解释了分类和回归之间的区别,并涵盖了任务类型、算法、应用程序、优点和挑战。

目录

  • 什么是分类?
  • 分类与回归
  • ML 中的分类任务类型
  • 用于分类分析的算法
  • 分类的应用
  • 分类的优点
  • 分类的缺点

机器学习中的分类是什么?

分类是机器学习中的一种监督学习技术,它根据输入特征预测新数据点的类别(也称为类)。分类算法使用已知正确类别的标记数据来学习如何将特征映射到特定类别。此过程也称为分类或类别分类。

为了执行分类,算法分两个关键阶段运行。在训练阶段,算法学习输入数据与其相应标签或类别之间的关系。经过训练后,模型进入推理阶段,使用学习到的模式对现实应用中新的、未见过的数据进行分类。分类的有效性很大程度上取决于这些阶段的处理方式以及训练期间可用的预处理数据的质量。

了解分类算法如何管理这些阶段至关重要。一个关键的区别在于他们的学习方式。这导致我们分类算法可能遵循两种不同的策略:惰性学习和渴望学习。

使用 Grammarly 更智能地工作
任何有工作要做的人的人工智能写作伙伴

懒惰的学习者与热切的学习者

分类算法通常采用两种学习策略之一:惰性学习或渴望学习。这些方法在模型构建方式和时间方面存在根本差异,从而影响算法的灵活性、效率和用例。虽然两者都旨在对数据进行分类,但它们使用适合不同类型任务和环境的对比方法来实现这一目的。

让我们检查一下懒惰学习者和热切学习者的操作,以更好地了解每种方法的优点和缺点。

懒惰的学习者

惰性学习算法也称为基于实例或基于内存的学习器,它存储训练数据并延迟实际学习,直到需要对查询进行分类。当其中一种算法投入运行时,它会使用相似性度量将新数据点与存储的实例进行比较。可用数据的质量和数量会显着影响算法的准确性,访问更大的数据集通常会提高算法的性能。懒惰的学习者通常会优先考虑最近的数据,这被称为新近度偏差。由于它们是实时学习的,因此在响应查询时速度可能会更慢且计算成本更高。

懒惰的学习者在实时决策至关重要且数据不断变化的动态环境中表现出色。这些算法非常适合新信息不断流入的任务,并且没有时间在分类任务之间进行大量的训练周期。

渴望学习的人

相比之下,热切学习算法会提前处理所有训练数据,在执行任何分类任务之前构建模型。这个前期学习阶段通常更加资源密集和复杂,允许算法发现数据中更深层次的关系。一旦经过训练,渴望学习的人就不需要访问原始训练数据,这使得他们在预测阶段非常高效。他们可以快速分类数据并以最小的计算成本处理大量查询。

然而,热切的学习者在适应新的实时数据方面不太灵活。他们的资源密集型训练过程限制了他们可以处理的数据量,使得在不重新训练整个模型的情况下很难集成新信息。

在这篇文章的后面,我们将看到如何将惰性算法和热切算法一起用于面部识别。

分类与回归:有什么区别?

既然我们已经探索了分类的工作原理,那么将其与另一种关键的监督学习技术(回归)区分开来非常重要。

分类和回归都用于根据训练阶段的标记数据进行预测,但它们生成的预测类型有所不同。

分类算法预测离散的、分类的结果。例如,在电子邮件分类系统中,电子邮件可能被标记为“垃圾邮件”或“火腿”(其中“火腿”指非垃圾邮件)。同样,天气分类模型可能会预测“是”、“否”或“也许”来回答“明天会下雨吗?”的问题。

另一方面,回归算法预测连续值。回归模型不是将数据分配给类别,而是估计数值输出。例如,在电子邮件系统中,回归模型可以预测电子邮件是垃圾邮件的概率(例如,70%)。对于天气预报模型来说,它可以预测预期的降雨量,例如 2 英寸的降雨量。

虽然分类和回归有不同的目的,但它们有时会一起使用。例如,回归可以估计输入分类系统的概率,从而提高预测的准确性和粒度。

ML 中的分类任务类型

分类任务各不相同,每种任务都是针对特定的数据类型和挑战而定制的。根据任务的复杂性和类别的性质,您可以采用不同的方法:二元分类、多类分类、多标签分类或不平衡分类。让我们更深入地研究下面的每种方法。

二元分类

二元分类是一项基本任务,它将数据分为两类,例如真/假或是/否。它在欺诈检测、情感分析、医疗诊断、垃圾邮件过滤等领域得到了广泛的研究和应用。虽然二元分类处理两个类别,但可以通过将问题分解为多个二元任务来处理更复杂的分类。例如,要将数据分类为“苹果”、“橙子”、“香蕉”和“其他”,可以使用单独的二元分类器来回答“它是苹果吗?”、“它是橙子吗?”和“是香蕉吗?”

多类分类

多类分类,也称为多项分类,专为将数据分为三个或更多类别的任务而设计。与将问题分解为多个二元分类任务的模型不同,多类算法的构建是为了更有效地处理此类场景。与二进制系统相比,这些算法通常更复杂,需要更大的数据集,并且设置起来更耗费资源,但一旦实现,它们通常会提供更好的性能。

多标签分类

多标签分类,也称为多输出分类,为给定的数据分配多个标签。它经常与多类分类相混淆,其中每个实例仅分配多个类别中的一个标签。

为了澄清差异:二元分类算法可以将图像分为两类:有水果的图像和没有水果的图像。然后,多类系统可以将水果图像分类为特定类别,例如香蕉、苹果或橙子。另一方面,多标签分类允许为单个图像分配多个标签。例如,单个图像可以被分类为“水果”和“香蕉”,并且水果也可以被标记为“成熟”或“未成熟”。这使得系统能够同时考虑多个独立特征,例如(“没有水果”、“没有香蕉”、“没有成熟的”)、(“水果”、“香蕉”、“成熟”或(“水果、 ”“香蕉”,“什么都不成熟”)。

分类不平衡

通常,可用于训练的数据并不代表现实中看到的数据的分布。例如,算法在训练期间可能只能访问 100 个用户的数据,其中 50% 进行了购买(而实际上,只有 10% 的用户进行了购买)。不平衡分类算法通过使用过采样(重用训练数据的某些部分)和欠采样(未充分使用训练数据的某些部分)技术来解决学习过程中的此问题。这样做会使学习算法了解到数据子集在现实中出现的频率比在训练数据中出现的频率高或低得多。这些技术通常是一种训练优化,因为它们允许系统从比其他方式学习所需的数据少得多的数据中进行学习。

有时,积累足够的数据来反映现实是困难或耗时的,而这种类型的优化可以让模型更快地得到训练。其他时候,数据量太大,分类算法需要很长时间才能对所有数据进行训练,而不平衡的算法无论如何都可以训练它们。

用于分类分析的算法

分类算法已被深入研究,但尚未发现单一形式的分类能够普遍适用于所有情况。因此,出现了著名的分类算法的大型工具包。下面,我们描述一些最常见的。

线性预测器

线性预测器是指基于输入特征的线性组合来预测结果的算法。这些方法由于简单有效而广泛应用于分类任务。

逻辑回归

逻辑回归是最常用的线性预测器之一,特别是在二元分类中。它使用逻辑(或 sigmoid)函数根据观察到的变量计算结果的概率。如果概率最高的类别超过置信度阈值,则选择该类别作为预测结果。如果没有结果满足此阈值,则结果可能会被标记为“不确定”或“未决定”。

线性回归

线性回归通常用于回归用例,它输出连续值。但是,可以通过添加过滤器或映射将其输出转换为类别,将值重新用于分类。例如,如果您已经训练了一个输出雨量预测的线性回归模型,则通过任意设置阈值,同一模型可以成为“雨天”/“非雨天”二元分类器。默认情况下,它只是将模型转换为二元分类器时使用的回归结果的符号(0 和正数映射到“是”答案或“+1”,负数映射到“否”答案或“-” 1”)。不过,地图可以更复杂并根据用例进行调整。例如,您可能会决定,任何超过 5 毫升降雨量的预测都将被视为“雨天”,而低于该降雨量的任何预测都将被视为相反。

判别分析

线性判别分析(LDA)是用于分类的另一个重要的线性预测器。 LDA 的工作原理是寻找最能区分不同类别的特征的线性组合。它假设观测值是独立且正态分布的。虽然 LDA 通常用于降维,但它也是一种强大的分类工具,可以使用判别函数(测量类之间差异的函数)将观察值分配给类。

贝叶斯分类

贝叶斯分类算法使用贝叶斯定理来计算给定观察数据的每个类别的后验概率。这些算法假设数据的某些统计特性,其性能取决于这些假设的成立程度。例如,朴素贝叶斯假设特征在给定类别的情况下是条件独立的。

k-NN分类

k-近邻(k-NN)算法是另一种广泛使用的分类方法。尽管它既可以应用于回归任务,也可以应用于分类任务,但它最常用于分类。该算法根据新数据点的 k 个最近邻居(其中 k 是变量)的类别将类别分配给新数据点,并使用距离计算来确定邻近度。 k-NN算法简单、高效,并且在数据存在局部结构时有效。其性能取决于选择适当的距离度量并确保数据具有有助于分类的局部模式

决策树和随机森林

决策树是用于分类任务的流行算法。它们的工作原理是根据特征值递归地分割数据,以决定给定的观察结果属于哪个类。然而,决策树往往会过度拟合训练数据,捕获噪声并导致高方差。这种过度拟合会导致对新数据的泛化能力较差。

为了减轻过度拟合,使用随机森林作为集成方法。随机森林在数据的随机子集上并行训练多个决策树,并且每棵树都会做出自己的预测。最终的预测是通过汇总所有树的预测来做出的,通常是通过多数投票。这个过程称为“bagging”(引导聚合的缩写),可以减少方差并提高模型泛化到未见过的数据的能力。随机森林可以有效地平衡偏差和方差,使其成为用于分类任务的强大的现成算法。

分类的应用

分类算法广泛应用于各个领域,通过将数据分类到预定义的组来解决现实世界的问题。以下是分类的一些常见应用,包括面部识别、文档分类和客户行为预测。

人脸识别

面部识别系统将视频或照片中的面部与已知面部数据库进行实时匹配。它们通常用于身份验证。

例如,手机解锁系统首先使用面部检测系统,该系统每隔几秒钟从面部定向摄像头拍摄低分辨率图像,然后推断图像中是否有面部。面部检测系统可以是一个训练有素、热切的二元分类器,可以回答“是否存在面部?”的问题。

懒惰的分类器会遵循热切的“有一张脸吗?”分类器。它将使用手机所有者的所有照片和自拍照来实现单独的二元分类任务,并回答“这张脸是否属于被允许解锁手机的人?”的问题。如果答案是肯定的,手机将解锁;如果答案是否定的,那就不会。

文件分类

文档分类是现代数据管理策略的重要组成部分。基于机器学习的分类器对大量存储的文档进行编目和分类,支持索引和搜索工作,使文档及其内容更有用。

文档分类工作从文档的预处理开始。它们的内容被分析并转换为数字表示(因为数字更容易处理)。从文档中提取重要的文档特征(例如数学方程、嵌入图像和文档语言)并突出显示以供 ML 算法学习。接下来是其他类似的处理任务。

然后由人工对文档子集进行分类,以创建用于分类系统的训练数据集。经过训练后,分类器将快速大规模地对所有传入文档进行编目和分类。如果检测到任何分类错误,可以将手动更正添加到机器学习系统的培训材料中。每隔一段时间,可以通过添加修正来重新训练分类器模型,并且其性能将会得到提高。

客户行为预测

在线零售和电子商务商店收集有关客户行为的细粒度和详细信息。此信息可用于对新客户进行分类并回答诸如“该新客户是否可能进行购买?”之类的问题。以及“提供 25% 的折扣会影响该客户的购买行为吗?”

使用先前客户的数据及其最终行为(例如他们是否进行了购买)来训练分类器。当新客户与平台互动时,该模型可以预测他们是否以及何时进行购买。它还可以执行假设分析来回答诸如“如果我为该用户提供 25% 的折扣,他们会购买吗?”之类的问题。

分类的优点

分类在机器学习领域提供了多种好处,使其成为解决数据分类问题的广泛使用的方法。下面,我们探讨分类的一些关键优势,包括其成熟度、灵活性以及提供人类可读输出的能力。

充分研究和理解

分类是机器学习领域中研究最深入、理解最透彻的问题之一。因此,有许多成熟的工具包可用于分类任务,允许用户在速度、效率、资源使用和数据质量要求之间进行权衡。

准确度、精确度、召回率和混淆矩阵等标准技术可用于评估分类器的性能。借助这些工具,可以相对简单地为给定问题选择最合适的分类系统、评估其性能并随着时间的推移进行改进。

提供人类可读的输出

分类器通常允许在预测能力和人类可读性之间进行权衡。可以调整更简单、更可解释的模型,例如决策树或逻辑回归,以使其行为更容易理解。这些可解释的模型可用于探索数据属性,使人类用户能够深入了解数据。这些见解可以指导更复杂、更准确的机器学习模型的开发。

分类的缺点

虽然分类是机器学习中的强大工具,但它确实面临着某些挑战和限制。下面,我们讨论分类的一些主要缺点,包括过度拟合、欠拟合以及需要对训练数据进行大量预处理。

过拟合

训练分类模型时,调整训练过程以减少模型过度拟合数据的可能性非常重要。过度拟合是指模型记住部分或全部源数据,而不是对数据中的关系进行抽象理解的问题。当模型看到与训练数据非常相似的新数据时,对训练数据进行过度拟合的模型会很好地工作,但通常情况下它可能不会很好地工作。

欠拟合

分类系统的性能取决于是否有足够数量的可用训练数据,以及是否应用于适合所选分类算法的问题。如果没有足够的训练数据,或者特定的分类算法没有正确的工具来正确解释数据,则训练后的模型可能永远无法学会做出良好的预测。这种现象称为“欠拟合”。有许多技术可用于尝试减轻欠拟合,但正确应用它们并不总是那么容易。

训练数据的预处理

许多分类系统对数据结构和格式都有比较严格的要求。他们的表现通常与数据在接触数据或接受数据训练之前的处理情况密切相关。因此,分类系统可能是僵化的、不灵活的,对于它们最适合的问题和数据上下文有严格的界限。