【深度学习与大模型基础】第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、语音长序列训练困难
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lynn-66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值