← 返回 AI 基础 算法与AI / 前置基础 / 机器学习入门
前置基础 · 第 3 章

机器学习入门:模型是怎么"练"出来的

别被"机器学习"四个字唬住。它最朴素的意思就是:不给它写死规则,而是喂给它大量例子,让它自己总结出规律。就像你教小孩认猫——不是给他背"猫有尖耳朵胡须",而是给他看一千张猫和狗的照片,看久了他自然就会了。这一章讲清楚这个"练"的全过程。

① 什么叫"训练":喂数据、调参数

传统写程序是人把规则写死:if 耳朵尖 and 有胡须: 猫。机器学习反过来——把答案和例子都喂给机器,让它自己把"规则"(也就是一堆参数)调成最准的样子。

1喂数据
给它成千上万张标注好的图(这张是猫、那张是狗)。
2瞎猜一个
一开始参数是随机的,猜得一塌糊涂。
3算错多少
用损失函数量出"这次猜得有多离谱"。
4调参数
沿梯度下降方向微调,下次少错一点。重复几万次。
本章小目标学完你要能:说清训练=喂数据调参数;分清训练/验证/测试集;知道损失函数(MSE、交叉熵)在干嘛;理解学习率和梯度下降;认出过拟合/欠拟合,以及 L1/L2 正则化是干嘛的。

② 核心概念卡片

三份数据:训练集 / 验证集 / 测试集

数据集给谁用生活类比能不能偷看答案
训练集拿来学习、调参数平时做的练习题反复看,随便用
验证集训练中途检查、调超参月考卷训练时偶尔拿来估水平
测试集最后正式考试期末考全程不许碰,只用来报最终成绩
为什么测试集必须藏起来如果你把期末考题也拿来刷题,成绩再高也没用——那是背答案,不是真会。测试集就是为了证明模型"遇到没见过的新东西也能行"。

损失函数:量出"猜得有多离谱"

损失函数用在哪直觉
MSE(均方误差)回归题:预测连续数字(房价、气温)预测值和真实值差多少,平方后平均
交叉熵分类题:猫/狗、是不是垃圾邮件它把正确答案猜得多不自信,越错罚得越狠
梯度下降(直觉,别背) 新参数 = 旧参数 − 学习率 × 梯度   (朝误差下坡方向走一小步)

学习率就是这一步迈多大:太大容易一步跨过谷底、来回震荡;太小又走得龟速、半天不到底。调学习率是炼丹师最常干的事。

③ 伪代码:一次完整的训练循环

把训练想成"刷练习题—对答案—订正"的循环
每一轮(epoch)都把训练集过一遍。
① 拿一批数据,模型先猜一遍;② 用损失函数算"跟正确答案差多少";③ 用梯度下降算出每个参数该往哪调;④ 微调参数。然后换下一批数据,重复几万轮。
# 伪代码:训练循环长这样
for 轮次 in range(epochs):
    for 一批数据 in 训练集:
        预测 = 模型(数据)              # 瞎猜
        误差 = 损失函数(预测, 标准答案)  # 量错多少
        梯度 = 反向传播(误差)           # 算该怎么调
        参数 -= 学习率 * 梯度           # 微调一步

过拟合 vs 欠拟合:两种失败

毛病表现类比怎么办
欠拟合训练集分数就很低学生连练习题都做不对,没学会模型太简单/训练不够,加大复杂度或多练
过拟合训练集几乎全对,测试集一塌糊涂学生把练习题答案背下来了,新题就懵加正则化、加数据、早停
L1 / L2 正则化(直觉)就是"别让某些参数大得离谱",逼模型学得简单、通用一点,别死记硬背。L1 倾向把不重要的参数压成 0(做特征筛选),L2 倾向把参数整体压小一点(更平滑)。目的都是一句话:别背题,要举一反三。

④ 常见误区(先打预防针)

误区 1:训练集分数越高越好如果训练集 99% 但测试集 60%,那是过拟合——背题了。真正要看的是没见过的测试集分数。
误区 2:学习率越大学得越快越好太大容易在谷底两边来回跳,永远落不下去,甚至越来越差。通常从很小的值(比如 0.001)开始试。
误区 3:验证集和测试集是一回事验证集是训练中用来调超参的"模拟考",会被反复参考;测试集是最后才动一次的"高考",两者不能混。
误区 4:模型自动就会举一反三不会。不给正则化、数据少的时候,它倾向死记训练集。泛化能力是要刻意设计和约束出来的。

⑤ 折叠自测(3 题,点开看解析)

自测1"训练一个模型"用大白话说是在干嘛?
就是喂给它大量带答案的例子,让它反复猜、算错多少、再微调自己的参数,直到猜错的次数尽量少。不是人写规则,是机器自己总结规律。
自测2训练集分数 99%,测试集只有 60%,这是什么毛病?怎么救?
这是过拟合——把练习题答案背下来了,遇到新题就懵。可以加 L1/L2 正则化、增加训练数据、训练早停、降低模型复杂度。
自测3为什么测试集在训练全程都要"藏起来"?
因为测试集是用来模拟"从未见过的新情况"的高考。如果训练时偷看了,成绩再高也是背题,证明不了模型真的会泛化。

⑥ 费曼三问(合上眼睛讲给 12 岁小孩听)

问 1:机器学习和你以前写程序,最大的区别是啥?
答:以前是人把规则一条条写死;现在是把例子和答案喂给它,让它自己练出规则。像教小孩认猫,不是背定义,是看很多照片看会的。
问 2:那三份数据(练习/月考/期末)各是干嘛的?
答:训练集是平时刷题,验证集是月考用来调整学习方法,测试集是期末高考——全程不许偷看,只用来证明你真会了。
问 3:模型为啥会"背答案",正则化是怎么劝它别死记硬背的?
答:它太努力了,把练习题全背下来,新题就傻了。正则化就是告诉它"别太钻牛角尖,学得简单点、通用点",逼它举一反三。
口述全链路"机器学习就是喂数据让模型自己调参数:先瞎猜,用损失函数量错多少(回归用 MSE、分类用交叉熵),再沿梯度下降微调,学习率控制步幅。数据分训练/验证/测试三份,测试集必须藏好。训练分太高测试分低是过拟合,加 L1/L2 正则化、加数据、早停来救;两边都低是欠拟合,得加大模型或多练。"

⑦ 知识链路:你现在站在哪

前置(已具备) 第1章 · 数学直觉(梯度下降、损失)+ 第2章 · Python 速通(能看懂训练循环代码)。
本节位置 AI 前置四章的第 3 站:理解"训练"这件事本身——数据怎么分、损失怎么算、过拟合怎么防。
下一步(学完去) · 第4章 · 神经网络直觉:知道了训练流程,再看被训练的"模型"内部长什么样。

🎯 深入学习路径 · 机器学习

直觉建立后,按下面的链路往上爬。

← 上一章 · Python 速通 AI 基础