当前位置: 首页 > news >正文

网站建设亿玛酷专注西安优化排名推广

网站建设亿玛酷专注,西安优化排名推广,快递网站域名更换,网页设计音乐网站本文作者#xff1a;杨健#xff0c;九章云极 DataCanvas 主任架构师 数据漂移问题近年在机器学习领域来越来越得到关注#xff0c;成为机器学习模型在实际投产中面对的一个主要挑战。当数据的分布随着时间推移逐渐发生变化#xff0c;需要预测的数据和用于训练的数据分布…本文作者杨健九章云极 DataCanvas 主任架构师 数据漂移问题近年在机器学习领域来越来越得到关注成为机器学习模型在实际投产中面对的一个主要挑战。当数据的分布随着时间推移逐渐发生变化需要预测的数据和用于训练的数据分布表现出明显的偏移这就是数据漂移问题。 数据漂移分为三种类型 变量偏移Covariate Drift某些独立的特征发生偏移 先验概率偏移Prior probability Drift目标变量发生偏移 概念偏移Concept Drift特征和目标变量之间的关系发生偏移 为什么不能通过提升泛化能力来解决数据漂移问题 数据漂移问题无法通过提升模型泛化能力的方法来解决因为我们目前的机器学习方法基本是建立在IID独立同分布前提下的。在一个真实分布下可观测的训练数据有限训练好模型在预测时遇到了符合同一个分布但未观测到的样本时准确度下降这种情况我们通过选择合适的算法、交叉验证、正则化、Ensemble等方式是可以有效改善模型的泛化能力的。但数据漂移的本质是数据的真实分布发生了较大的变化因此仅仅提升泛化能力是无法有效提升模型效果的。 常用的解决方案 数据漂移常见的解决方案是不断的引入最新的数据重新训练模型但这种方案存在很大的缺陷例如我们在客户流失预警中通常会用历史标注的数据训练模型来预测当月是否有用户流失模型预测的结果要等下个月通过用户行为反馈后得到标注才能评估如果我们发现结果大幅下降才能判断数据发生了漂移因此这种方案存在比较明显的滞后性这也是有监督学习的主要短板。 使用Adversarial Validation半监督学习解决数据漂移 随着近年来无监督和半监督学习的发展一种基于Adversarial Validation对抗验证的半监督学习技术被提出用于解决数据漂移问题。它的核心思想是通过训练一个Adversarial Classifier来判断是否发生漂移以及哪些特征发生了漂移进而删除发生漂移的特征来保证模型在新数据上的效果。如下图所示 对抗验证的基本过程是把训练数据先删除目标列和待预测数据数据中本身就没有目标列合并后添加新的二分类目标列来自训练集为0 来自测试集为1。新的数据集shuffle后使用分层采样分割成训练集和评估集用训练数据fit模型后使用评估集评估AUC通常如果数据没有发生偏移AUC会接近0.5否则就可以判断发生了不同程度的数据漂移。接下来就是识别哪些特征发生了漂移有两种方法一种是把每一个特征列做为X单独训练Adversarial Classifier来评估AUC超过一定阈值如0.6就确定该列发生了漂移。另一种方法是用全部特征训练Classifier然后评估AUC如果超过一定阈值就删除掉特征重要性最高的n个特征然后重复迭代这个过程直到AUC降到可接受的范围内。 上面的方法是通过删除漂移特征来保证模型不被干扰还有一种方法是通过选择合适的验证集来获得更接近于测试集待预测数据的模型评估结果被成为Validation Data Selection。这种方法是训练一个模型来识别训练集中的哪些样本的分布和测试集更相似把这些样本拿出来做为Validation Data来指导模型训练让模型可以更好的拟合测试数据的分布。 在HyperGBM中如何自动完成数据漂移检测和处理 以上这些方法在很多数据集上可以很明显的改善模型的预测效果目前在HyperGBM中都已经支持通过配置参数就可以完成。HyperGBM中只需要在构建experiment时设置drift_detectionTrue就会自动完成数据漂移的检测和处理需要注意的是Adversarial Validation是一种半监督学习所以训练时需要提供未观测到目标数据的测试集比如待预测的下个月的数据Kaggle竞赛中的测试集在下面示例中我们只是从数据集中分割了一部分数据删除目标列做为测试集 from tabular_toolbox.datasets import dsutils from sklearn.model_selection import train_test_split from hypergbm.search_space import search_space_general from hypergbm import make_experiment # load data into Pandas DataFrame df dsutils.load_bank() target y train, test train_test_split(df, test_size0.3) test.pop(target) #create an experiment experiment make_experiment(train, targettarget, test_datatestdrift_detectionTrue) #run experiment estimator experiment.run() # predict on test data without target values pred estimator.predict(test)实现Validation Data Selection只需要设置train_test_split_strategy‘adversarial_validation’示例代码入下 from tabular_toolbox.datasets import dsutils from sklearn.model_selection import train_test_split from hypergbm.search_space import search_space_general from hypergbm import make_experiment # load data into Pandas DataFrame df dsutils.load_bank() target y train, test train_test_split(df, test_size0.3) test.pop(target) #create an experiment experiment make_experiment(train, targettarget, test_datatesttrain_test_split_strategyadversarial_validation) #run experiment estimator experiment.run() # predict on test data without target values pred estimator.predict(test)更多HyperGBM相关内容请参考 https://github.com/DataCanvasIO/HyperGBM
http://www.hkea.cn/news/14389105/

相关文章:

  • 赣州有做网站推广的公司吗网页空间网站
  • 哪种语言网站建设做机械有什么兼职网站
  • 河北企业建站网站界面设计 考虑因素
  • html写手机网站怎样注册网店开网店
  • 东莞网站建设方案外包邢台市是几线城市
  • 网站建设商业阶段仿5173网站
  • DW做的网站都能打开吗网站如何宣传推广
  • 网站建设流程时间表阜阳网站开发招聘
  • 网站建设困难吗北京公司网站怎么制作
  • 纯html5网站营销型网站维护费用
  • 毕业设计资源网站做设计找素材都有什么网站
  • 电子商务网站建设规划心得做百度移动端网站优化
  • 微网站 demo网站开发现在用什么
  • 介绍学校网站怎么做没有下载功能的网页视频怎么下载
  • 有没有做那事的网站德州网站怎样建设
  • 新闻自动采集网站源码网站的域名和空间
  • 网站开发时app打开很慢曲靖市住房和城乡建设局网站
  • 如何用网站做课件公司注册类型
  • seo网站代码优化网站空间的权限
  • 成都网站运营衡阳网站建设报价方案
  • 珠海美容网站建设网站如何seo
  • 常州网站seo唐山网站制作案例
  • 贵港免费的网站建设淘宝运营的基础知识
  • 怎么学php网站开发初识网站开发流程图
  • 太原做网站价格小广告设计
  • 淘宝网络营销方案南昌seo营销
  • 美食网站网页设计论文广州市门户网站建设
  • 如何设计网站做网站用什么软件中国网站建设网
  • 广告宣传网站设计之家室内设计
  • 网站建设解析怎么在电脑安装wordpress