如果一个item在全局上被点击(或其他正反馈行为)次数过少,在排序侧把item id粒度特征直接喂入dnn做embedding,由于样本量过少,此类稀疏id特征对应的模型参数很难收敛。
干脆把item id这个field的embedding size调小呢?看似解决了稀疏特征参数收敛的问题,但却引来了新的问题:对于有充足正反馈的那部分id来说,需要用较大容量的隐向量表达语义,现在embedding size被调小了,显然限制了这部分id特征的表达。
如果此时把id特征只放到wide&deep的lr侧,用于记忆历史行为呢?同样地,这对有充足正反馈的那部分id也不公平。
问题本质上,是为每一维特征量身定制embedding size的问题。
我们知道,决定embedding size的主要因素有两个: 特征信息容量和特征稀疏度*样本量。
如何获得每维特征的最佳embedding size呢?
微信公众号:world2vec
欢迎关注