机器学习与模式识别 第二章 机器学习基本定义与概述 考点压缩

第二章:ML Mechanics - Terminology and Techniques --- 知识点笔记

综合来源:Lecture 02 PDF(57页)、课堂笔记(CSDN)


封面占位图

2.1 L - Learning Problem(定义学习问题)

三个核心问题

问题 说明 例子(FashionHub)
Target 我想预测什么?ML任务类型? 预测衣物类别
Objective 如何评估成功?用什么损失? 整体准确率
Data 有什么数据?数据表示?训练/测试划分? 带标签的衣物图片对

理解数据 ⭐

检查项 问题
数据量 N = ? 有多少样本?
特征(Features) D = ? 多少维度?分布如何?是否全是数值?是否有缺失?
标签(Labels) 是否有标签?离散还是连续?分布如何?是否有错误?

重要原则:Look at the data!! (先看数据!)


2.2 ML分类体系

复制代码
Machine Learning
├── Supervised Learning(监督学习)
│   ├── Classification(分类:离散标签)
│   │   ├── Binary Classification(二分类)
│   │   └── Multi-class Classification(多分类)
│   └── Regression(回归:连续标签)
├── Unsupervised Learning(无监督学习)
│   ├── Clustering(聚类)
│   └── Dimensionality Reduction(降维)
└── Reinforcement Learning(强化学习)

监督学习特点

  • 从示例(demonstrations)中学习
  • 训练数据包含{(X,Y)}函数关系
  • 最常用的学习范式,最快(需要最少数据)
  • 但标注数据不一定容易获取

2.3 泛化与数据划分 ⭐⭐

泛化(Generalization)

模型在未见过的新数据(来自与训练数据相同分布)上表现良好的能力。

死记硬背训练数据≠学习!

Train-Test Split(训练-测试划分)

  1. 打乱(Shuffle)数据
  2. 按比例划分:训练集~80% + 测试集~20%
  3. 训练集:训练模型
  4. 测试集:仅使用一次评估泛化性能

⚠️ 如果用测试集调参→测试集不再能衡量泛化!

Validation Split(验证集划分)

划分 类比 用途
Train(训练集) 练习题+答案 拟合/训练模型
Validation(验证集) 模拟考试 调模型设计、选超参数
Test(测试集) 正式考试 最终一次评估泛化能力
复制代码
原始数据 → [训练集(64%) + 验证集(16%)] + 测试集(20%)

2.4 M - Model Design(模型设计)

Feature Engineering(特征工程)⭐

定义 :从原始特征中选择和编码输入特征的过程。

数值特征编码

方法 适用场景 操作
One-Hot Encoding 类别特征(颜色、邮编等) 每类别→一个二进制列
Log变换 严重偏斜的特征(点击量、价格) 取对数压缩尺度
标准化(Standardization) 不同量级/方差的特征 z=x−μσz = \frac{x - \mu}{\sigma}z=σx−μ → 均值0方差1

标准化注意事项 :测试时必须使用训练集的μ和σ

文本特征编码 ⭐

方法 原理 特点
One-Hot 类别字符串→二进制列 适合短类别文本
Bag-of-Words (BoW) 词汇表中每词一列→计数 忽略词序、高维稀疏
Learned Embeddings LLM将文本→固定向量 语义丰富、现代主流

所有方法最终都产生高维向量表示

BoW示例

  • 停用词(stop words: the, is, of...)通常被移除(信息量极少)
  • 可进一步使用TF-IDF加权替代原始词频

BoW vs Word Embedding对比(来自CSDN笔记):

特性 BoW Word Embedding
词序 ❌ 忽略 ❌(静态)/✅(动态如BERT)
维度 高维(=词汇表大小) 低维(50-300)
稀疏性 极度稀疏 稠密
语义 (类比、相似)
多义词 不能 静态不能,动态可以

核心理解:选择BoW = 引入"词序无关+词义独立"的归纳偏置!

图像特征编码

方法 说明
Flatten 展平为向量,适合小尺寸单色图
变换(颜色空间/归一化) 预处理
手工特征(边缘检测/纹理) 传统CV方法
深度学习表示 用NN学习Embedding→现代主流

2.5 模型族(Model Family)

ML = 函数近似(两层结构)

