Ⅰ 社交網路的核心推薦演算法有哪些
對好友推薦演算法非常熟悉,有些積累。好友推薦演算法一般可以分為下面幾類:
1、基於關系的推薦
基於關系的推薦,最近寫了一個專欄文章,具體介紹了常用演算法,可以看下有沒有幫助,傳送門:http://zhuanlan.hu.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.使用閥值去除低頻標簽,產出標簽一致的節點為社區。