携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情
一、通用推荐系统框架
- 数据收集
ETL MapReduce Spark Flink
- 数据存储
Hive HBase MySQL Redis
持久化存储收集数据
通常按照数据的冷热,结构化和非结构化等特征分布存储
- 算法召回
热门 协同过滤 内容 画像 替补
将海量的数据集,根据特定算法进行初步的筛选
从数十万降低至数百及数千
- 结果排序
LR SVD DNN GBDT
进行精准排序
针对多个目标进行优化
- 结果应用
猜你喜欢 相似推荐 看了又看
根据不同场景给用户展示最终的推荐结果
推荐常用特征
用户特征
- 自然属性
- 画像特征:兴趣,行为
- 关系特征:人群属性,关注关系,亲密度
物品特征
- 静态特征:分类标签
- 动态特征
- 相关性特征
- 上下文特征
今日头条
二、推荐常用算法
-
基于流行度 最热门 最新 最多人点赞
-
基于内容 相同标签 相同关键词 相似主题
-
基于关联规则 看了A的人也看了B
-
近邻推荐 协同过滤:基于用户 基于物品 基于模型
三、结果评估指标
- 准确率 Accuracy 正确预测的样本数/总采样数
- 曲线下面积AUC 不同阈值下,预测结果中真阳性和假阳性之比 AUG = 1 : 完美分类器 AUG > 0.5 : 绝大部分真是分类器的区间 AUG = 0.5 : 基线分类器(扔硬币) AUG < 0.5 : 对于负样本更加准确,可以转化为正分类器
*ROC指标*
对于输出值连续的分类器(如概率预测),在某一阈值下真阳性(TP)的概率/假阳性(FP)的概率
评估标准
- 满意度:准确率、停留时长、转化率
- 覆盖率:长尾物品是否能被推荐
- 多样性:推荐的物品是否两两不相似、尽可能覆盖多兴趣点
- 新颖性:是否能推荐用户之前没见过的东西
- 惊喜度(==很难==):推荐的东西和用户历史行为记录都不相似,但是用户很喜欢
- 实时性:根据用户最新的喜好实时更新推荐结果
- 商业目标:是否能达成商业目标如GMV