分类问题

分类是机器学习中最基础的任务之一。给定输入数据,预测其属于哪个类别。从垃圾邮件识别到疾病诊断,分类问题无处不在。

学习难度:入门·阅读时间:约10分钟

什么是分类

定义

分类任务是预测离散标签的问题:

  • 输入:特征向量 x
  • 输出:类别标签 y(有限个取值)
  • 目标:学习从特征到标签的映射

与回归的区别

特性分类回归
输出类型离散类别连续数值
例子猫/狗分类房价预测
评估指标准确率、F1MSE、MAE

分类类型

二分类

只有两个类别:

  • 垃圾邮件 vs 正常邮件
  • 欺诈交易 vs 正常交易
  • 患病 vs 健康

多分类

三个或更多类别:

  • 手写数字识别(0-9)
  • 新闻分类(体育、财经、娱乐等)
  • 图像分类(1000类ImageNet)

多标签分类

一个样本可以属于多个类别:

  • 文章标签(可同时是"科技"和"AI")
  • 电影类型(可同时是"动作"和"喜剧")

常用算法

逻辑回归

线性分类器,使用Sigmoid函数输出概率。简单高效,可解释性强。

决策树

通过一系列规则进行分类。直观易懂,但容易过拟合。

随机森林

多棵决策树集成。准确率高,抗过拟合。

支持向量机(SVM)

寻找最优分类超平面。在小数据集上效果好。

神经网络

多层感知机或深度网络。适合复杂数据和大规模问题。

朴素贝叶斯

基于贝叶斯定理和特征独立假设。适合文本分类。

评估指标

基础指标

  • 准确率(Accuracy):正确预测的比例
  • 精确率(Precision):预测为正的样本中有多少是真正
  • 召回率(Recall):真正的样本有多少被正确预测
  • F1分数:精确率和召回率的调和平均

混淆矩阵

二分类混淆矩阵
• 真正例(TP):预测为正,实际为正
• 假正例(FP):预测为正,实际为负
• 假负例(FN):预测为负,实际为正
• 真负例(TN):预测为负,实际为负

ROC与AUC

ROC曲线展示不同阈值下的性能,AUC是曲线下面积:

  • AUC = 1.0:完美分类器
  • AUC = 0.5:随机猜测
  • AUC > 0.8:较好的分类器

常见挑战

类别不平衡

当某些类别样本很少时:

  • 准确率可能误导(如99%是负类)
  • 解决方案:过采样、欠采样、调整权重

维度灾难

特征过多时:

  • 需要更多训练数据
  • 计算成本增加
  • 解决方案:特征选择、降维

过拟合

  • 训练集表现好,测试集表现差
  • 解决方案:正则化、交叉验证、更多数据

实际应用

  • 垃圾邮件检测:邮件分类
  • 图像识别:物体、人脸识别
  • 情感分析:正面/负面评价
  • 医疗诊断:疾病预测
  • 信用评分:违约风险预测
  • 欺诈检测:异常交易识别
----