• 社会化推荐


    借助社交网络推荐篇。

    文章目录

        6 社会化推荐
            6.1 利用社交网络信息推荐
                6.1.1 基于邻域的社会化推荐算法
                6.1.2 基于图的社会化推荐算法
            6.2 给用户推荐好友

    6 社会化推荐
    6.1 利用社交网络信息推荐

    利用用户的社交网络数据进行推荐,主要是源于:

        好友推荐可以增加推荐的信任度
        社交网络可以解决冷启动问题

    6.1.1 基于邻域的社会化推荐算法

    最简单的方法是给用户推荐好友喜欢的物品集合,用户u对物品i的兴趣pui

    pu​i可以通过如下公式计算:

    pui=∑v∈out(u)rvi

    pui​=∑v∈out(u)​rvi​

    其中out(u)
    out(u)是用户u的好友集合,如果用户v喜欢物品i,则rvi=1rv​i=1,否则rvi=0

    rv​i=0。

    当然,不同好友之间的熟悉度和兴趣相似度是不一样的,因此应该在推荐的时候把这个考虑在内:

    pui=∑v∈out(u)wuvrvi

    pui​=v∈out(u)∑​wuv​rvi​

    这里的wuv

    wuv​由两部分相似度构成,一部分是用户u和用户v的熟悉程度,另一部分是用户u和用户v的兴趣相似度。

    其中,用户u和用户v的熟悉程度由如下公式度量,即他们之间的共同好友比例:

    familiarity(u,v)=∣out(u)⋂out(v)∣∣out(u)⋃out(v)∣

    familiarity(u,v)=∣out(u)⋃out(v)∣∣out(u)⋂out(v)∣​

    而用户u和用户v的兴趣相似度由如下公式度量,即他们喜欢的物品重合度:

    similarity(u,v)=∣N(u)⋂N(v)∣∣N(u)⋃N(v)∣

    similarity(u,v)=∣N(u)⋃N(v)∣∣N(u)⋂N(v)∣​
    6.1.2 基于图的社会化推荐算法

    用户的社交网络可以表示为为社交网络图,用户对物品的行为可以表示为用户物品二分图,而这两种图可以结合成一个图。如下图所示:

    在定义完图中的顶点和边后,需要定义边的权重。其中用户和用户之间边的权重可以定义为用户之间相似度的α
    α倍(包括熟悉程度和兴趣相似度),而用户和物品之间的权重可以定义为用户对物品喜欢程度的β

    β倍。

    在定义完图中的顶点、边和边的权重后,就可以利用前面几章提到的PersonalRank图排序算法给每个用户生成推荐结果。
    6.2 给用户推荐好友


    这里主要介绍基于社交网络图的好友推荐,最简单的方法是给用户推荐好友的好友。主要用来给用户推荐他们在现实社会中互相熟悉,而在当前社交网络中没有联系的其他用户。

    有下面几种方法计算相似度:

        wout(u,v)

        wout​(u,v)

    对于用户u和用户v,用共同好友比例计算相似度:

    wout(u,v)=∣out(u)⋂out(v)∣∣out(u)∣∣out(v)∣√
    wout​(u,v)=∣out(u)∣∣out(v)∣

    ​∣out(u)⋂out(v)∣​

    其中out(u)

    out(u)是在社交网络图中用户u指向的其他好友的集合。

        win(u,v)

        win​(u,v)

    也可以定义in(u)

    in(u)是在社交网络图中指向用户u的用户集合,此时可以定义另外一种相似度:

    win(u,v)=∣in(u)⋂in(v)∣∣in(u)∣∣in(v)∣√
    win​(u,v)=∣in(u)∣∣in(v)∣

    ​∣in(u)⋂in(v)∣​

        wout,in(u,v)

        wout,in​(u,v)

    这个是用户u关注的用户中,有多大比例也关注了用户v:

    wout,in(u,v)=∣out(u)⋂in(v)∣∣out(u)∣√
    wout,in​(u,v)=∣out(u)∣

    ​∣out(u)⋂in(v)∣​

        w′out,in(u,v)

        wout,in′​(u,v)

    上面公式的一个缺点在于,所有人都和名人有很大的相似度。因此可以用如下方法改进:

    w′out,in(u,v)=∣out(u)⋂in(v)∣∣out(u)∣∣in(v)∣√
    wout,in′​(u,v)=∣out(u)∣∣in(v)∣
    ​∣out(u)⋂in(v)∣​
    ————————————————
    版权声明:本文为CSDN博主「MagicBubble」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Magical_Bubble/article/details/88559925

  • 相关阅读:
    Hadoop跳过回收站删除HDFS文件
    hadoop安全模式解除方法和为什么会安全模式
    从业18年,我总结了9个最有价值的经验
    mysql复制整个数据库及数据
    Oozie调度原理(queueName与launcher_queName详解)
    Hive升级参考
    Hive表设计压缩问题
    sql中join的on和where操作引发的谓词下推优化
    将毫秒转换成天小时分钟
    数据库优化之一:通过修改postgresql的Planner Method Configuration更改 查询计划优化慢sql
  • 原文地址:https://www.cnblogs.com/hrnn/p/13370370.html
Copyright © 2020-2023  润新知