返回首页

Roadmap
更新于 2026年10月22日 全文 1071 字未阅读

类别型数据:特征交叉练习#

Playground 是一个交互式应用,让你亲自动手调试训练与测试机器学习模型的各个环节。在 Playground 里,你可以挑选特征、调整超参数,然后观察这些选择对模型产生了什么影响。

本节内容包含两个练习,都要用到下方嵌入的 Playground 组件。

练习 1:基础特征交叉#

这个练习,请把注意力放在 Playground 界面的以下几部分:

在 FEATURES 下方,有三个候选模型特征:

  • $x_1$

  • $x_2$

  • $x_1x_2$

在 OUTPUT 下方,你会看到一个装满橙色和蓝色圆点的方块。想象你正俯瞰着一片方形森林:橙色点标记生病树木的位置,蓝色点标记健康树木的位置。

在 FEATURES 与 OUTPUT 之间,如果看得非常仔细,你会发现3条若隐若现的虚线,各自连着一个特征与输出。虚线的粗细,就象征着该特征当前关联的权重。 这些线之所以那么淡,是因为每个特征的初始权重都被设成了 0。权重增大或减小,虚线的粗细也随之变化。

任务 1: 按下面的步骤在 Playground 里探索:

  1. 点击那条把特征 $x_1$ 与输出连起来的淡线,弹窗会随之出现。

  2. 在弹窗里,把权重填成 1.0。

  3. 按下回车。

此时你会看到下面这些现象:

  • 随着权重从 0 变到到 1.0,$x_1$ 那条虚线变粗了。

  • 右侧橙色与蓝色的背景出现了。

  • 橙色背景是模型对生病树木位置的判断。

  • 蓝色背景是模型对健康树木位置的判断。模型效果很差,它大约有一半的猜测是错的。

  • 因为 $x_1$ 的权重是 1.0、另外两个特征是 0,模型实际上是在精确复现 $x_1$ 的取值。

任务 2: 调整这三个特征中任意一个或全部的权重,让模型(也就是那些背景颜色)成功区分出病树与健康树。

顺手玩一下:如果你给特征交叉 $x_1x_2$ 填一个负值,会发生什么?


练习 2:更复杂的特征交叉#

第2个练习,请观察输出模型里橙色点(病树)与蓝色点(健康树)的排布,留意下面两点:

  • 这些点大致构成球状的图案。

  • 点的排布是有噪声的——比如,你会注意到外层橙色球壳上偶尔混着蓝色点。因此,即便是一个很好的模型,也很难把每个点都预测对。

任务 1: 按下面的步骤探索 Playground 界面:

  1. 点击 Run/Pause 按钮(左上方黑底圆圈里的白色三角形)。Playground 会开始训练模型,观察 Epochs 计数器会不断上涨。

  2. 等系统训练满至少 300 个 epoch 之后,再按一次同一个 Run/Pause 按钮暂停训练。

  3. 看看这个模型。它预测得好吗?换句话说,蓝色点是不是基本被蓝色背景包住,橙色点是不是基本被橙色背景包住?

  4. 看看 OUTPUT 正下方的 Test loss(测试损失) 值。这个值是更接近 1.0(高损失),还是更接近 0(低损失)?

  5. 按下 Run/Pause 按钮左侧那个弯曲的箭头,重置 Playground。

任务 2: 按下面的步骤搭出一个更好的模型:

  1. 从五个候选特征中,任意勾选或取消勾选它们的组合。

  2. 调整学习率。

  3. 让系统训练至少 500 个 epoch。

  4. 查看 Test loss 的值。你能把 Test loss 压到 0.2 以下吗?


想更多了解 Playground,可以访问 playground.tensorflow.org。

阅读 --