142.如何个性化推荐系统设计-2

2022-11-24  本文已影响0人  大勇任卷舒

142.1 离线训练

142.2 用户画像

142.3 GBDT粗排

142.4 在线FM精排

1.saving memory

    方案1)Poisson Inclusion:对某一维度特征所来的训练样本,以p的概率接受并更新模型。
    方案2)Bloom Filter Inclusion:用bloom filter从概率上做某一特征出现k次才更新。

2.浮点数重新编码

    1)特征权重不需要用32bit或64bit的浮点数存储,存储浪费空间。
    2)16bit encoding,但是要注意处理rounding技术对regret带来的影响(注:python可以尝试用numpy.float16格式)

3.训练若干相似model

    1)对同一份训练数据序列,同时训练多个相似的model。
    2)这些model有各自独享的一些feature,也有一些共享的feature。
    3)出发点:有的特征维度可以是各个模型独享的,而有的各个模型共享的特征,可以用同样的数据训练。

4.Single Value Structure

    1)多个model公用一个feature存储(例如放到cbase或redis中),各个model都更新这个共有的feature结构。
    2)对于某一个model,对于他所训练的特征向量的某一维,直接计算一个迭代结果并与旧值做一个平均。

5.使用正负样本的数目来计算梯度的和(所有的model具有同样的N和P)



6.subsampling Training Data

  1)在实际中,CTR远小于50%,所以正样本更加有价值。通过对训练数据集进行subsampling,可以大大减小训练数据集的大小。
  2)正样本全部采(至少有一个广告被点击的query数据),负样本使用一个比例r采样(完全没有广告被点击的query数据)。但是直接在这种采样上进行训练,会导致比较大的biased prediction。
  3)解决办法:训练的时候,对样本再乘一个权重。权重直接乘到loss上面,从而梯度也会乘以这个权重。

大数据视频推荐:
网易云课堂
CSDN
人工智能算法竞赛实战
AIops智能运维机器学习算法实战
ELK7 stack开发运维实战
PySpark机器学习从入门到精通
AIOps智能运维实战
腾讯课堂
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

上一篇 下一篇

猜你喜欢

热点阅读