浅谈机器学习中的数据漂移问题
也即在训练的时候的数据和在使用模型进行推断的时候的数据分布式不一样的,二者不是同分布的。
因为很多模型都是在线下训练好的,使用的是线下的参数和损失函数,线上abtest的时候就会发现,在production traffic上的话效果就没那么好了。于是模型在被revert的同时,还会有很多工程师开始熬夜debug;
另外一个是数据变化会使得模型性能上产生变化,性能变化就意味着赚的钱更少了,一个典型表现就是话费了很多人力物力开发的模型,上线后逐渐就不好用了,适应不了新的数据。我们可以使用简单的概率公式解释为何在没有任何的系统bug的情况下,也可能会出现数据漂移的问题。
大家在训练的时候都假设每个样本都是独立同分布,但是在实际运用的时候,往往会出现样本既不独立也不同分布的情况,不独立意味着我们采样本身就有偏差,而不同分布也意味着样本本身的分布也是在不断的变化的,总结一句话就是模型在训练时看到的,Psrc (x,y) != Ptgt (x,y),
P(x,y)可以分解成P(x,y)=P(y|x)P(x)=P(y)P(x|y)
基本上所有的p(x,y)的变动都叫做data shift,但是依据不同的概率分布的变动呢,我们可以进一步的把data shift分成三种,第一种叫做特征漂移或者协变量漂移,他指的是Psrc(y|x)=Ptgt(x|y)不变的情况下,Psrc(x) != Ptgt(x)。
比如在训练模型时,主要用的是中年人的数据,但是在线上主要服务的用户却是青少年居多。那么模型很可能就没办法得到很好的结果。
而标记漂移(label shift)也经常叫做prior shift,也即y的概率进行的漂移,也即标记进行了漂移。他通常会假设Psrc(x|y)=Ptgt(x|y).
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2021-08-28 运筹学笔记11单纯形法的进一步讨论