• 推荐系统(2)---推荐召回


    转载:https://blog.csdn.net/weixin_40924580/article/details/85023267

    https://www.cnblogs.com/wmx24/p/10157154.html

    https://www.jianshu.com/p/160c4800b9b5

    https://blog.csdn.net/qq_39521554/article/details/83062188

    https://baijiahao.baidu.com/s?id=1625869421219865699&wfr=spider&for=pc

    一、业界框架:

    Match(召回匹配)& Rank(推荐排序)
    定义:Match基于当前user(profile、history)和context,快速在全库里找到TopN最相关的item,给Rank来做小范围综合多目标最大
    通常做法:用各种算法做召回,比如user/item/model-based CF,Content-based,Demographic-based,DNN-Embedding-based等,做粗排之后交由后面的Rank层做更精细的排序。

    二、召回策略

    主要有协同过滤、向量化召回和阿里最近在Aicon中提到的深度树匹配模型。

    详细介绍:https://www.jianshu.com/p/ef3caa5672c8(摘自石晓文简书)

    1、协同过滤召回:

    user-cf、item-cf、矩阵分解

    2、向量化召回:

    主要通过模型来学习用户和物品的兴趣向量,并通过内积来计算用户和物品之间的相似性,从而得到最终的候选集。

    其中,比较经典的模型便是Youtube召回模型。在实际线上应用时,由于物品空间巨大,计算用户兴趣向量和所有物品兴趣向量的内积,耗时十分巨大,有时候会通过局部敏感Hash等方法来进行近似求解。

    YouTube召回模型:

    基于用户的历史观看记录和场景,学习一个用户向量U,通过一个softmax分类器,U能够有效地从视频预料库中识别视频的类别(即推荐的结果)

    从模型结构可以看出,在离线训练阶段,将其视为一个分类问题。我们使用隐式反馈来进行学习,用户完整观看过一个视频,便视作一个正例。如果将视频库中的每一个视频当作一个类别,那么在时刻t,对于用户U和上下文C,用户会观看视频i的概率为:

     
    其中,u是用户的embedding,这个embedding,是网络最后一个Relu激活函数的输出,vi是视频i的embedding。
     

    局部敏感哈希(Locality-Sensitive Hashing, LSH)

    LSH的基本思想如下:我们首先对原始数据空间中的向量进行hash映射,得到一个hash table,我们希望,原始数据空间中的两个相邻向量通过相同的hash变换后,被映射到同一个桶的概率很大,而不相邻的向量被映射到同一个桶的概率很小。因此,在召回阶段,我们便可以将所有的物品兴趣向量映射到不同的桶内,然后将用户兴趣向量映射到桶内,此时,只需要将用户向量跟该桶内的物品向量求内积即可。这样计算量被大大减小。

    3、深度树匹配

    上面两种方法,揭示了召回中两个比较关键的问题:全库搜索、先进模型。

    如果说向量化召回通过内积运算的方式打开了全库搜索的天花板,那么下一阶段应该是:能否设计一套全新的推荐算法框架,它允许容纳任意先进的模型而非限定内积形式,并且能够对全库进行更好的检索。

    三、算法

    1、基于共现关系的CF:User-based CF、Item-based CF、相似度

    2、基于模型的CF:SVD算法、MF、SVD++、

    2、FM模型:

    3、深度学习:

  • 相关阅读:
    MySQL:逻辑库与表管理
    MySQL:初识数据库
    MySQL:安装与配置
    C语言之指针
    C语言之二维数组
    C语言之冒泡排序
    C语言之数组
    C语言之函数的声明
    C语言之带有返回值的函数
    C语言之全局变量和局部变量
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/11245973.html
Copyright © 2020-2023  润新知