data shift--学习笔记
创始人
2024-03-30 05:47:45
0
  1. 一般假设训练集和测试集是独立同分布的,才能保证在训练集上表现良好的模型同样适用于测试集。当训练集和测试集不同分布时,就发生了dataset shift
  2. data shift类型:
    1. 协变量偏移(covariate shift):
      1. 协变量,隐变量可以理解为数据中的x及对应标签y
      2. 协变量的变化,比如模型应用场景中环境、位置的变化等(协变量,假设我们要拟合方程 y=wx,对于一个数据对(x,y):y为因变量,w为自变量,x为协变量。)
    2. 先验概率偏移:因变量的变化,比如根据月份预测销售额的模型,用平时月份训练的模型预测销售高峰月份的销售额。输入仍然为月份没有变化,但训练集和实际场景中的因变量完全不一样(一般月份和销售高峰月份的销售额本就不一样)。
    3. 概念偏移:自变量和因变量之间的关系发生了改变。
    4. 最常遇到的应该是Covariate Shift
  3. 当训练集和测试集差异较大时,训练往往是徒劳的。
  4. 如果数据发生了Covariate Shift的数据,那么理论上可以通过一个分类器以一个较高的准确率将原始数据和测试数据区分开(毕竟分布不同)。
  5. 检验步骤:
    1. 在训练集和测试集中随机采样(注意训练集和测试集的采样数量需要一致),然后将采样数据混合到一起形成新的训练数据,对数据增加一个新维度标签,取值取决于数据来源(比如训练集标识1,测试集标识0)。
    2. 得到了一个新的训练集. 将这个训练集的一部分数据(如80%)用来训练模型(KNN, SVM等), 剩下的数据(如20%)用来测试模型的性能。
    3. 计算模型在测试集上的AUC-ROC,如果指标较大(比如大于0.8),便可判定发生了Covariate Shift。(计算AUC-ROC,本质上就是为了衡量二元分类质量。还可以采用MCC(Matthews correlation coefficient)来衡量。一般MCC阈值可以设置为0.2。MCC>0.2说明出现了covariate shift的现象,反之亦然):TP(True Positive):真实为1,预测为1 FN(False Negative):真实为1,预测为0 FP(False Positive):真实为0,预测为1 TN(True Negative):真实为0,预测为0
  6. 解决covariate shift的方法:
    1. 去除产生covariate shift现象的特征(Dropping of drifting features):
      1. 去除产生偏移的且不重要的特征。
      2. 具体:
        1. 逐个特征分类分析,找到产生偏移的特征
        2. 然后通过对比找出产生偏移的且不重要的特征去除掉
    2.  使用密度比的重要性加权(Importance weight using Density Ratio Estimation)。特征重要性评估方法
      1. Mean decrease impurity 原理其实就是Tree-Model进行分类、回归的原理:特征越重要,对节点的纯度增加的效果越好。而纯度的判别标准有很多,如GINI、信息熵、信息熵增益。(sklearn中的树模型提供了feature_importances_采用的就是这种方法计算得到的)
      2. Mean decrease accuracy:看某个特征对模型精度的影响。把一个变量的取值变为随机数,随机森林预测准确性的降低程度。该值越大表示该变量的重要性越大。
  7. AUC-ROC:
    1. 当涉及分类问题时,可以使用AUC-ROC曲线进行评价
    2. ROC是概率曲线,AUC表示可分离的程度或测度,它告诉我们多少模型能够区分类别。AUC越高,模型在将0预测为0,将1预测为1时越好。
    3. AUC和ROC曲线中使用的术语
      1. TPR (真阳性率) / 召回 /敏感度  =TP/(TP+FN)
      2. 特异性=TN/(TN+FP)
      3. FPR=1-特异性=FP/(TN+FP)
    4. 出色的模型的AUC接近1,这意味着它具有良好的可分离性度量,较差的模型的AUC接近于0,这意味着它的可分离性度量最差。实际上,这意味着它正在回报结果。它预测0s但其实它是1s,1s但其实它是0s,当AUC为0.5时,表示模型没有类别分离能力。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...