簡單的lp演算法如下:
執行傳播:f=pf
重置f中labeled樣本的標籤:fl=yl
重複步驟1和2直到f收斂
ps:
步驟1就是將矩陣p和矩陣f相乘,這一步,每個節點都將自己的label以p確定的概率傳播給其他節點。如果兩個節點越相似(在歐式空間中距離越近),那麼對方的label就越容易被自己的label賦予,就是更容易拉幫結派。
步驟2非常關鍵,因為labeled資料的label是事先確定的,它不能被帶跑,所以每次傳播完,它都得回歸它本來的label。隨著labeled資料不斷的將自己的label傳播出去,最後的類邊界會穿越高密度區域,而停留在低密度的間隔中。相當於每個不同類別的labeled樣本劃分了勢力範圍。
基於標籤傳播演算法的社群發現
社群發現是一種廣義上的聚類,區別於傳統聚類的核心是類別與類別之間可以有重疊部分。在傳統的聚類演算法,如k means,乙個元素在結果中只能屬於乙個類別,但在社群發現演算法裡,乙個元素可以隸屬於不同的類別。這種聚類結果更貼近於生活中的場景,乙個人可以有多重屬性,不同的屬性特徵會驅使他歸到不同的類別裡。...
社群發現 SSN LDA演算法 學習筆記
ssn lda social network lda 是一種基於潛在狄利克雷分配的分層貝葉斯演算法,在ssn lda中,社群被建模為圖形模型中的潛在變數,並被定義為社會參與者空間上的分布。ssn 線性判別分析的優點是它只需要拓撲資訊作為輸入。該模型在兩個研究合作網路上進行了評估 citeseer和n...
社群發現之譜聚類演算法的實現
譜聚類演算法實現 1 計算距離矩陣 歐氏距離,作為相似度矩陣 2 利用knn計算鄰接矩陣a 3 由鄰接矩陣計算都矩陣d和拉普拉斯矩陣l 4 標準化拉普拉斯矩陣 5 對拉普拉斯矩陣進行特徵值分解得到特徵向量 6 對特徵向量進行k means聚類 7 得到分類結果 import numpy as np ...