0.1 什么是机器学习
先猜一个分数
期末考试前,班主任想预测每个同学的成绩。她手里有全班的历史数据:每人每天学习几小时,以及上次考了多少分。
凭经验,她心里有杆秤:「学得越久,分数越高,大概每多学一小时能多拿几分。」
把这杆秤写成式子,就是一条直线:
这里 和 是两个待定的数字: 是「每多学一小时值多少分」, 是「完全不学大概能考多少」。这条带着两个可调数字的直线,就是一个最简单的「模型」——数据进去,预测出来。
问题来了: 和 到底取多少,这条线才「猜得最准」?
先别看答案,你亲手试试 :
拖点拟合:亲手当一次「模型」
蓝点是 12 名学生的(每天学习时间 → 考试分数)数据。拖动滑块调整直线,让平均偏差尽量小;也可以直接拖动蓝点改数据。
当前模型
分数 ≈ 1.5 × 时间 + 5.0
平均偏差(RMSE)
43.2 分
你刚才做的事,就是机器学习
回顾一下你刚才的操作流程:
- 看着直线和数据点的偏差(红色虚线);
- 觉得偏差太大,就调整 和 ;
- 反复调,直到偏差尽可能小。
再点「🤖 让机器自动学」,机器做的是完全同一件事,只是不用人眼看、不用手拖——它用算法自动完成「衡量偏差 → 调整参数」的循环。
这就是机器学习的完整定义:
一句话定义
机器学习(Machine Learning)= 不靠人手写规则,而是让程序根据数据自动调整参数,使模型的预测偏差尽可能小。
三个词值得记住,后面每一章都会用到:
- 模型:带可调参数的函数(这里是一条直线)。
- 参数:那些可调的数字旋钮(这里是 和 ,一共 2 个)。
- 训练:自动调参数、让偏差变小的过程(你点的那个按钮)。
从 2 个参数到 2000 亿个
你可能会想:一条直线也太简单了,跟 ChatGPT 有什么关系?
关系是——原理一模一样,只是规模不同:
| 刚才的直线 | 大语言模型(2025 年的旗舰级) | |
|---|---|---|
| 输入 | 学习时间(1 个数字) | 上文(几万个词元) |
| 输出 | 预测分数(1 个数字) | 下一个词的概率(几万个数字) |
| 参数量 | 2 个 | 数百亿 ~ 数万亿个 |
| 训练数据 | 12 个点 | 十几万亿词的文本 |
| 训练方式 | 调 减小偏差 | 调所有参数减小偏差——完全同款 |
后面整本书要讲的,无非是三件事:
- 模型的「函数」长什么样?(第 2、3 章:神经网络、Transformer)
- 「偏差」怎么定义?(第 1、2 章:损失函数)
- 参数那么多,怎么自动调?(第 0.4、2 章:梯度下降、反向传播)
这个类比在哪里不准确 ?
「班主任的直线」是有监督回归:每条数据都带着标准答案(真实分数)。大模型的预训练其实不用人工标答案——它拿一句话的前半段当输入、后半段的下一个词当「答案」,答案就藏在文本自己身上(第 4 章细讲)。另外,直线只能表达「线性」规律,大模型用的函数要弯曲、复杂得多——这正是第 2 章神经网络要解决的问题。
小结
本节要点
- 模型是带可调参数的函数;训练是自动调参数让预测偏差变小的过程。
- 偏差需要一个明确的量化标准(本例中是均方误差),机器才知道「调得好不好」。
- 大模型与这条直线原理 相同,差别只在参数量(2 个 → 数千亿个)和函数复杂度。
📝 动手自测0/3
1. 机器学习里的「学习」,最准确的说法是指什么?
2. 实验里的直线模型「分数 ≈ w × 时间 + b」有几个参数?
3. 为什么说 ChatGPT 和这条直线「原理相同」?
延伸阅读
- 3Blue1Brown:《什么是神经网络》(B 站官方中字)——把「函数拟合」的直觉可视化到极致。
- 下一节 0.2 向量与矩阵:模型的输入输出为什么都是「一串数字」。