# Baseline 与模型比较

[[MCS/day6/00 学习指南|day6 学习指南]] · [[MCS/00 MCS学习总览|十一天总览]] · [[MCS/day6/阅读核验与疑问|阅读核验与疑问]] · 上一篇：[[MCS/day6/10 牛顿法、割线法与鞍点实验|牛顿法、割线法与鞍点实验]] · 下一篇：[[MCS/day6/12 牛顿法到 XGBoost 的课堂推导|牛顿法到 XGBoost 的课堂推导]]

> 来源：[[MCS/day6补充7|day6补充7]]。用途：选学。原有推导、追问与解答保留；阅读时请结合本日核验说明。

## Baseline（基线）：机器学习中的“及格线”与“参照物”

结合课堂对话里“交 MSE”的语境，Baseline（基线）是一个非常关键的概念。

用最通俗的话说：**Baseline 就是你的“及格线”或者“参照物”。**

---

### 一、为什么要有 Baseline？

当你接到一个任务（比如“交 MSE”），你首先要做的不是立刻去调参、上复杂模型，而是先建立一个最基础的版本。

这个版本不需要很准，哪怕全猜 0，或者用最简单的模型（比如逻辑回归、决策树）跑一遍。

它的作用就是：告诉你“最差能差到什么程度”，以及“标准线在哪里”。

---

### 二、Baseline 的三种常见形态

1. **极简模型**
   - 比如均方误差（MSE）任务，最无脑的 Baseline 是直接预测所有样本的均值。
   - 对应数学表达：
     $$
     \hat{y}_i = \bar{y} = \frac{1}{n} \sum_{i=1}^{n} y_i
     $$

2. **默认参数模型**
   - 比如用 sklearn 的默认参数跑一次逻辑回归或 XGBoost，不调任何参数，跑出的结果就是 Baseline。

3. **自己动手跑的第一版**
   - 也就是对话里说的“上面那个改完跑完，按 MSE 交上去”。
   - 在这个语境下，跑出来的那个交上去的结果，就是你的 Baseline。

---

### 三、为什么 要强调 Baseline？

结合前面整理的笔记：

> “不知道怎么改参数，不知道为什么，因为你不知道这个模型的原理。”

这其实和 Baseline 息息相关：

1. **有 Baseline，你才知道调参有没有用**
   - 你改了 Learning Rate（学习率），结果测试集和验证集的结果不行了。
   - 为什么不行？如果你之前有一个稳定的 Baseline，你就能对比：
     - 是学习率改大了导致震荡？
     - 还是改小了导致没收敛？

2. **有 Baseline，你才能定位问题**
   - 如果连 Baseline 都没跑通，连原本的成绩都没有，你改了参数之后，根本不知道是：
     - “模型原理的问题”
     - “数据的问题”
     - 还是“调参方向的问题”

---

### 四、白话总结

**Baseline 就是你的“底线”。**

你可以跑得很烂，但你得有个烂的成绩托底。有了这个托底，你后续的调参（比如调 learning rate、换 lbfgs 为 Adam、加正则化）才有对比的参照系，你才知道这个模型到底是在变好还是变坏。

否则，就像笔记里说的——纯粹瞎跑，不知为何而跑，也不知为何而改。

---

### 五、核心记忆点

- Baseline = 及格线 / 参照物。
- 三种常见形态：极简模型、默认参数模型、自己动手跑的第一版。
- 没有 Baseline，调参就是瞎跑：不知道变好还是变坏，也不知道问题出在哪。
- 有 Baseline，才能对比、定位、迭代。
