← 全部章节详细版这一节

P13 · 基础与训练

预测神奇宝贝Pokemon

回归案例 · 2016 版 · 视频 1:18:36

1这节解决什么问题

给一只宝可梦进化前的属性,能不能猜出它进化后的战斗力?答案是一个数,这是最干净的回归例子。

2一句话讲清

先假设答案是一组输入的加权和,再用十只宝可梦的数据调权重;模型越复杂,训练时越准,但遇到新数据会先变好、后崩掉。

3通俗解释

  1. 先用一个特征:拿进化前的战斗力乘一个倍数,再加一个基数,作为进化后的战斗力。换不同的基数和倍数,就是一族不同的直线,训练是在这一族里挑一条。
  2. 「有多差」用十个样本的误差加起来衡量。这里没除以样本数,所以数值整体偏大,但最好的那条直线不变,只是学习率要相应调小。
  3. 未知数只有两个,调起来很直接;这种形状的损失只有一个谷底,不会卡在半路。
  4. 想更准就加东西:加平方、三次方项让线变弯;按物种分开各画一条线;再加一个「别把权重调太大」的约束(正则)。

4一个例子

讲义例子

讲义的结果很有代表性:模型从直线加到三次、四次、五次曲线,训练数据上的误差一路下降,可新数据上的误差先降后猛涨——这就是过拟合,模型把十个点的偶然起伏也当成了规律。真正让效果跳一级的不是继续加曲线,而是发现漏了「物种」这个因素:按物种分开拟合后,新数据上的误差大幅下降,甚至比训练时还低,说明之前的模型一直在拿不同物种硬套同一条线。

5常见误区

  • 训练误差一路下降,不代表模型变好。五次曲线训练最准、新数据最差。
  • 反复用同一批测试数据挑模型,等于把测试集也拿来训练了,最后报出的分数会偏乐观。应该另留一部分数据专门做选择。
  • 正则通常只限制权重、不限制基数。限制基数只会把整条线上下平移,起不到平滑作用;强度也不是越大越好。

6和相邻几节的关系

P1 是 2021 版同一套三步;P2 把过拟合放大到多层网络;P14 把答案从一个数换成类别。

730 秒回顾

答案是数就是回归;加特征能降训练误差,但新数据误差先降后崩;找到漏掉的关键因素(物种)比继续加曲线更有效;正则只限制权重,强度要试。

8小自测

先自己答,再点开对答案。

1. 五次曲线训练时很准、新数据上很差,是训练失败了吗?

不是。训练已经做得很好了,问题在于模型把十个点的偶然起伏也记住了。该减复杂度、加数据或加正则,而不是继续训。

2. 为什么正则一般不去限制那个基数?

基数只让整条线整体上移或下移,不改变它有多陡、多弯。限制它只会把预测整体拉向零,抑制不了「对新输入太敏感」这个问题。

9来源

来源与说明(点开可查)

基于对应官方讲义整理并做复习补充,不是视频逐字稿;本页不标注视频时间点。

对应讲义页码:Regression (v6).pdf 第 3–36 页

回到顶部