2. 数据 - 采样:对于点击率预估而言,正负样本严重不均衡,所以需要对负例做一些采样。
- 负例:正例一般是用户产生点击、下单等转换行为的样本,但是用户没有转换行为的样本是否就一定是负例呢?其实不然,很多展现其实用户根本没有看到,所以把这样样本视为负例是不合理的,也会影响模型的效果。比较常用的方法是skip-above,即用户点击的item位置以上的展现才可能视作负例。当然,上面的负例都是隐式的负反馈数据,除此之外,我们还有用户主动删除的显示负反馈数据,这些数据是高质量的负例。
- 去噪:对于数据中混杂的刷单等类作弊行为的数据,要将其排除出训练数据,否则会直接影响模型的效果。
3. 特征 在我们目前的重排序模型中,大概分为以下几类特征: - deal(即团购单,下同)维度的特征:主要是deal本身的一些属性,包括价格、折扣、销量、评分、类别、点击率等
- user维度的特征:包括用户等级、用户的人口属性、用户的客户端类型等
- user、deal的交叉特征:包括用户对deal的点击、收藏、购买等
- 距离特征:包括用户的实时地理位置、常去地理位置、工作地、居住地等与poi的距离
对于非线性模型,上述特征可以直接使用;而对于线性模型,则需要对特征值做一些分桶、归一化等处理,使特征值成为0~1之间的连续值或01二值。 总结 以数据为基础,用算法去雕琢,只有将二者有机结合,才会带来效果的提升。对我们而言,以下两个节点是我们优化过程中的里程碑: - 将候选集进行融合:提高了推荐的覆盖度、多样性和精度
- 引入重排序模型:解决了候选集增加以后deal之间排列顺序的问题

原文链接: 美团推荐算法实践
|