基於圖的機器演算法 (一)

阿里云云棲社群發表於2019-02-25

摘要:基於圖的機器演算法學習是一個強大的工具。結合運用模組特性,能夠在集合檢測中發揮更大作用。
可擴充套件集合檢測

編者按:基於圖的機器演算法學習是一個強大的工具。結合運用模組特性,能夠在集合檢測中發揮更大作用。

很多複雜的問題都可以使用圖來表示和學習—-社交網路,細菌行為,神經網路等等。本文探討了圖中節點

自發地形成內部密集連結(在此稱為“集合”)的趨勢; 生物網路的顯著的和普遍的屬性。

集合檢測旨在將圖劃分為密集連線的節點的群集,其中屬於不同集合的節點僅稀疏地連線。

基於圖的機器演算法 (一)

圖形分析涉及到節點(描述為磁碟)的研究及其與其他節點(線)的互動。 社群檢測旨在通過其“團體”對節點進行分類。

模組化的公式為:

基於圖的機器演算法 (一)

其中:nc是集合的數量; lc為邊數; dc為頂點度和; m是圖的大小(邊數)。 我們將使用這個方程以尋找最佳分割槽的全域性度量。 簡而言之:更高的分數將被給予一個集合配置提供更高於外部的內部連結。

那麼該如何進行優化呢?優化方案的重點是利用圖形拓撲知識。我這裡使用了一個特殊的演算法簇,稱為聚合。這些演算法能夠很快捷地將節點收集(或合併)。 這具有許多優點,因為它通常僅需要鄰近節點的第一級知識和小的增量合併步驟,便可使全域性解決方案朝向逐步平衡。您可能會指出,模組度量提供了圖形狀態的全域性檢視,而不是本地指示器。 那麼,這如何轉化為我剛才提到的小地方增量?

基本方法確實包括迭代地合併優化區域性模組化的節點,讓我們繼續定義:

基於圖的機器演算法 (一)

其中Σin是C內的加權鏈路的總和,Σtot對連結到C的節點進行求和,k i對連結到節點i,ki的節點進行求和,m為 歸一化因子作為整個圖的加權連結的和。

這個區域性優化函式可以很容易地轉換為圖表域內的可解釋的度量。 例如,

• 集合強度:集合中的加權連結的總和。

• 集合人氣:對特定集合中的節點的加權連結事件的總和。

• 節點所屬:從節點到社群的加權連結的總和。

換句話說,加權連結可以是在執行時計算的節點的型別的函式(如果你處理具有各種型別的關係和節點的多維圖,則是有用的)。

壓縮階段之前的收斂迭代示例

基於圖的機器演算法 (一)

現在我們都設定了我們的優化函式和區域性成本,典型的聚集策略包括兩個迭代階段(傳輸和壓縮)。假設N個節點的加權網路,我們開始通過向網路的每個節點分配不同的集合。

 傳輸:對於每個節點i,考慮其鄰近節點j,並通過交換c_i為c_j來評估模組化的增益。貪婪過程將節點傳送到相鄰集合,使模組化的增益最大化(假設增益為正)。該過程應用於所有節點,直到沒有單獨的移動點。

 壓縮:構建一個新的網路,其節點是在第一階段發現的集合;稱為壓縮的過程(見下圖)。為此,集合之間的邊權重被計算為對應的兩個集合中的節點之間的內部邊之和。

基於圖的機器演算法 (一)

聚集過程:階段1收斂到區域性模組化的區域性平衡。 第二階段包括壓縮下一次迭代的圖形,因此減少了要考慮的節點數量,同時也減少了計算時間。

需要解決的關鍵問題:因為這是一個貪婪的演算法,你必須根據你的情況和手頭的資料定義一個停止標準。

如何定義這個標準? 可以嘗試的方式有:最大數量的迭代,在傳輸階段期間的最小模組性增益,或任何其他相關的資訊。仍然不確定什麼時候停止? 只要確保你儲存迭代過程的每個中間步驟,執行直到你的圖形中只剩下一個節點。 有趣的是,通過跟蹤每個步驟,您還可以從您的集合的層次檢視中獲益,然後作進一步探索和利用。

在後續的博文中,我將討論如何在使用Spark GraphX的分散式系統上實現這一點,Spark GraphX是我的專案的一部分。

文章原標題《Graph-based machine learning: Part I》,作者:Sebastien Dery

文章為簡譯,更為詳細的內容,請檢視原文:insightdatascience

本文由北郵@愛生活-愛可可老師推薦,阿里云云棲社群組織翻譯。

相關文章