zoukankan      html  css  js  c++  java
  • 社会化推荐

    借助社交网络推荐篇。

    文章目录

        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

  • 相关阅读:
    线程的中断
    线程间的协作机制
    iOS app内打开safari完成google的OAuth2认证
    iOS ipa 重签名 resign
    iOS rebuild from bitcode对ipa大小的影响
    iOS URL Cache文章推荐 (待完成)
    iOS 推荐几篇关于Objective-c 动态语言的文章
    iOS Code Sign On Copy
    设计模式好文章汇总(不断更新中)
    Json 文件中value的基本类型
  • 原文地址:https://www.cnblogs.com/hrnn/p/13370370.html
Copyright © 2011-2022 走看看