机器学习数据不满足同分布,怎么整? 全球热头条
机器学习作为一门科学,不可避免的是,科学本身是基于归纳得到经验总结,必然存在历史经验不适用未来的情况(科学必可证伪)。这里很应景地讲一个小故事--By 哲学家罗素:
农场有一群火鸡,农夫每天来给它们喂食。经过长期观察后,一只火鸡(火鸡中的科学鸡)得出结论,“每天早上农夫来到鸡舍,我就有吃的”,之后每天的经历都在证实它的这个结论。但是有一天,农夫来到鸡舍,没有带来食物而是把它烤了,因为这天是圣诞节,做成了圣诞节火鸡。
(资料图片)
通过有限的观察,得出自以为正确的规律性结论的,结局如是此。以这角度,我们去看AI/机器学习的应用,也能看到很多类似的例子。
机器学习是研究怎样使用计算机模拟或实现人类学习活动的科学,是基于一系列假设(基本的如,独立同分布假设)归纳得到经验,进行预测的过程。
也不可避免的,机器学习中也可能出现预测的数据与训练数据不满足同分布,历史数据经验不那么适用了!导致预测效果变差或失效的情况。这就类似我们考试的时候,发现这类型的题目我没有见过,歇菜了...
一、什么是数据不满足同分布实际预测与训练数据不满足同分布的问题,也就是数据集偏移(Dataset shift),是机器学习一个很重要的问题。
从贝叶斯定理可得P(y,x) = P(y|x) * P(x) = P(x|y) * P(y),当输入空间的边缘概率分布P(x) , 输出空间的标签分布P(y) 以及表示该机器学习任务的条件概率分布 P(y|x) 之中,有任一项因素发生偏移导致训练数据与预测数据 P(y,x)造成差异,即为数据集偏移现象。
不同因素对应着如下三种情况得数据偏移:
Covariate shift:协变量偏移(统计学中的协变量即机器学习中的特征的概念), 指的是输入空间的边缘概率分布P(x),也就输入特征x分布变化导致的偏移。这个应该是最为常见的,比如图像识别任务中,训练时输入的人脸图像数据没戴口罩,而预测的时候出现了很多戴口罩人脸的图像。再如反欺诈识别中,实际预测欺诈用户的欺诈行为发生升级改变,与训练数据的行为特征有差异的情况。
Prior probability shift:先验偏移,指的是标签分布P(Y) 差异导致的。比如反欺诈识别中,线上某段时间欺诈用户的比例 对比 训练数据 突然变得很大的情况。
Concept shift:映射关系偏移,指P(y|x) 分布变化,也就是x-> y的映射关系发生变化。比如农场的火鸡,本来x是【 早上/农夫/来到/鸡舍】对应着 y是【火鸡被喂食】,但是圣诞节那天这层关系突然变了,x还是【 早上/农夫/来到/鸡舍】但对应着 y是【火鸡被烤了】..hah,留下心疼的口水..
二、为什么数据不满足同分布可能导致数据不满足同分布的两个常见的原因是:
(1)样本选择偏差(Sample Selection Bias) :分布上的差异是由于训练数据是通过有偏见的方法获得的。比如金融领域的信贷客群是通过某种渠道/规则获得的,后面我们新增加营销渠道获客 或者 放宽了客户准入规则。这样就会直接导致实际客群样本比历史训练时点的客群样本更加多样了(分布差异)。
(2)不平稳环境(Non-stationary Environments):由于时间上的或空间上的变化导致训练与测试环境不同。比如金融领域,预测用户是否会偿还贷款的任务。有一小类用户在经济环境好的时候有能力偿还债务,但是由于疫情或其他的影响,宏观经济环境不太景气,如今就无法偿还了。
三、如何检测数据满足同分布可能我们模型在训练、验证及测试集表现都不错,但一到OOT(时间外样本)或者线上预测的时候,效果就掉下来了。这时我们就不能简单说是模型复杂导致过拟合了,也有可能是预测数据的分布变化导致的效果变差。我们可以通过如下常用方式检测数据分布有没有变化:
3.1 统计指标的方法通过统计指标去检测分布差异是很直接的,我们通常用群体稳定性指标(Population Stability Index,PSI), 衡量未来的样本(如测试集)及训练样本评分的分布比例是否保持一致,以评估数据/模型的稳定性(按照经验值,PSI<0.1分布差异是比较小的。)。同理,PSI也可以细化衡量特征值的分布差异,评估数据特征层面的稳定性。PSI指标计算公式为 SUM(各分数段的 (实际占比 - 预期占比)* ln(实际占比 / 预期占比) ),介绍可见:指标。其他的方法如 KS检验,KDE (核密度估计)分布图等方法可见参考链接[2]
3.2 异常(新颖)点检测的方法可以通过训练数据集训练一个模型(如 oneclass-SVM),利用模型判定哪些数据样本的不同于训练集分布(异常概率)。异常检测方法可见:异常检测算法速览
3.3 分类的方法混合训练数据与测试数据(测试数据可得情况),将训练数据与测试数据分别标注为’1‘和’0‘标签,进行分类,若一个模型,可以以一个较好的精度将训练实例与测试实例区分开,说明训练数据与测试数据的特征值分布有较大差异,存在协变量偏移。
相应的对这个分类模型贡献度比较高的特征,也就是分布偏差比较大的特征。分类较准确的样本(简单样本)也就是分布偏差比较大的样本。
四、如何解决数据不满足同分布4.1 增加数据增加数据是王道,训练数据只要足够大,什么场面没见过,测试数据的效果自然也可以保证。
如上面的例子,作为一只农场中的科学鸡,如果观察到完整周期、全场景的数据,或者被灌输一些先验知识,就能更为准确预测火鸡的命运。
但是现实情况可能多少比较无奈,可能业务场景的原因限制,并不一定可以搞得到更多数据,诸如联邦学习、数据增强等方法也是同样的思路。
4.2 数据增强在现实情况没法新增数据的时候,数据增强(Data Augmentation)是一个备选方案,在不实质性的增加数据的情况下,从原始数据加工出更多的表示,提高原数据的数量及质量,以接近于更多数据量产生的价值。
其原理是通过对原始数据融入先验知识,加工出更多数据的表示,有助于模型判别数据中统计噪声,加强本体特征的学习,减少模型过拟合,提升泛化能力。具体可见:数据增强方法
4.3 选择数据我们可以选择和待预测样本分布比较一致的数据做模型训练,使得在待预测样本的效果变得更好。
这个方法看起来有点投机,这在一些数据波动大的数据竞赛中很经常出现,直接用全量训练样本的结果不一定会好,而我们更改下数据集划分split的随机种子(如暴力for循环遍历一遍各个随机种子的效果),或者 人工选择与线上待预测样本业务类型、 时间相近的样本集用于训练模型(或者 提高这部分样本的学习权重),线上数据的预测效果就提升了。
4.4 半监督学习半监督学习是介于传统监督学习和无监督学习之间,其思想是通过在模型训练中直接引入无标记样本,以充分捕捉数据整体潜在分布,以改善如传统无监督学习过程盲目性、监督学习在训练样本不足导致的学习效果不佳的问题。
通过半监督学习,训练时候可以充分捕捉数据整体潜在分布,同理也可以缓解预测数据分布有差异的问题。半监督分类常用的做法是,通过业务含义或者模型选择出一些虽然无标签的样本,并打上大概率的某个标签(伪标签)加入到训练数据中,验证待预测样本的效果有没有变好。
经典的如金融信贷领域的拒绝推断方法(参考链接[6]),我们可以从贷款被拒绝的用户中(这部分用户是贷款的时候直接被拒绝了,没有"是否违约"的标签),通过现有信贷违约模型(申请评分卡)预测这部分拒绝用户的违约概率,并把模型认为大概率违约的用户作为坏样本加入到训练样本中,以提升模型的泛化效果。
4.5 特征选择对于常见的协变量偏移,用特征选择是一个不错的方法。我们可以分析各个特征在分布稳定性(如PSI值)的情况,筛选掉分布差异比较大的特征。需要注意的是,这里适用的是筛掉特征重要性一般且稳定性差的特征。如果重要特征的分布差距也很大,这就难搞了,还是回头搞搞数据或者整整其他的强特征。特征选择方法可见:python特征选择
4.6 均衡学习均衡学习适用与标签分布差异(先验偏移)导致的数据集偏移。均衡学习的方法可以归结为:通过某种方法,使得不同类别的样本对于模型学习中的Loss(或梯度)贡献是比较均衡的,以消除模型对不同类别的偏向性,学习到更为本质的决策。
比如原反欺诈训练样本中,好坏样本的比例是1000:1,但到了预测,有时实际的好坏样本的比例是10:1。这时如果没有通过均衡学习,直接从训练样本学习到模型,会先天认为欺诈坏样本的概率就是很低的,导致很多欺诈坏样本的漏判。
不均衡的任务中,一方面可以通过代价敏感、采样等方法做均衡学习;另一方面也可以通过合适指标(如AUC),减少非均衡样本的影响去判定模型的效果。具体可见:一文解决样本不均衡(全)
最后,机器学习是一门注重实践的科学,在实践中验证效果,不断探索原理。
仅以此文致敬我们的数据科学鸡啊。
参考链接:
1、理解数据集偏移 https://zhuanlan.zhihu.com/p/449101154
2、训练/测试集分布不一致解法总结
3、训练集和测试集的分布差距太大有好的处理方法吗 https://www.zhihu.com/question/265829982/answer/1770310534
4、训练集与测试集之间的数据偏移(dataset shift or drifting) https://zhuanlan.zhihu.com/p/304018288
5、数据集偏移&领域偏移 Dataset Shift&Domain Shift https://zhuanlan.zhihu.com/p/195704051
6、如何量化样本偏差对信贷风控模型的影响?https://zhuanlan.zhihu.com/p/350616539
-推荐阅读-
深度学习系列
1、一文概览神经网络模型2、一文搞定深度学习建模预测全流程(Python)3、一文弄懂CNN及图像识别(Python)机器学习系列1、一文解决样本不均衡(全)2、一文全览机器学习建模流程(Python代码)3、一文速览机器学习的类别(Python代码)...更多原创文章,请关注个人博客:https://github.com/aialgorithm/Blog关注【算法进阶】领福利回复【课程】:即可免费领取Python、机器学习、AI 等精品课程资料大全回复【加群】:可提问咨询、共享资源...与群内伙伴一起交流,共同进步或扫码,备注“加群”标签:
进入了发展快车道 冷链行业市场规模正在快速膨胀
2022-03-21
行业正站在风口 数字化时代在为传统的自行车产业赋能
2022-03-21
以做强实体经济支撑为重点 成都单个项目年度计划投资同比提升
2022-03-21
拥有多个国际赛事的直播版权 广州游戏电竞企业业绩向好
2022-03-21
投诉量激增 直播带货存在这么多问题的主要原因是什么?
2022-03-21
工作专班深入到各企业 春寒料峭挡不住松原市施工热情
2022-03-21
引导企业向提供“产品+服务”转变 湖南加快智能农机服务化转型
2022-03-21
创新平台建设和科技成果转化 德州加大力度重奖创新
2022-03-21
潜在风险进一步放大 商品房现房销售已是大势所趋
2022-03-21
有序复工复产 1—2月份工业经济发展新动能持续增强
2022-03-21
行业正站在风口 数字化时代在为传统的自行车产业赋能
以做强实体经济支撑为重点 成都单个项目年度计划投资同比提升
拥有多个国际赛事的直播版权 广州游戏电竞企业业绩向好
投诉量激增 直播带货存在这么多问题的主要原因是什么?
工作专班深入到各企业 春寒料峭挡不住松原市施工热情
引导企业向提供“产品+服务”转变 湖南加快智能农机服务化转型
创新平台建设和科技成果转化 德州加大力度重奖创新
潜在风险进一步放大 商品房现房销售已是大势所趋
有序复工复产 1—2月份工业经济发展新动能持续增强
多层次高频调度 1至2月河北省工业运行先行指标稳中有增
以车路协同为基础 智能交通推动城市交通绿色高质量发展
人才短板成为制约产业链高质量发展的关键节点
通过技术手段整合调配供给资源 家政行业不断提质扩容
强化产业链深层次合作 加强重大装备国产化“一条龙”模式构建
如何进一步提升纳税人缴费人的减税降费获得感?
探索建设大数据及网络安全示范试点城市有哪些积极意义?
对制造业中小微企业实施缓缴税费政策有哪些积极意义?
进一步增强自我保护意识 消费者需注意辨别谨慎消费
将“走出去”变“请进来” 西安贸易产业转移承接作用不断得到增强
厦门应如何融入“数字中国”的重大战略发展大局?
江苏省如何不断满足老人日益增长的养老服务需求?
建设一体化的职业健康信息管理平台 天津职业人群保障加强
潜力持续释放 1—2月乡村消费品市场恢复略好于城镇
直接对接社会化服务 楼宇调解室将整体提升青岛劳动争议水平
成功化解纠纷11.47万件 银保监会服务质量日趋提高
春雷响百虫出 惊蛰文化在其他方面有了进一步发展
青绿山水画在古代山水画发展史上有着怎样的影响与地位?
开播即爆款 “文化类节目收视率低”这一固有印象被推翻
涵盖了109件真迹作品 凯斯·哈林展览将持续至6月13日
- 带有一点自信的自嘲 “隔路”是另一种味道的“凡尔赛”
- 与文渊阁前后呼应 “何以中国”特展隆重致敬文化大成
- 严重者可造成暂时性失明 享受冰雪运动要注意眼睛的健康防护
- 种类繁多让人眼花缭乱 选购牛奶时需要重点关注什么?
- 网课让孩子感到不安焦虑怎么办?八问八答回应广大家长关切
- 循环系统很容易受到刺激 “倒春寒”期间老人该如何做?
- 青少年患者睡眠问题日趋增加 9条建议为孩子助眠
- 我国肥胖人群正逐年递增 不良饮食习惯是重要诱因
- 如何减少噪声对听力的损伤?这份耳部和听力保健小贴士请收好
- 强化住房限购措施 西安限购限售范围进一步扩大
- 多种方式增加供给 进一步降低新市民和青年人的居住成本
- 预计9月下旬海口可实现安居房申请网上办理
- 政策调控力度持续升级 8月百城二手房市场均价止涨转跌
- 8月中国新房找房热度依然保持平稳 环比微涨0.2%
- 进一步加强商品房销售价格备案管理 今年全国楼市调控刷新历史纪录
- 西安第二批集中供地中28宗为现场拍卖方式出让
- 细分化需求得到释放 房屋居住的属性越发凸显
- 佛山顺德龙江近日挂牌商住地起拍价约19.88亿元
- 青岛市4宗地竞品质抽签结果出炉 地溢价均约15%
- 坚持政策支持、多方参与 浙江版保障性租赁住房明确新增比例目标
- 简化审批流程 武汉将实现房源申请配租全程网上办
- 哈尔滨新增本土确诊病例3例 活动轨迹公布
- 哈尔滨市公布3例新增本土新冠肺炎确诊病例活动轨迹
- 山东深耕文化资源 推动旅游业高质量发展
- 今年新增952件(套)!南京大屠杀再添新证
- 四川非遗传承人张雄志:巧手捏面塑 指尖传非遗
- 10月以来我国寒潮为何如此频繁?中国气象局回应
- 56位残疾人士登上黄山 互利互勉共建生活希望
- 安徽潜山两车相撞 已致8人死亡3人受伤
- 上海洋山海关首次在出口货运渠道查获夹带卷烟
- 山西忻州古城:一城风华延续千年历史文脉
- 呼伦贝尔新巴尔虎右旗公布1例无症状感染者行动轨迹
- 新增“53+1” 内蒙古累计本土确诊病例增至185例
- 昆明公安打击破坏生物多样性犯罪 抓获130名涉案嫌疑人
- 山西朔州“11·11”较大透水事故调查报告发布 对38人问责处理
- “海关国门小卫士”竞争上岗 淘汰率接近一半
- 深圳摧毁特大品牌化妆品走私网
- 28人被问责!山西石港煤业“3·25”事故调查报告公布
- 湖南韶山以河长制带动全民治水 让每一处水面“长治久清”
- 上海市奉贤区人大常委会原党组书记袁晓林被“双开”
- 民进会员谈反映社情民意信息工作:心怀大我 敢讲实情
- 80岁“留守”奶奶短视频诉孤独 千万网友心疼:我们陪您唠嗑
- 40年来为子弟兵送出1.3万余双布鞋和鞋垫的“布鞋奶奶”走了
- 当男幼师是什么体验?他们说:有委屈尴尬 但大部分是幸福
- 庐阳警方通报幼童坠亡事件:嫌疑人已被刑拘
- 内蒙古新增本土确诊病例53例、本土无症状感染者1例
- 哈尔滨市启动部分地区第一轮全员核酸检测
- 四川通江发生两车相撞事故 致3人死亡
- 11月谣言在“身边”,别信这些无稽之谈
- 追剧为何上瘾?你追的不是剧,而是及时满足的快感