第 12 章 图像模式分类 (Image Pattern Classification)
核心结论
-
背景(§12.1):模式分类定义;监督 / 无监督 / 半监督。
-
贝叶斯决策理论(§12.2):贝叶斯最优分类;最小错误率 / 最小风险。
-
参数估计(§12.3):最大似然(MLE)/ 最大后验(MAP);高斯模型。
-
非参数估计(§12.4):K-近邻 / Parzen 窗;无需参数假设。
-
线性判别函数(§12.5):感知机 / SVM / Fisher 判别。
-
神经网络(深度学习)(§12.6):MLP / CNN / ResNet;当前 SOTA。
-
深度学习实现(§12.7):随机梯度 / 反向传播 / 优化器。
-
卷积神经网络(额外材料)(§12.8):CNN 架构 / 训练技巧。
-
半监督 / 自监督学习(§12.9):少标签 + 自监督;现代主流。
|
本章主旨
本章是图像识别——把特征向量映射到类别标签。理解后才能做分类 / 识别系统;现代用深度学习(CNN / ViT)实现 SOTA。 |
一、核心概念
本章围绕 9 个核心概念展开:背景 → 贝叶斯 → 参数估计 → 非参数 → 线性判别 → 神经网络 → 实现 → CNN → 半监督。
| 概念 | 定义 + 重要性 | 实现提示 |
|---|---|---|
背景 |
模式分类定义;监督 / 无监督。 |
§12.1;理解分类任务。 |
贝叶斯决策 |
贝叶斯最优;最小错误率。 |
§12.2;分类的理论上限。 |
参数估计 |
MLE / MAP;高斯模型。 |
§12.3;经典统计学习。 |
非参数估计 |
KNN / Parzen 窗;无需假设。 |
§12.4;灵活但数据需求大。 |
线性判别 |
感知机 / SVM / Fisher。 |
§12.5;分类基础。 |
神经网络 |
MLP / CNN / ResNet;当前 SOTA。 |
§12.6;现代主流。 |
深度学习实现 |
SGD / Adam / 反向传播。 |
§12.7;工程实现。 |
CNN(额外材料) |
CNN 架构 / 训练技巧。 |
§12.8;CV 主流架构。 |
半监督 / 自监督 |
少标签 + 自监督。 |
§12.9;现代方向。 |
二、详细笔记
2.1 背景 (Background)
What:模式分类定义;监督 / 无监督 / 半监督。
Why:理解分类任务基础。
How:
-
模式分类:从特征向量到类别标签。
-
监督:(x, y) 训练对;学习
f: X → Y。 -
无监督:只有 x;聚类 / 降维。
-
半监督 / 自监督:少量标签 + 大量无标签。
When:所有分类任务。
Example:猫 / 狗分类(监督);用户分群(无监督)。
2.2 贝叶斯决策理论 (Bayesian Decision Theory)
What:贝叶斯最优分类。
Why:分类的理论上限。
How:
-
后验:
P(c|x) = P(x|c) P(c) / P(x)。 -
最优分类:
c* = argmax_c P(c|x)。 -
最小风险:
c* = argmin_c Σ R(c_i | c_j) P(c_j|x)。
When:理论分析;基准对比。
Example:高斯判别分析(GDA)。
2.3 参数估计 (Parameter Estimation)
What:MLE / MAP;高斯模型。
Why:经典统计学习;贝叶斯方法基础。
How:
-
MLE:
θ̂ = argmax P(D|θ)。 -
MAP:
θ̂ = argmax P(θ|D) = argmax P(D|θ) P(θ)。 -
高斯均值 / 方差:闭式解。
When:高斯模型;朴素贝叶斯。
Example:sklearn.naive_bayes.GaussianNB。
2.4 非参数估计 (Nonparametric Estimation)
What:K-近邻 / Parzen 窗。
Why:无需参数假设;灵活。
How:
-
KNN:
c(x) = mode(c(x_i)) for x_i ∈ k-NN(x)。 -
Parzen 窗:核函数估计密度。
-
K 选择:交叉验证。
When:样本足够;非高斯数据。
Example*:sklearn.neighbors.KNeighborsClassifier。
2.5 线性判别函数 (Linear Discriminant Functions)
What:感知机 / SVM / Fisher 判别。
Why:分类的基础方法。
How:
-
感知机:梯度下降;线性可分收敛。
-
SVM:最大化间隔;核函数扩展非线性。
-
Fisher 判别:类间 / 类内比最大化。
When:线性可分数据;高维特征。
Example*:sklearn.svm.SVC;sklearn.discriminant_analysis.LinearDiscriminantAnalysis。
2.6 神经网络(深度学习) (Neural Networks)
What:MLP / CNN / ResNet;当前 SOTA。
Why:现代 CV 主流。
How:
-
MLP:多层感知机;激活函数 + 反向传播。
-
CNN:卷积 + 池化 + 全连接。
-
ResNet:残差连接;训练深网。
-
ViT:Transformer 编码器。
When:所有 CV 任务;大数据集 SOTA。
Example*:torchvision.models.resnet50(pretrained=True)。
2.7 深度学习实现 (Deep Learning Implementation)
What:SGD / Adam / 反向传播。
Why:工程实现基础。
How:
-
反向传播:链式法则求梯度。
-
SGD:随机梯度下降;batch size / learning rate。
-
Adam:自适应学习率;默认选择。
-
正则化:Dropout / Weight Decay / BatchNorm。
When:训练所有神经网络。
Example*:torch.optim.Adam(model.parameters(), lr=1e-3);PyTorch Lightning。