一、什么是分类问题?

星博讯 AI基础认知 1

分类是监督学习中最核心的任务之一,其目标是:根据已知的、带有标签的样本数据,学习一个模型,用于预测新数据所属的离散类别

一、什么是分类问题?-第1张图片-星博讯网络科技知识-SEO优化技巧|AI知识科普|互联网行业干货大全

  • 输入: 特征(Feature)向量,判断一封邮件是否是垃圾邮件,特征可能包括:发件人、关键词频率、邮件长度等。
  • 输出: 离散的类别标签(Label)。“垃圾邮件”或“非垃圾邮件”、“猫”或“狗”、“疾病类型A/B/C”等。
  • 核心: 学习特征与类别标签之间的映射关系。

与回归问题的区别: 回归预测的是连续值(如房价、温度),而分类预测的是离散的类别。

核心步骤与概念

  1. 数据准备

    • 特征工程: 将原始数据(文本、图像)转化为算法能处理的数值型特征向量,这是影响模型性能的关键,常言道“数据和特征决定了机器学习的上限”。
    • 数据清洗: 处理缺失值、异常值。
    • 数据集划分: 通常分为训练集(用于训练模型)、验证集(用于调参和模型选择)和测试集(用于最终评估模型性能)。
  2. 模型训练

    使用训练集数据,通过算法学习决策边界或概率分布。

  3. 模型评估

    • 使用测试集评估模型的泛化能力(即对未见数据的预测能力)。
    • 常用评估指标
      • 准确率: 预测正确的样本数 / 总样本数,最直观,但在类别不平衡时可能产生误导。
      • 精确率: (针对某一类)预测为该类的样本中,实际也是该类的比例。TP / (TP + FP)
      • 召回率: (针对某一类)实际为该类的样本中,被预测正确的比例。TP / (TP + FN)
      • F1分数: 精确率和召回率的调和平均数,是综合考量。
      • 混淆矩阵: 以矩阵形式直观展示分类结果,是计算上述指标的基础。
      • ROC曲线与AUC值: 主要用于评估二分类模型在不同阈值下的综合性能,AUC值越接近1,模型越好。

常见分类算法(从基础到进阶)

这里介绍几种最经典和常用的算法,理解它们有助于构建知识体系。

K-近邻

  • 核心思想: “物以类聚”,对于一个新样本,在特征空间中找出与之最相似的K个训练样本(“近邻”),根据这K个邻居的类别进行“投票”,将新样本归为票数最多的类别。
  • 关键参数: K值、距离度量方式(如欧氏距离)。
  • 优点: 简单直观,无需训练过程。
  • 缺点: 计算开销大(需要存储所有数据并计算距离),对高维数据和数据不平衡敏感。

决策树

  • 核心思想: 通过一系列“是/否”问题(基于特征值)对数据进行递归划分,最终形成一棵树状结构,从根节点到叶节点的路径就是一条分类规则。
  • 关键: 如何选择最佳划分特征?常用指标有信息增益(ID3算法)、信息增益比(C4.5算法)、基尼不纯度(CART算法)。
  • 优点: 模型可解释性强,能处理数值和类别特征,无需数据标准化。
  • 缺点: 容易过拟合(生成过于复杂的树)。

朴素贝叶斯

  • 核心思想: 基于贝叶斯定理,并假设特征之间相互独立(这是“朴素”的由来),计算给定特征下,样本属于各个类别的后验概率,选择概率最大的类别。
  • 公式P(类别|特征) ∝ P(类别) * P(特征|类别)
  • 优点: 计算效率高,对小规模数据表现好,适合文本分类。
  • 缺点: “特征独立”的假设在现实中往往不成立。

逻辑回归

  • 核心思想虽然名字带“回归”,但它是经典的分类算法(常用于二分类),它通过一个Sigmoid函数,将线性回归的结果映射到(0,1)区间,解释为属于正类的概率。
  • 关键: 找到一条决策边界(线性或通过核技巧变为非线性),使得边界两侧的样本尽可能被正确分类。
  • 优点: 模型简单,可解释性强(可以分析特征权重),输出是概率值。
  • 缺点: 本质上只能处理线性可分问题,对于复杂关系需要特征工程或使用核方法。

支持向量机

  • 核心思想: 寻找一个能够将不同类别样本分开的“超平面”,并且使得两类样本到该平面的间隔最大化,位于间隔边界上的样本点称为“支持向量”。
  • 关键概念: 间隔、支持向量、核技巧(将数据映射到高维空间以处理线性不可分问题)。
  • 优点: 在高维空间中有效,对于中小型数据集表现优异。
  • 缺点: 对大规模数据训练较慢,调参(如核函数选择)需要技巧。

集成方法

  • 核心思想: “三个臭皮匠,顶个诸葛亮”,通过构建并结合多个弱学习器(如决策树)来完成学习任务,以获得比单一模型更优越的性能。
    • Bagging: 并行训练多个模型,结果投票(分类)或平均(回归),代表算法:随机森林,它能有效降低方差,防止过拟合。
    • Boosting: 串行训练多个模型,每个新模型都更关注前一个模型分错的样本,代表算法:AdaBoost, GBDT, XGBoost, LightGBM,它能有效降低偏差,提升模型精度。
  • 优点: 通常能显著提升模型性能,是现实应用中的主流选择。
  • 缺点: 模型复杂度高,训练时间长,可解释性变差。

如何选择算法?

没有“永远最好”的算法,选择取决于:

  1. 数据规模和维度: 大数据集可能不适合SVM;高维稀疏数据(如文本)常选用朴素贝叶斯或线性模型。
  2. 对可解释性的要求: 金融、医疗等领域可能需要可解释性强的模型(如逻辑回归、决策树),而非“黑箱”模型(如复杂神经网络、深度森林)。
  3. 训练时间和预测速度的要求: KNN预测慢,朴素贝叶斯训练和预测都快。
  4. 问题的非线性程度: 线性问题可尝试逻辑回归、线性SVM;复杂非线性问题可尝试带核函数的SVM、集成树模型或神经网络。

通常的实践路径是: 从简单的模型(如逻辑回归)开始建立基线,然后尝试复杂的模型(如随机森林、XGBoost),通过交叉验证比较性能,最终确定。

掌握分类算法,需要理解:

  • 问题本质: 学习特征到离散类别的映射。
  • 评估体系: 用正确的指标(准确率、精确率/召回率、F1、AUC等)衡量模型。
  • 算法思想: 理解每种算法背后的核心假设和运作机制(如KNN的相似度、决策树的划分、逻辑回归的概率、SVM的间隔)。
  • 实践流程: 数据 -> 特征工程 -> 选择并训练模型 -> 评估调优 -> 部署应用。

这是机器学习的基石,深入理解这些基础后,你便能更好地学习和应用更高级的模型(如深度学习)。

标签: 分类 问题

抱歉,评论功能暂时关闭!

微信咨询Xboxun188
QQ:1320815949
在线时间
10:00 ~ 2:00