机器学习如何对已经上线的模型进行召回 & 重新训练

2020-01-28 18:45:33 +08:00
 SlipStupig

问题一:我做了一个新闻分类器,在本地训练和测试的准确率是 70%,我上线之后,如何评估线上的准确率呢?

问题二:假设我有一些类别分错了,我想定期自动分拣出错误的结果,然后加入到训练模型里面重新训练,然后再上线(相当于一个自动召回系统?)

4873 次点击
所在节点    程序员
28 条回复
pandachow
2020-01-29 07:20:46 +08:00
如果线上环境没有引入用户反馈机制,那么分类器的分类效果是没有办法自动提升的。

例如广告点击这样的业务场景,给用户看若干广告,用户可以选择无视,点击,或者点击 X 关闭,进而可以通过用户的反馈 target,再把新样本放进去不断训练。所以建议结合产品和业务场景引入一个合适合理的反馈机制。

错误样本不需要重新训练,你可以手动设定他们的权重,如果是 heavily imbalanced dataset 的分类场景,建议使用 ROC & AUC (或带权重的)来作为评估。
otato
2020-01-29 09:17:41 +08:00
如果不靠人工能分辨对错,为什么还需要你这个系统,直接上线分辨系统啊
icylogic
2020-01-29 10:52:37 +08:00
supervised 只能持续人工标注新样本然后继续训练 /重新训练啊,你能做的只是提取出大小合理的 sample 送标注
p2pCoder
2020-01-29 14:01:25 +08:00
线上的业务指标和离线指标是不一样的
线上的业务指标是需要通过实验平台进行 abtest 的,比如一般的 ctr cvr,日活的变化,留存率的变化,以及总的转化,这些需要业务方确定指标
实验平台也是一个比较大的工程,具体可参考谷歌的论文
你最终的目标是通过这个分类器,使在新闻分类这个栏目下,各个新闻分类下,总的业务指标提升,比如用户 ctr,用户停留时长,用户总的点击量,平均每个用户点击量之类的指标

至于样本滚动更新,正负样本的选取,模型的例行训练,模型的滚动更新,甚至在线学习,这些又是其他很复杂的东西了

机器学习落地是一个大的系统性工程
SlipStupig
2020-01-29 19:53:57 +08:00
@p2pCoder 大哥,太感谢了,能留个联系方式么,想深入交流一下,顺带表示感谢
p2pCoder
2020-01-30 13:28:32 +08:00
@SlipStupig wx:emdiZ3gx
SlipStupig
2020-01-30 22:40:39 +08:00
@p2pCoder 查找不到哦 😯
p2pCoder
2020-02-01 17:43:29 +08:00
@SlipStupig base64

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/640671

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX