Playground 是一个交互式应用,可让您操控机器学习模型训练和测试的各个方面。借助 Playground,您可以选择特征并调整超参数,然后了解您的选择对模型有何影响。
本页包含两个 Playground 练习。
练习 1:基本特征组合
对于本练习,请重点关注 Playground 界面的以下部分:
- 在“特征”下方,请注意三个可能的模型特征:
- x1
- x2
- x1x2
- 在“输出”下方,您会看到一个包含橙点和蓝点的方块。假设您正在看一个方形森林,其中橙色圆点标记了患病树的位置,蓝色圆点标记了健康树的位置。
- 如果您仔细观察“特征”和“输出”之间的区域,会看到三条细小的虚线,它们将每个特征与输出连接起来。 每条虚线的宽度表示当前与每个地图项关联的权重。这些线条非常细微,因为每个特征的初始权重都初始化为 0。随着粗细度的增大或缩小,这些线条的粗细度也会随之增大或缩小。
任务 1:执行以下操作,探索 Playground:
- 点击将特征 x1 连接到输出的细线。系统随即会显示一个弹出式窗口。
- 在弹出式窗口中,输入重量
1.0
。 - 按 Enter 键。
请注意以下几点:
- 随着权重从 0 增加到 1.0,x1 的虚线会变粗。
- 现在,系统会显示一个橙色和蓝色的背景。
- 橙色背景是模型对患病树木位置的猜测。
- 蓝色背景是模型对健康树木所在位置的猜测。模型的表现非常糟糕;大约一半的猜测结果都是错误的。
- 由于 x1 的权重为 1.0,而其他特征的权重为 0,因此该模型会与 x1 的值完全匹配。
任务 2:更改三个特征中的任一特征或所有特征的权重,使模型(背景颜色)成功预测出哪些树是健康的,哪些树是生病的。解决方案会显示在 Kotlin 园地下方。
练习 2:更复杂的特征组合
对于第二个练习,请查看输出模型中橙色圆点(生病的树)和蓝色圆点(健康的树)的排列方式,并注意以下几点:
- 这些点形成大致球形的图案。
- 点的排列很杂乱;例如,请注意橙点外圈偶尔会出现蓝点。因此,即使是出色的模型,也不可能正确预测每个数据点。
任务 1:执行以下操作,探索 Playground 界面:
- 点击“运行/暂停”按钮,该按钮是一个黑色圆圈内白色三角形。Playground 将开始训练模型;观察“Epochs”计数器的增加情况。
- 在系统训练至少 300 个周期后,按同一“运行/暂停”按钮可暂停训练。
- 查看模型。模型的预测结果准确吗?换句话说,蓝点通常是蓝色背景环绕,橙点通常是橙色背景环绕吗?
- 检查“输出”下方的“测试损失”值。此值是更接近 1.0(损失更高)还是更接近 0(损失更低)?
- 按“运行/暂停”按钮左侧的弯曲箭头,重置 Playground。
任务 2:通过以下操作构建更好的模型:
- 选择或取消选择五种可能的功能的任意组合。
- 调整学习速率。
- 至少训练系统 500 个周期。
- 检查“测试损失”的值。您能否将测试损失降低到 0.2 以下?
解决方案会显示在 Kotlin 园地下方。