第二章: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(训练-测试划分)
- 打乱(Shuffle)数据
- 按比例划分:训练集~80% + 测试集~20%
- 训练集:训练模型
- 测试集:仅使用一次评估泛化性能
⚠️ 如果用测试集调参→测试集不再能衡量泛化!
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)
- 在学习过程中添加约束或惩罚→改善泛化
- 更多正则化→更简单模型(从右向左移)
选模型策略:
- 确定学习问题类型
- 从线性模型+好的特征开始
- 逐步尝试更复杂模型→看验证性能
2.7 O - Optimization & P - Predict ⭐
优化框架
w^=argminw∈Θ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日