第二章: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 EmbeddingsLLM将文本→固定向量语义丰富、现代主流

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

BoW示例:

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

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

特性BoWWord 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∑D​wd​xd​

  • 不同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∑D​wd​xd​),σ(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)\right]w^=argw∈Θmin​[Error(hw​;Dtraining​)+λ⋅Reg(w)]

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

超参数(Hyperparameters)⭐

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

训练 vs 验证准确率曲线

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

预测(Inference)两种形式

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

评估指标:混淆矩阵

实际Spam实际Not Spam
预测SpamTPFP
预测Not SpamFNTN

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


笔记中的图片索引

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

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