Match算法介绍(一)

Match算法介绍(一)_第1张图片

定义:Match基于当前user(profile、history)和context,快速在全库里找到TopN最相关的item。

通常做法:  用各种算法做召回,比如user/item/model-based CF Content-based,Demographic-based,DNN-Embedding-based等March策略,做粗排后交由后面的Rank层做更精细的排序,最终展现TopK item

没有一个算法能覆盖所有信息,一个模型总是从一个角度去优化相关性,可能会忽略其他信息,做算法融合能提高召回率。

Collaborative Filtering

1)协同过滤算法 CF算法

usercf代码实现

itemcf代码实现 (最后生成个倒排表)

2)Item CF 最新实践

Item2Item :解决热门物品推荐越热问题,热门户降权、热门Item降权

实时I2I(腾讯2015) 更新item列表,当 过来,在内存更新pair i1->i2 ,解决新品推荐问题。

3) Hybrid i2i: 算法的好坏体现在点击上,比如10种i2i,根据每个场景训练每个小模型,设置不同的权重。paper : Learning to Rank for Information Retrieval,Tie-Yan L

问题:

  买了还推怎么解决

  推荐过于同质化(当看了一个物品后,推荐的都是这个物品相似的物品) listwise

  搭配推荐算法

Model Based CF问题定义 :进行矩阵补全

  svd算法进行矩阵补全,但是缺点是计算代价大,不是非常好。没有正则项,容易过拟合。

   MF(user-based CF):用UserId来表示用户

   FISM(item-based CF): 用用户评价的item来表示用户

  SVD++混合了两种paper: Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model,(Koren, KDD’08) 

因为svd++只应用了userid/item两种信息,如何融入更多的信息,将user/item属性 和上下文怎么融合进去

FM:Factorization Machines Steffen Rendle Rendle ICDM’

Top-N Recommendation的效果->pairwise ranking loss (排序关系)

paper:Known as the Bayesian Personalized Ranking loss (Rendle, 
UAI’09

工业界: 在大数据情况下,将模型并行,采用分布式的。tensorflow训练/在线服务。

常用的结构:Spark/MPI(分布式)+tensorflow(小模型的计算)

 

 

你可能感兴趣的:(机器学习,推荐系统)