一位老铁的说法:

第一,分布差距大是重要特征数值差距大,比如一个是 0-1,另外一个 0.5-2,如果是这种情况无解,你能做的只能扩大训练集合,因为重要特征一旦偏离,哪怕数学上都是有交集,现实上下文都是差距极大的,这和数据采集流程和规范等非技术问题有关。

第二,重要特征数据差距不大,不太重要的差距较大,这种情况可以屏蔽这些特征,或者利用类似迁移学习 prototype 那种思路约束特征输入不过于偏离训练集。

第三,所有特征数值差距都不大,但是特征之间相关性统计差距大,比如训练集当中 A 和 B 相关性更加强,但是测试集合 A 和 C 的相关性更加强,这对你模型本身高阶组合就要约束,比如上DNN 的话,前期就不是明智的选择。

第四,特征数值差距不大,特征相关性差距也不大,但是目标数值差距过大,这个好办,改变任务设置共同的中间目标,比如你说的目标值是否可以采取相对值,增长率,夏普等,而非绝对值

划分数据集合
假设9K张生成数据,1K张真实数据
一:可以将两个数据集组合起来,然后随机洗牌。并将结果数据集分割成训练/验证/测试集。缺点:但是在验证集中,只有十分之一的图片来自真实数据集。在大多数情况下,我们都在根据生成数据的分布来优化网络模型,这显然不符合优化模型的目的。

二:另一个方法是让验证/测试集来自真实数据集,分出部分真实数据与生成数据混合作为训练集。假设像以前一样对训练/验证/测试集使用96:2:2的划分。验证/测试集将各有2000张真实图像数据,剩下的真实数据和全部生成数据都为训练集。缺点:然而,训练集现在不同于验证/测试集。这意味着在很大程度上,我们是在生成图像上训练网络模型。因此,优化模型需要花费更多更长的时间。更重要的是,当训练集和验证集上的损失差别较大时,我们无法判断这是由过拟合还是数据不匹配造成的。假设训练误差为2%,验证误差为10%。鉴于这两组数据来自不同的分布,这两组数据之间8%的差异中有多少是由于数据不匹配造成的,有多少是由于模型过拟合造成的,我们并不能判断。

三、修改训练/验证/测试集划分。取出训练集的一小部分,称之为“桥集”。桥集将不用于训练网络模型。它是一个独立的集合,划分方式如下所示:

如果训练:桥:验证:测试集上的误差分别为2%、9%、10%、12%。
因为桥集与训练集来自相同的分布,排除了数据不匹配(数据分布)的影响,它们之间的误差相差为7%,所以有7%的误差来自方差误差,泛化能力不足。桥集和验证集有1%的差异,所以有1%的误差来自数据不匹配误差。如果训练集桥集误差相差小,则可能是方差所带来的误差。测试集与验证集2%的误差为方差误差(存疑)。

参考
https://www.zhihu.com/question/265829982/answer/1770310534
https://zhuanlan.zhihu.com/p/72503153?from_voters_page=true

