机器学习中的分类算法

17 Mar 2025 | 4 分钟阅读

众所周知,监督机器学习算法可大致分为回归算法和分类算法。在回归算法中,我们预测连续值的输出,但要预测分类值,我们需要分类算法。

什么是分类算法?

分类算法是一种监督学习技术,用于根据训练数据识别新观测的类别。在分类中,程序从给定的数据集或观测中学习,然后将新观测分类到多个类别或组中。例如,是或否、0 或 1、垃圾邮件或非垃圾邮件、猫或狗等。类别也称为目标/标签或分类。

与回归不同,分类的输出变量是类别,而不是值,例如“绿色或蓝色”、“水果或动物”等。由于分类算法是一种监督学习技术,因此它采用带标签的输入数据,这意味着它包含带有相应输出的输入。

在分类算法中,离散输出函数 (y) 被映射到输入变量 (x)。

机器学习分类算法的最佳示例是电子邮件垃圾邮件检测器

分类算法的主要目标是识别给定数据集的类别,这些算法主要用于预测分类数据的输出。

通过下图可以更好地理解分类算法。在下图中,有两个类,A 类和 B 类。这些类具有彼此相似但与其他类不同的特征。

Classification Algorithm in Machine Learning

对数据集执行分类的算法称为分类器。分类有两种类型:

  • 二元分类器:如果分类问题只有两种可能的输出,则称为二元分类器。
    示例:是或否、男性或女性、垃圾邮件或非垃圾邮件、猫或狗等。
  • 多类别分类器:如果分类问题有多种(多于两种)输出,则称为多类别分类器。
    示例:农作物类型分类、音乐类型分类。

分类问题中的学习器

在分类问题中,有两种类型的学习器:

  1. 懒惰学习器:懒惰学习器首先存储训练数据集,直到收到测试数据集。在懒惰学习器中,分类是根据训练数据集中最相关的数据进行的。它在训练时花费的时间少,但在预测时花费的时间多。
    示例:K-NN 算法、案例推理
  2. 急切学习器:急切学习器在收到测试数据集之前,会根据训练数据集开发分类模型。与懒惰学习器相反,急切学习器在学习时花费的时间多,在预测时花费的时间少。示例:决策树、朴素贝叶斯、ANN。

机器学习分类算法的类型

分类算法可进一步分为主要的两类:

  • 线性模型
    • 逻辑回归
    • 支持向量机
  • 非线性模型
    • K-近邻
    • 核 SVM
    • 朴素贝叶斯
    • 决策树分类
    • 随机森林分类

注意:我们将在后面的章节中学习上述算法。

评估分类模型

模型完成后,有必要评估其性能;无论是分类模型还是回归模型。因此,对于分类模型的评估,我们有以下方法:

1. 对数损失或交叉熵损失

  • 它用于评估分类器的性能,其输出是介于 0 和 1 之间的概率值。
  • 对于一个好的二元分类模型,对数损失值应接近 0。
  • 如果预测值偏离实际值,则对数损失值会增加。
  • 对数损失越低,模型的准确性越高。
  • 对于二元分类,交叉熵计算如下:

其中 y = 实际输出,p = 预测输出。

2. 混淆矩阵

  • 混淆矩阵为我们提供了矩阵/表格作为输出,并描述了模型的性能。
  • 它也称为错误矩阵。
  • 该矩阵以摘要形式包含预测结果,其中包含正确预测和不正确预测的总数。矩阵如下表所示:
实际为正实际为负
预测为正真阳性假阳性
预测为负假阴性真阴性
Classification Algorithm in Machine Learning

3. AUC-ROC 曲线

  • ROC 曲线代表接收者操作特征曲线,AUC 代表曲线下面积
  • 它是一个图形,显示了分类器在不同阈值下的性能。
  • 为了可视化多类别分类模型的性能,我们使用 AUC-ROC 曲线。
  • ROC 曲线绘制了 TPR 和 FPR,其中 TPR(真阳性率)在 Y 轴上,FPR(假阳性率)在 X 轴上。

分类算法的应用场景

分类算法可以在不同的地方使用。以下是分类算法的一些流行应用场景:

  • 电子邮件垃圾邮件检测
  • 语音识别
  • 癌症肿瘤细胞的识别。
  • 药物分类
  • 生物特征识别等。

下一主题逻辑回归