【深度学习与大模型基础】第14章-分类任务与经典分类算法

Part 1:什么是分类任务?

1.1 分类就是"贴标签"

想象你有一堆水果,有苹果🍎、橘子🍊、香蕉🍌,你的任务是让机器学会自动判断一个新水果属于哪一类------这就是分类(Classification)

关键点

  • 输入:数据(比如水果的颜色、形状、重量)。

  • 输出:类别标签(苹果、橘子、香蕉)。

1.2 分类 vs. 回归

  • 分类:预测离散标签(比如"猫/狗")。

  • 回归:预测连续值(比如"房价多少万")。

例子

  • 分类:判断邮件是"垃圾邮件"还是"正常邮件"。

  • 回归:预测明天股票的价格。


Part 2:经典分类算法

2.1 SVM(支持向量机)------ "最佳分界线"

核心思想:找到一条最宽的"马路"(决策边界),让不同类别的数据离这条线尽可能远。

生活例子

  • 你在教室里画一条"三八线",让男生女生尽量远离这条线,避免冲突。

  • 支持向量:离分界线最近的那些点(最容易分错的样本)。

适用场景

  • 小样本、高维数据(如文本分类、图像识别)。

  • 对噪声不太敏感,抗过拟合能力强。

缺点

  • 数据量太大时计算慢。

python实例代码

复制代码
import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.datasets import make_blobs

# 1. 生成数据集
X, y = make_blobs(n_samples=100, centers=2, random_state=6)

# 2. 创建SVM模型并训练
model = svm.SVC(kernel='linear', C=1.0)
model.fit(X, y)

# 3. 创建网格以绘制决策边界
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),
                     np.arange(y_min, y_max, 0.02))

# 4. 预测网格中的点
Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)

# 5. 绘制结果
plt.contourf(xx, yy, Z, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', marker='o')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('SVM Decision Boundary')
plt.show()

2.2 朴素贝叶斯(Naive Bayes)------ "概率算命大师"

核心思想:基于贝叶斯定理,计算某个数据属于哪一类的概率,选择概率最大的类别。

生活例子

  • 你看到一个人戴眼镜、穿格子衫、背电脑包,猜测他是程序员👨‍💻还是老师👨‍🏫?

  • 朴素贝叶斯会计算:

    • P(程序员 | 眼镜+格子衫+电脑包) = ?

    • P(老师 | 眼镜+格子衫+电脑包) = ?

    • 选概率更高的那个!

"朴素"在哪?

假设所有特征(眼镜、格子衫、电脑包)之间相互独立(现实中不一定,但简化计算)。

适用场景

  • 文本分类(如垃圾邮件过滤、情感分析)。

  • 计算快,适合高维数据。

缺点

  • 特征独立性假设太强,现实数据往往不符合。

2.3 KNN(K近邻)------ "近朱者赤,近墨者黑"

核心思想:一个新数据点属于哪一类,就看它的K个最近邻居大多数属于哪一类。

生活例子

  • 你想知道新搬来的邻居是"安静型"还是"派对型"?

  • 你调查他最近的3个邻居(K=3),发现2个爱开派对,1个安静,于是你猜他是"派对型"🎉。

关键点

  • K的选择:K太小容易受噪声影响,K太大会忽略局部特征。

  • 距离计算:常用欧氏距离(就像地图上的直线距离)。

适用场景

  • 数据分布复杂、边界不规则时表现好(如手写数字识别)。

  • 简单直观,适合入门。

缺点

  • 计算量大(每次预测都要算所有样本的距离)。

  • 对高维数据效果下降("维度灾难")。


Part 3:深度学习中的分类模型

3.1 CNN(卷积神经网络)------ "图像分类之王"

核心思想:模仿人眼,用"卷积核"扫描图像,提取局部特征(如边缘、纹理),最后分类。

生活例子

  • 你教小孩认猫🐱和狗🐶,先看耳朵形状、鼻子大小,再整体判断------CNN也是这样!

关键特点

  • 卷积层:局部感知,参数共享(减少计算量)。

  • 池化层:降维(比如"最大池化"只保留最显著特征)。

适用场景

  • 图像分类、目标检测(如人脸识别、自动驾驶)。

3.2 RNN(循环神经网络)------ "记忆大师"

核心思想:处理序列数据(如文本、语音),通过"记忆"前面的信息影响后面的输出。

生活例子

  • 你读一句话:"我爱吃___",前面的词提示这里该填"苹果"而不是"汽车"------RNN会记住上下文!

关键特点

  • 循环结构:隐藏层会传递信息给下一步。

  • LSTM/GRU:改进版,解决长序列记忆问题(比如机器翻译)。

适用场景

  • 自然语言处理(NLP)、语音识别、时间序列预测。

总结:一张表搞定所有算法

算法 核心思想 适用场景 缺点
SVM 找最宽的分界线 小样本、高维数据 大数据计算慢
朴素贝叶斯 算概率,选最大 文本分类 特征独立性假设太强
KNN 看K个邻居投票 简单分类 计算量大
CNN 卷积提取图像特征 图像识别 需要大量数据
RNN 记忆序列信息 NLP、语音 长序列训练困难
相关推荐
会飞的老朱3 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º5 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee7 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º8 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys8 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56788 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子8 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能8 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144878 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile8 小时前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算