Covraiateshift现象的解释

Covraiateshift现象的解释

参考网站:https://blog.csdn.net/mao_xiao_feng/article/details/54317852

一、什么是covariate shift

在论文中经常碰到covariateshift这个词,网上相关的中文解释比较少。你可能会在介绍深度学习Batch Normalization方法的论文中看到covariate shift这个词,并且所有看过这篇论文的或者实际做过工程的人,都知道BN这种归一化手段很好用,可以避免covariate shift。

那么covariateshift到底是什么?

不用想得太复杂,covariateshift最早只是机器学习中的一个问题。同时迁移学习会经常涉及到这个概念。假设x是属于特征空间的某一样本点,y是标签。covariate这个词,其实就是指这里的x,那么covariateshift可以直接根据字面意思去理解:样本点x的变化。
    我们讲的规范一点:
假设q1(x)是测试集中一个样本点的概率密度,q0(x)是训练集中一个样本点的概率密度。最终我们估计一个条件概率密度p(y|x,θ),它由x和一组参数θ={θ1,θ2......θm}所决定。对于一组参数来说,对应loss(θ)函数评估性能的好坏
综上,当我们找出在q0(x)分布上最优的一组θ'时,能否保证q1(x)上测试时也最好呢?
传统机器学习假设训练集和测试集是独立同分布的即q0(x)=q1(x),所以可以推出最优θ'依然可以保证q1(x)最优。但现实当中这个假设往往不成立,伴随新数据产生,老数据会过时,当q0(x)不再等于q1(x)时,就被称作covariate shift

 

总结:传统机器学习中假设训练集和测试集独立同分布,但是在现实生活中,随着新数据产生,老数据会过时,当q0(x)不再等于q1(x)时,就被称为covariate shift。

二、怎么解决covariateshift?

以上已经知道一个样本点分别在训练集和测试集上的概率密度q0(x)和q1(x),实际当中的解决方案是附加一个由x决定的权值


使得在训练过程当中对于q1(x)很大或者q0(x)很小的样本视作“重要”样本,这样的样本是有益于测试集预测的,我们应该尽量把它分类正确。而对于q1(x)很小或者q0(x)很大的样本,它只是被时代遗弃的“老数据”,这些样本对于模型训练的意义也是无关紧要了。

BN的作用就是把输入和输出弄到统一标准中。(具体可以参考116BN讲解)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值