训练集与测试集分布差距相关推荐

  1. label y 训练集测试集x_Adversarial validation-对抗验证| 一种解决训练集与测试集分布不一致的方法...

    导语: 马上就要五一了,祝全世界人民五一快乐!在这之前,想过好几个准备这些天可以完成的专题,比如Boosting系列在搞点最近几年的新玩意,或者开一个新专题,如心心念念的GNN/GCN(主要是又可以去 ...

  2. 1. 训练集、开发集、测试集(Train/Dev/Test sets)

    1.在以往的机器学习中 如上图所示,以往机器学习中,对训练集.开发集.测试集的划分比例为60/20/20,如此划分通常可以获得较好的效果. 训练集(training set):训练算法. 开发集(de ...

  3. 一文看懂 AI 训练集、验证集、测试集(附:分割方法+交叉验证)

    2019-12-20 20:01:00 数据在人工智能技术里是非常重要的!本篇文章将详细给大家介绍3种数据集:训练集.验证集.测试集. 同时还会介绍如何更合理的讲数据划分为3种数据集.最后给大家介绍一 ...

  4. 训练集、验证集、测试集区分

    转载链接: validation set,是有标注,用于验证的 test set,是没有标注的 在有监督的机器学习中,经常会说到训练集(train).验证集(validation)和测试集(test) ...

  5. 机器学习数据集(训练集、测试集)划分方法

    数据集划分方法 留出(Hold-out)法 交叉验证(cross validation)法 自助法(bootstrap)   一个模型的好坏终归还是需要一个客观的评价标准,但是现有标准都比较难以适用于 ...

  6. 训练集、验证集、测试集的作用和意义

    以下内容转自: 训练集.验证集和测试集的意义-JobPlus 在有监督的机器学习中,经常会说到训练集(train).验证集(validation)和测试集(test),这三个集合的区分可能会让人糊涂, ...

  7. 【机器学习】训练集、验证集与测试集

    关于数据集的划分是基本概念,但是有时候看其他人代码时,经常被弄得云里雾里. 特作此记录. 目录 训练集(train set) 验证集(val set) 验证集的正确打开方式 测试集(test set) ...

  8. pyspark 划分训练集、验证集、测试集(全网之最)

    文章目录 pyspark实现(全网唯一) sklearn实现1:划分训练集.测试集 sklearn实现2:train_test_split 划分数据集,并保证正负样本比一致 忍不住啰嗦一句,spark ...

  9. 训练集、验证集、测试集的区别与应用

    0. 前言 最近一直在看论文.跑模型和做工程,很久没有来发博客了.但是在日常的学习和交流中,我感觉大家更加会关注当今最新的模型,最先进的算法,但是对于一些非常基础的内容的理解还不够透彻,我也是想借此机 ...

  10. 【Python】深度学习中将数据按比例随机分成随机 训练集 和 测试集的python脚本

    深度学习中经常将数据分成 训练集 和 测试集,参考博客,修改python脚本 randPickAITrainTestData.py . 功能:从 输入目录 中随机检出一定比例的文件或目录,移动到保存 ...

最新文章

  1. Vue性能优化:如何实现延迟加载和代码拆分?
  2. 【心情】期待 Mr. Jack In New York!
  3. linux 下 jenkins 安装注意事项
  4. Wireshark数据抓包分析——网络协议篇
  5. Linux中deb软件包管理怎么看,Deb软件包管理
  6. python程序设计教程上海交通大学_上海交通大学 python程序设计课程PPT Ch2.ppt
  7. HNUCM 1284:二叉树遍历
  8. 【案例】中国城市规划设计研究院:新型城镇化监控与评估平台
  9. lpop 原子_全国中考化学易错知识点——微粒构成的物质分子原子离子
  10. 常用公差配合表图_车间里常用的测量器具,别说没见过!
  11. E盾网络验证企业版个人版离线版加密防破解易语言源码加密对接好的自绘界面2
  12. MIPI.DSI.LCD點屏筆記_AT070TN92(800x480)_THC63LVDF84B_深圳富元智FX6
  13. maven仓库如何加载瀚高数据库JDBC驱动
  14. 全球首位亿万富豪上太空!
  15. (译)理解ConstraintLayout性能上的好处
  16. unity塔防游戏,可以正常运行
  17. The Indian Job
  18. 【操作系统】第九章-操作系统接口
  19. 还在找一键换发型app?快来看这些一键换发型软件
  20. [转]DM硬盘低格使用图解

热门文章

  1. 宅男福利!20行Python代码,一网打尽B站小姐姐的直播信号源!
  2. android 9 one ui,三星S9+升级安卓9深度体验|一文看懂三星OneUI升级了啥
  3. php导出指定格式excel,php导出excel格式文件的例子
  4. ASCII码值转化十六进制,十进制数;十六进制字符值转十进制,ASCII码值;
  5. Python爬虫采集网易云音乐热评实战
  6. 前端-html省份、地市级联
  7. python spss_SPSS python教程:[5]SpssClient简介
  8. iPhone手机上最不起眼的5款APP,用过的人都赞不绝口!
  9. MATLAB拟合优度检验
  10. 华为机顶盒E6108 V9-V9U-V92-V97免拆机-刷机固件及教程