吹拉弹唱


  • Home
  • Archive
  • Categories
  • Tags
  • Books
  •  

© 2022 Kleon

Theme Typography by Makito

Proudly published with Hexo

机器学习系统 4-1 - 推荐系统总览

Posted at 2021-04-07Updated at 2021-04-08 机器学习  机器学习 推荐系统 

推荐系统主要用来根据用户行为数据/用户特征实现个性化体验,行为预测,提高点击率/转化率等关键商业指标。

# 特征

数据很大程度上决定了模型的效果上限,通过特征工程构造合适的特征对效果有举足轻重的影响。

# 流程

推荐系统的功能模块主要包括:

  • 召回

从全量候选物品中全选一小部分,规模在千/万级别。对运行速度要求高,通常使用传统机器学习算法或自定义规则。可以搭配使用多种召回方法。召回物品经过滤过滤去重送往下个模块。

  • 排序

对召回物品打分拍排序,可以使用更复杂的模型,加入更多特征,更精准的排序。对模型精度要求高,通常使用深度学习方法。排序可细化为粗排,精排和重排三个步骤。

  • 粗排

当召回物品数量过多,或者排序模型比较复杂时,会使用相对简单的模型对召回物品粗略排序筛选,进一步降低物品数量。

  • 精排

主要排序步骤,会尽可能使用复杂的模型和足够的特征提高模型精度。

  • 重排

通常用于进一步调整,比如固定物品插入,多样性保证等。

  • AB测试

AB测试系统用来线上衡量模型的效果,通常分为App,Domain(Scene),(Lab),Layer,(Conditional Layer),Experiment(Bucket)等。

# 外围辅助

推荐系统除了核心的算法模块外,还需要外围存储和计算系统的支持,可以包括:

  • 离线数仓

以Hive/MaxCompute为代表,用于离线数据批处理,处理后的数据通常放在KV存储中供实时访问,通常以小时或天更新。

  • 实时数仓

以HBase/Hologres为代表,用于实时特征访问。

  • 关系型数据库

以MySQL,PostgreSQL为代表,用于存储小规模数据,存取速度较快。

  • KV缓存数据库

以Redis为代表,存储提前计算好的映射表,可设置失效时间,内存缓存读速度最快。

  • 大数据计算引擎

以Spark,Flink为代表,执行批量数据处理和传统机器学习算法,可用于召回阶段。

  • 深度学习模型引擎

以Tensorflow,PyTorch为代表,提供更复杂的深度学习模型服务。

  • 搜索索引引擎

以ElasticSearch为代表,按条件索引速度较快。

Share 

 Previous post: 机器学习系统 3-1 - 产品功能总览 Next post: 机器学习系统 3-4 - 训练 

© 2022 Kleon

Theme Typography by Makito

Proudly published with Hexo