Negative Sampling 负采样

首先区别于欠采样 ( under sampling )和过采样 (oversampling)

作用

减少计算量,调高训练效率

是什么

负采样,顾名思义,就是从一堆负样本中采样出一部分负样本,用于模型的训练。

1 作用在训练时候

也就是说在训练的时候采样

一个全连接网络为100X10X100,多分类,100选1,也就是说输出层只有一个正样本,99个负样本,为了减少计算量,每次只选部分负样本,比如5个,那么梯度更新的时候,只更新正样本和5个负样本的,这样还剩94个就不更新了

2 作用在训练前面

也就是说在训练前,样本已经采好了

分类

在负采样过程中,有几个问题需要重点考虑:(1)这么多负样本中,到底需要采出哪一部分作为负样本呢(2)需要采出多大数量的负样本?

https://kaiyuan.blog.csdn.net/article/details/122264543

https://zhuanlan.zhihu.com/p/456088223

参考

https://kaiyuan.blog.csdn.net/article/details/122264543

https://blog.csdn.net/ningyanggege/article/details/87869393

https://zhuanlan.zhihu.com/p/456088223

数据不平衡如何解决

1.基于数据

a.过采样和欠采样

对少数数据进行有放回的过采样,使原本的数据变的均衡,这样就是对少数数据进行了复制,容易造成过拟合。

对多数数据进行有放回/无放回的欠采样,这样会丢失一些样本,损失信息,模型只学会整体模式的一部分,容易欠拟合。

b.SMOTE算法

c.数据增强

通过人为或算法增加少数数据的数量

2.基于loss

使用代价函数时,可以增加小类样本的权值,降低大类样本的权值

参考

https://zhuanlan.zhihu.com/p/62877337

https://blog.csdn.net/asialee_bird/article/details/83714612


:D 一言句子获取中...