• 推荐系统打散算法--轮询(分类桶)


      打散作为推荐系统比较重要的数据处理逻辑,是推荐系统避免数据扎堆最重要的实现手段,本次介绍推荐算法中最简单的轮询算法。

    轮询算法一般分为单维度、双维度轮询,所以本文主要介绍,单维度轮询双维度轮询两种。

    单维度轮询:

    单维度轮询主要是把数据按照某一个角度进行分类,比如推荐业务中,相同品牌的商品不能相邻出现,这里可以对数据集作以下处理,具体流程如下

    注:不同的形状代表不同的品牌

    按照品牌分类前的结果集如下图:

    按照品牌分类后的结构如下图(形状):

    针对以上结构,可轮询每个分类,每次取分类中某个位置的一个元素,最终轮询结果如下:

    根据上面结果可见,当某个分类比较多时(如图中的三角形有5个),容易导致尾部扎堆现象出现,这也是分类轮询比较大的缺点。

    双维度轮询:

    双维度轮询即在单维度轮询的基础上,再次对单维度分类结果进行第二个分类去分类,然后对第二个维度分类结果轮询,再轮询第一个结果分类,比如推荐业务中按照四级商品组(形状),品牌(字体颜色)轮询,大体流程如下

      分类:原始结果集 -》 维度一分类 -》 维度二分类

      轮询:维度二分类结果轮询 -》 维度一分类结果轮询 -》 最终轮询结果集

    原始结果集

    分类结果

    维度二轮询

    维度一轮询(最终结果)

    这种情况会打的更散,但是依旧无法解决维度扎堆的情况,只能相对缩小扎堆的可能性(9、10依旧扎堆,一般来说,标准差越大,越不适合用这种打散方式)

  • 相关阅读:
    WebSocket
    牛人
    ECSHOP+wamp
    数据结构之-----------排序
    DRGS指标计算方法
    Oracle 11g安装教程
    JavaScript入门
    多态
    类的继承
    上传工具类
  • 原文地址:https://www.cnblogs.com/id-tangrenhui/p/14378843.html
Copyright © 2020-2023  润新知