机器是如何真正从数据中学习的?
发布: (2026年1月14日 GMT+8 15:57)
3 min read
原文: Dev.to
Source: Dev.to
🎯 正确的顺序(初学者最佳)
在理解以下内容之前,你 不应 完全学习 scikit‑learn:
- 模型是什么
- 损失是什么
- 训练意味着什么
- 过拟合是什么
否则,scikit‑learn 将变成一个 黑盒。
🧠 把 scikit‑learn 想成这样
概念 → 为什么某事有效
scikit‑learn → 如何快速应用它
如果你颠倒这个顺序:
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y)
你可以运行代码,但你 实际上并不知道发生了什么。
✅ 你应该采取的正确做法(最佳方案)
步骤 1️⃣ – 学习学习概念(暂不使用 scikit‑learn)
专注于基础概念:
- 监督学习
- 回归 vs. 分类
- 模型 = 函数
- 损失函数
- 过拟合 vs. 欠拟合
- 训练 vs. 测试 行为
这可以通过 数学直觉 + NumPy 来完成。
步骤 2️⃣ – 从头实现线性回归
仅使用:
- NumPy
- 几行数学公式
- 不使用机器学习库
这回答了问题:“模型到底是如何学习的?”
步骤 3️⃣ – 然后轻量级地引入 scikit‑learn
一旦概念清晰,scikit‑learn 将变得:
- 简洁
- 合乎逻辑
- 易于使用
你会立刻明白:
.fit().predict().score()
❌ 不该做的事(常见初学者错误)
- 深度钻研 scikit‑learn API
- 记忆分类器及其参数
- 过早跳到高级模型
这些习惯会导致理解脆弱。
🧭 你可以略窥的最小 scikit‑learn(可选)
在尚未精通之前,识别这些工具即可:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
(你可能在之前的项目中已经使用过它们。)
不要 在之前的步骤尚未扎实之前就开始学习完整模型。