我开发了一个用于分类(0/1)的自然语言处理任务的机器学习模型,并已在生产环境中部署。模型的预测结果会展示给用户,用户可以选择提供反馈(预测是否正确)。
如何持续将这些反馈整合到我的模型中?从用户体验的角度来看,不希望用户为同一输入纠正/教导系统超过两到三次,系统应该快速学习,即反馈应被“快速”整合。(谷歌的优先收件箱功能就做到了这一点,非常流畅)
如何构建这种“反馈循环”,以便我的系统可以改进?我在网上搜索了很多,但找不到相关资料。任何建议都会非常有帮助。
请不要说通过包含新的数据点从头开始重新训练模型。那肯定不是谷歌和脸书构建其智能系统的方式
为了进一步解释我的问题——想想谷歌的垃圾邮件检测器、他们的优先收件箱或最近的“智能回复”功能。众所周知,他们有能力快速学习/整合用户反馈。
在快速整合用户反馈的同时(即用户最多需要教系统2-3次正确输出,每个数据点系统就会开始为该数据点给出正确输出),还要确保保持旧的学习成果,并且在整合新数据点的学习时不会开始对旧数据点(之前给出正确输出的)给出错误输出。
我还没有找到任何博客/文献/讨论,关于如何构建这样的系统——一个详细解释机器学习系统中“反馈循环”的智能系统
希望我的问题现在更清晰了。
更新:我找到了一些相关问题:
-
https://datascience.stackexchange.com/questions/1073/libraries-for-online-machine-learning
-
http://mlwave.com/predicting-click-through-rates-with-online-machine-learning/
更新:我仍然没有一个具体的答案,但这种方法确实存在。阅读以下博客中的“从反馈中学习”部分 机器学习 != 学习机器。在这篇文章中,Jean谈到了“为机器添加反馈摄取循环”。同样在这里,这里,这里4。
回答:
构建一个简单、轻量级的模型,可以根据反馈进行更新。在线机器学习为此提供了许多候选方案
大多数优秀的在线分类器都是线性的。在这种情况下,我们可以有几个这样的分类器,并通过一个小的浅层神经网络结合它们来实现非线性