监督学习是什么?标签怎样帮助模型学习分类与预测
用工单类别和包裹时长说明监督学习,区分分类、回归及无监督方法,并解释标注一致性、数据划分和评测泄漏对结果的影响。
先理解这个概念
监督学习用包含输入和目标答案的样本训练模型,让它学习两者之间的关系。目标可以是邮件类别,也可以是一个数值,因此监督学习不只做分类。使用时模型处理没有附答案的新输入,再由独立样本检查预测。标签由人或其他可靠流程提供,但有标签不代表标签必然准确,数据质量仍需核对。
类别标签与数值目标需要不同检查
把工单分成退款和配送属于分类,预测包裹还需多少分钟则属于回归。两者都可以用监督学习,但错误的含义不同。把退款分错类别与等待时间多估几分钟,不能直接用同一个分数解释对用户的影响。
目标应在收集数据前定义清楚。例如处理时长从收到请求开始算,还是从工作人员接单开始算,会改变训练目标。混用两种口径的数据,模型可能学到相互矛盾的关系,增加样本数也不能自动解决。
标签一致性先于模型复杂度
可以先抽查容易混淆的工单,让标注者根据同一说明分别分类,再处理分歧。如果一封同时提到退款和配送的邮件没有明确归类规则,训练失败可能来自任务定义,而不是模型参数不够多。
与无监督分组相比,监督学习已有要学习的目标。聚类发现一组类似邮件以后,再由人给它命名,不等于训练前就提供了类别标签。区分这两种任务,有助于判断你真正缺少的是标注资料还是探索主题的方法。
测试集不能悄悄带着答案进入训练
训练和测试应按真实来源分开,排除同一客户事件的近似重复。有些字段在预测当时还不存在,例如事后填写的最终处理结果。把它留在输入里会造成数据泄漏,让离线评测看起来很好,实际使用却无法得到同样结果。
上线前用未见输入检查错误类别,并保存一批以后重复运行的样本。数据或标签说明变化后重新评测,才能知道模型是否需要调整。本文给的是训练与检查方法,没有训练工单模型,也没有提供准确率或时间误差承诺。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。