社交网络核心,推荐算法有哪些?
对好友推荐算法非常熟悉,有些积累。好友推荐算法一般可以分为下面几类:
1、基于关系的推荐
基于关系的推荐,最近写了一个专栏文章,具体介绍了常用算法,可以看下有没有帮助,传送门:http://zhuanlan.zhihu.com/gongwenjia/20533434
简介:
a.社会网络中,三元闭包理论,以及常用推荐算法
b.Facebook中的推荐算法是如何做的
2、基于用户资料的推荐
3、基于兴趣的推荐
剩下两个方面有时间再写。
近来学习聚类,发现聚类中有一个非常有趣的方向—社交网络分析,分享一下我的大致了解。这篇只是一篇概况,并没有太多的公式推导和代码,基本是用人话解释社交网络分析中的常用的几种算法。详细到每个算法的以后有空再把详细的公式和代码补上。
社区发现算法,GN算法,Louvain算法,LPA与SLPA
Louvain算法思想
1.不断遍历网络中的节点,尝试把单个节点加入能使模块度提升最大的社区,直到所有节点不再改变
2.将第一阶段形成的一个个小的社区并为一个节点,重新构造网络。这时边的权重为两个节点内所有原始节点的边权重之和。
3.重复以上两步
LPA算法思想:
1.初始化每个节点,并赋予唯一标签
2.根据邻居节点最常见的标签更新每个节点的标签
3.最终收敛后标签一致的节点属于同一社区
SLPA算法思想:
SLPA是LPA的扩展。
1.给每个节点设置一个list存储历史标签
2.每个speaker节点带概率选择自己标签列表中标签传播给listener节点。(两个节点互为邻居节点)
3.节点将最热门的标签更新到标签列表中
4.使用阀值去除低频标签,产出标签一致的节点为社区。
2024-11-19 广告