hw=gw2∘fw1h_w = g_{w_2} \circ f_{w_1}hw=gw2∘fw1

  • fw1f_{w_1}fw1:特征化(Featurization)
  • gw2g_{w_2}gw2:学习函数(Learned Function)
  • 深度学习:fff也可以被学习!

线性回归模型族

gw(x)=w0+∑d=1Dwdxdg_w(\mathbf{x}) = w_0 + \sum_{d=1}^{D} w_d x_dgw(x)=w0+d=1∑Dwdxd

  • 不同w→不同模型
  • 假设空间 = 所有由实值斜率和截距参数化的直线

逻辑回归模型族(预览)

gw(x)=σ(w0+∑d=1Dwdxd),σ(t)=11+e−tg_w(\mathbf{x}) = \sigma\left(w_0 + \sum_{d=1}^{D} w_d x_d\right), \quad \sigma(t) = \frac{1}{1+e^{-t}}gw(x)=σ(w0+d=1∑Dwdxd),σ(t)=1+e−t1

  • 线性模型用于分类→输出概率 P(y=1∣x)P(y=1|x)P(y=1∣x)
  • 可扩展到多分类

参数化 vs 非参数化模型

类型 参数量 例子
参数化(Parametric) 固定(不依赖数据量) 线性回归
非参数化(Non-Parametric) 随数据增长 K近邻(KNN)→"参数"=全部训练数据

2.6 归纳偏置与复杂度 ⭐

No Free Lunch Theorem

没有任何算法在所有可能的问题上都是最好的。必须选择具有正确归纳偏置的模型。

归纳偏置的来源

  • 模型选择:选线性模型→假设线性关系
  • 特征工程:BoW→假设词序无关
  • 两个训练点(-1,2)和(1,2)→无限多函数可拟合→选线性=引入偏置

复杂度:欠拟合 vs 过拟合 ⭐

状态 表现 原因
欠拟合(Underfitting) 训练和验证误差都高 模型太简单
Sweet Spot 训练和验证误差都低 最佳复杂度
过拟合(Overfitting) 训练误差低、验证误差高 模型太复杂

正则化(Regularization)

  • 在学习过程中添加约束或惩罚→改善泛化
  • 更多正则化→更简单模型(从右向左移)

选模型策略

  1. 确定学习问题类型
  2. 线性模型+好的特征开始
  3. 逐步尝试更复杂模型→看验证性能

2.7 O - Optimization & P - Predict ⭐

优化框架

w^=arg⁡min⁡w∈ΘError(hw;Dtraining)+λ⋅Reg(w)\hat{w} = \arg\min_{w\in\Theta} \left\\text{Error}(h_w; \\mathcal{D}_{training}) + \\lambda \\cdot \\text{Reg}(w)\\rightw^=argw∈ΘminError(hw;Dtraining)+λ⋅Reg(w)

  • 第一项:训练误差 | 第二项:正则化惩罚 | λ:超参数

超参数(Hyperparameters)⭐

  • 定义 :优化过程中保持不变的参数(如λ)
  • 通过验证集性能来选择
  • 常用方法:网格搜索(Grid Search) → 遍历所有组合→选验证误差最小的

训练 vs 验证准确率曲线

  • 训练准确率:持续上升
  • 验证准确率:先升后降(Sweet Spot处最优)
  • 更多正则化→更简单模型

预测(Inference)两种形式

形式 输出 sklearn方法
标签预测 最可能的类别/值 model.predict()
分布预测 类别概率 / 回归均值+方差(含不确定性 model.predict_proba()

评估指标:混淆矩阵

实际Spam 实际Not Spam
预测Spam TP FP
预测Not Spam FN TN

所有类型的错误都同等重要吗?→ 需要量化决策代价!


笔记中的图片索引

序号 图片内容描述 来源位置
图1 ML生命周期L-M-O-P循环图 Lecture 02 第4页
图2 数据理解(N×D矩阵) Lecture 02 第8页
图3 ML分类体系树状图 Lecture 02 第10页
图4 Train-Val-Test划分示意图 Lecture 02 第16-18页
图5 One-Hot编码示例 Lecture 02 第24页
图6 Bag-of-Words编码示意图 Lecture 02 第28页
图7 欠拟合-SweetSpot-过拟合 Lecture 02 第42页
图8 训练vs验证准确率曲线 Lecture 02 第50页
图9 混淆矩阵 Lecture 02 第53页

笔记整理时间:2026年6月27日