1.推荐系统的阶段:
召回Match(CF,找到候选者);排序;重排序(多样性/新颖性)
2.推荐系统的评价指标:
precision;recall;F;MAP;NDCG;AUC(Area under ROC Curve,给定一个正样本和负样本,正样本得分高于负样本的概率,当一个分类器将正例的结果都排在负例前面的时候,就是纵坐标先一直升到1,然后往右走,面积为1,理想情况)为啥不用这些指标直接优化呢?因为不可导呀。
多样性/惊喜度/新颖度
上面两大块是矛盾的,实现惊喜多样就会损失准确度
EE问题(多臂老虎机):每次根据以往的收益情况选择一个臂
应用:兴趣探索(兴趣就是老虎机,每次选一个兴趣给它推荐,当用户出现点击等行为的时候就是有收益);冷启动探索(新用户来了,不知道兴趣分布,这时候就得试验);LinUCB(产生收益不仅仅和Item有关,item有一定概率产生收益,其实和用户也有关系,用户和Item的特征一起产生一个收益)
覆盖率:信息熵(推的商品的概率越平均不确定越大,覆盖度越高) 基尼系数
3.存在的问题:
冷启动问题
4.召回阶段使用的方法:
协同过滤:基于内存的协同过滤(User based/ Item based)和基于模型的协同过滤矩阵分解(MF,SVD++,FM中特征只有userid和itemid的时候就是MF,特征有userid,itemlist,itemid时就是SVD++)MF进化成FM再进化成DNN
5.排序阶段使用的方法:
先Prerank粗排,简单的模型快,再rank深度模型,慢,准,最后rerank比如基于session的存储。
learn to rank(pointwise/pairwise/listwise):将个性化召回的物品候选集根据物品本身的属性结合用户的属性,上下文等信息给出展现优先级的过程。之前排序都是计算相似度函数,相似度高的排在前面,但是现在特征太多,将排序引入机器学习概念,就是learn to rank。
实现多目标时,比如对i产生购买行为大于对j产生点击行为。
Pairwise:Bayesian Personalized Ranking(实际上就是在优化AUC,因为BPR就是优化给定i和j,i的分数比j高,就是正例的分数比复例的分数高)
和pointwise目标不一样,训练数据不一样
pointwise每个模型学出来一个得分,进行排序,特征选择和模型训练很重要,感觉更多就是CTR预估的方法
Ranknet:学的是排序位置
Multi-task learning:共享一部分权重,其他实现自己的功能。
6.使用的数据:
显式反馈和隐式反馈
7.两种任务:
评分预测:RMSE均方根误差 MAE平均绝对误差
Top k推荐:Precision/Recall
8.搜索和推荐区别
搜索是主动行为,马太效应,强者越强,弱者越弱;
推荐是被动行为,发现长尾商品,长尾效应,比如很少的产品是销量很高的,很多是销量很低的;
网友评论