一般来说,您可以通过以下两种方式之一来训练模型:
![图 2. 生面团会制作三块相同的面包。](https://developers.google.cn/static/machine-learning/crash-course/images/StaticModel.png?authuser=2&hl=hr)
![图 3. 生面团制作的面包略有不同
。](https://developers.google.cn/static/machine-learning/crash-course/images/DynamicModel.png?authuser=2&hl=hr)
表 1. 主要优缺点。
静态训练 | 动态训练 | |
---|---|---|
优点 | 更简单。您只需开发和测试一次模型即可。 | 适应性更强。您的模型将跟上 特征与标签之间的关系的变化。 |
缺点 | 有时则是风格鲜明。如果特征与 标签会随时间的推移而发生变化,则模型的预测结果会降低。 | 工作量更大。您必须构建、测试和发布新产品 始终保持开启状态 |
如果您的数据集确实不会随时间变化,请选择静态训练,因为 相较于动态训练,它的创建和维护成本更低。但是,数据集 往往会随着时间的推移而发生变化,即便是那些您认为 例如海平面要点总结:即使是静态图片, 训练时,仍然必须监控输入数据的变化。
例如,假设一个模型经过训练, 会买花的。由于时间压力,该模型仅训练一次 使用 7 月和 8 月买花行为数据集进行预测。 模型可以正常使用几个月,但之后的预测很糟糕 情人节前后,因为 用户行为在鲜花盛开期间发生巨大变化。
如需详细了解静态和动态训练,请参阅 管理机器学习项目 课程。
练习:检查您的掌握程度
以下关于以下哪两项表述是正确的?
静态(离线)训练?
模型会在有新数据到达时进行更新。
实际上,如果离线训练,模型就无法
并在新数据到达时纳入其中。这可能会导致模型
如果您要从中学习的分布
会随着时间推移而发生变化
您可以先验证模型,然后再将其应用到生产中。
是的,离线训练提供了充分的机会来验证模型
然后再将模型引入生产环境。
离线训练需要较少的训练作业监控
相比在线训练。
一般来说,训练时的监控要求比较适中
用于离线训练,这样可以避免
注意事项。不过,您训练模型的频率越高,
您在监控方面投入的资金就越高。您
还需要定期进行验证,以确保
(及其依赖项)不会对模型质量产生不利影响。
几乎不需要监控输入数据,
推理时间。
与直觉相反,您确实需要在投放时监控输入数据
。如果输入分布发生变化,那么模型的
预测可能变得不可靠。例如,一个模型
我们仅使用夏季服装数据进行训练,该数据突然被用于
预测冬季的服装购买行为。
下列哪项说法是正确的?
动态(在线)训练?
模型会在有新数据到达时进行更新。
这是在线培训的主要优势:则可以避免
允许模型使用新数据进行训练,
。
几乎不需要对训练作业进行监控。
实际上,您必须持续监控训练作业,
健康状况良好,运行正常。您还需要
支持基础设施,例如回滚模型的能力
以防训练出现问题,
例如有缺陷的作业或输入数据损坏。
几乎不需要监控输入数据,
推理时间。
与静态的离线模型一样,
监控动态更新模型的输入。您
不太可能受到较大的季节性影响,
对输入数据进行大幅更改(例如,将上游数据源
仍然可能导致预测不可靠。