Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于负采样的问题 #73

Open
Yanglazi opened this issue Apr 16, 2020 · 3 comments
Open

关于负采样的问题 #73

Yanglazi opened this issue Apr 16, 2020 · 3 comments

Comments

@Yanglazi
Copy link

为什么负采样不能是序列中的元素呢,这样做会出现什么问题吗?

@zhougr1993
Copy link
Owner

分布不一样,因为序列里的元素是用户过去点击过的item,这个和从所有item库里随机选一个用户没点击过的item是完全不同的分布。具体来说就是item出现的概率p(x)不一样。
其实这一点很重要,特别是DIEN里的辅助loss也强调了这一点,不过DIEN的辅助loss当时我在做的时候没有设计得很好,如果考虑contrastive learning的做法把DIEN的辅助loss改成一个CPC的loss理论上会完备很多。

@Yanglazi
Copy link
Author

感谢大佬赐教,我刚去看了一眼CPC loss,感觉就是DSSM的loss换了个包装,现在有更深刻的理解和理论支撑,我早些时候用transformer 模型结合DSSM的loss,训练过,可以用transformer模型出的embedding来做召回,不过没想过可以结合两种loss直接来做ctr,这个思路太棒了,还有一个问题想请教您,我在业务中发现用户历史点击行为数据对CTR的精度影响起的作用不太大,反而是很多简单的id类特征起的作用很大,这一点是我数据的原因还是普遍现象呢?

@Melaniemod
Copy link

训练集中正负样本的label都是给好了的,但是 valid 和 test 阶段使用的正样本是给定的,负样本是随机采样的吧;这样训练集和测试集数据的分布是不一样的,评估起来会不会有问题呢?或者说为什么不直接从训练集中留一部分做 valid或测试集呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants