机器学习作为一门科学,不可避免的是,科学本身是基于归纳得到经验总结,必然存在历史经验不适用未来的情况(科学必可证伪)。这里很应景地讲一个小故事--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 等精品课程资料大全回复【加群】:可提问咨询、共享资源...与群内伙伴一起交流,共同进步或扫码,备注“加群”-
环球快讯:机器学习数据不满足同分布,怎么整?机器学习作为一门科学,不可避免的是,科学本身是基于归纳得到经验总结,必然存在历史经验不适用未来的情况(科学必可证伪)。这里很应景地讲 -
当前通讯!积成电子(002339.SZ):与上海积成能源签署合作协议格隆汇12月29日丨积成电子公布,公司于2022年12月29日与参股公司上海积成能源科技有限公司(“上海积成能源”)签署了《合作协议》。双方将充分 -
环球快讯:阳光乳业12月29日主力资金大幅流出阳光乳业12月29日主力资金净流出4767 10万元,涨跌幅为4 93%,主力净量(dde大单净额 流通股)为-3 72%,两市排名4901 4902。投顾分析:该股今日 -
焦点信息:融捷股份董秘回复:公司尚未有布局锂电池的计划融捷股份(002192)12月29日在投资者关系平台上答复了投资者关心的问题。投资者:公司有制造锂电池计划吗?融捷股份董秘:您好,公司尚未有布局 -
世界视讯!永清环保:公司在新型城镇化方面,已开展城乡生活垃圾环卫一体化、垃圾发电、光伏发电等业务(原标题:永清环保:公司在新型城镇化方面,已开展城乡生活垃圾环卫一体化、垃圾发电、光伏发电等业务)同花顺(300033)金融研究中心12月29 -
-
每日时讯!消息称三星将推 Arm 版 Galaxy Book2 Pro 360,搭载骁龙8cx Gen3IT之家12月28日消息,据韩国经济日报消息,三星将在1月16日发布其最新的高端笔记本电脑GalaxyBook2Pro360,搭载高通骁龙8cxGen3。据报道,这… -
全球热头条丨广宇集团: 上海锦天城(杭州)律师事务所关于广宇集团股份有限公司2022年第二次临时股东大会的法律意见书上海锦天城(杭州)律师事务所 法律意见书 上海锦天城( -
天天精选!港股异动 | 东方电气(01072)升9% 机构指公司多项业务有望进入向上周期、给予“买入”东方电气(600875)(01072)日内大幅回升,午后升约9%。本周,公司A股累升约15%。开源评论指,公司多项业务有望进入向上周期。预计公司2022-202 -
【天天新视野】怡和嘉业12月28日快速上涨以下是怡和嘉业在北京时间12月28日10:47分盘口异动快照:12月28日,怡和嘉业盘中快速上涨,5分钟内涨幅超过2%,截至10点47分,报227 81元,成 -
【新要闻】观影意愿逐步提升,营业率破八成,国内影市在回暖不过需要强调的是,今年贺岁档对于我国电影市场的提振作用,并不是在票房表现上立竿见影,而是指我国电影市场始终保持对外开放,《阿凡达2》的 -
热推荐:自贡市政协委员程龙刚、王放兰提议进一步加强盐业史研究及西秦会馆保护利用12月27日,自贡市政协十六届二次会议开幕,代表委员们纷纷畅所欲言、通过各种途径和方式表达自己的心声。自贡市政协委员、自贡市盐业历史博物 -
世界资讯:法海寺将于12月30日起恢复开放北京日报客户端|记者孙云柯12月27日,北京市法海寺文物保管所发布公告,位于石景山区的法海寺将于12月30日(星期五)起恢复开放。开放时间为9 -
每日速读!特朗普否认要求女儿伊万卡助选,炮轰美媒炮制“假新闻”据《华盛顿观察家报》26日报道,美国前总统特朗普在个人社交平台上发文,否认了有关他希望女儿伊万卡和女婿贾里德·库什纳一起为他助选的说... -
当前头条:伊朗外交部:重回伊核协议的“对话窗口”仍然敞开新华社德黑兰12月26日电(记者高文成)伊朗外交部发言人卡纳尼26日说,对伊朗来说,恢复履行伊朗核问题全面协议的“对话窗口”仍然敞开。卡... -
当前消息!“收集雾气”助力解决缺水难题参考消息网12月26日报道据西班牙《国家报》网站12月24日报道,西班牙正在利用集雾器解决干旱地区的缺水问题。这项技术的主(@参考消息) -
讯息:韩国一军机失事飞行员紧急逃生据央视军事:当地时间26日,据韩联社报道,韩国空军一架军机当天上午在韩国江原道横城附近失事坠落,机上两名飞行人员紧急逃生,后被地面救援 -
当前要闻:小赢卡贷逾期几天会上征信公司网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可 -
焦点快看:满易贷逾期7年还不起征信有什么影响网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可 -
焦点速看:记一次QQ找回经历腾讯的风控策略让普通用户抓狂经历是这样的,昨天有事要登录下QQ号,因为很久没用过QQ的缘故,现在是在一个新设备上登录,提示我需要扫码才能 -
环球速读:京东白条借款逾期4千会不会上征信网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可 -
环球看点!过期的番茄酱用途 过期的番茄酱有啥用1、家中一些不锈钢材质的家居用品若是保存不好,表面很容易产生锈迹很难清洁,例如常用的不锈钢盆。其实,我们可以准备一个百洁布,取3~4cm的 -
环球微速讯:蔷薇是什么季节开放的花 蔷薇哪个季节开花呢1、蔷薇花通常在春夏交替之际开花,大约是每年的五月份到九月份,从春季开始,蔷薇就能次序开放,花期长达半年左右。2、蔷薇花喜欢温暖、潮湿 -
世界信息:三六零: 三六零安全科技股份有限公司独立董事关于第六届董事会第十三次会议相关事项的独立意见三六零:三六零安全科技股份有限公司独立董事关于第六届董事会第十三次会议相关事项的独立意见 -
环球信息:青岛食品(001219)12月22日主力资金净卖出604.23万元截至2022年12月22日收盘,青岛食品(001219)报收于27 01元,上涨1 69%,换手率20 49%,成交量11 89万手,成交额3 18亿元。12月 -
天天即时:道恩股份(002838)12月21日主力资金净卖出52.34万元截至2022年12月21日收盘,道恩股份(002838)报收于20 88元,上涨2 3%,换手率4 02%,成交量14 11万手,成交额2 9亿元。 -
当前看点!宇晶股份(002943.SZ):子公司拟投资5亿元建500万KM/月金刚石线研发、生产项目格隆汇12月21日丨宇晶股份(002943)(002943 SZ)公布,公司于2022年12月21日召开第四届董事会第十九次会议,审议通过了《关于控股子公司进行 -
世界速读:奥泰生物获得尿微量白蛋白检测试剂盒医疗器械产品注册证证券时报e公司讯,据奥泰生物消息,公司于12月10日获得浙江省药品监督管理局颁发的尿微量白蛋白(MAU)检测试剂盒(免疫层析法)医疗器械产品 -
环球要闻:国家林草局西北院两项成果通过中国林学会科技成果评价近日,中国林学会在北京组织召开科技成果评审会,来自中国科学院、中国林科院、兰州大学、北京林业大学、南京林业大学、河海大学等单位的专家 -
天天热文:“一带一路”添华彩 中国制造向未来——东风汽车闪耀中拉峰会2022年12月14—15日,第十五届中国-拉美企业家高峰会在厄瓜多尔西南部港口城市瓜亚基尔举办,会议呼吁中拉深化互联互通,在创新、绿色经济、数
