圖上的機器學習-第0篇-問題描述與學習建議

從本篇開始,我們將一起開啓圖上的機器學習篇章。
我們這裏所說的“圖”,是指圖論這個領域的概念,而非圖像。

爲什麼要開啓本系列


隨着當前GNN(圖神經網絡)在學術圈、工業界的同時爆發,未來3年左右,圖上(或稱複雜網絡、關係數據)的機器學習、深度學習一定會呈現高度繁榮的局面,筆者建議對圖論、圖計算、機器學習這些領域感興趣的朋友一定要密切關注該交叉領域的技術創新及應用發展。

現實中越來越多的數據會以網絡關係的形式沉澱下來,而這類數據都可以抽象爲圖的形式。現實中需要解決分類、聚類、排序等問題,也都可以藉助於圖計算的方法來開展,因此各大互聯網公司都在投入資源開展這方面的研究。

 

怎樣上手


首先,建議先從圖論這個領域着手。找本相關的書來了解一下圖論研究的問題,常用的數學公式、術語、符號。對於相關的定義、定理,要儘量去消化理解。

其次,建議找一些社交網絡分析、複雜網絡相關的文獻綜述來進行閱讀。讀綜述文獻是瞭解一個領域最快的途徑之一。然後,瞭解一下基於複雜網絡都存在哪些應用問題可以做,業界一般是怎麼解決的。

然後,動手去編程解決幾個問題。已經有很多成熟的編程軟件package支持圖上的計算,例如networkx(python)、igraph(python、R 、C);也有拖拉拽的可視化分析軟件,例如Gephi 、UCINET、Pajek等。

 

有哪些典型的應用問題


現實生活中典型的應用類型包括以下幾種。

有監督分類。
在安全風控領域(例如反欺詐、反洗錢、內容安全等),常常會需要識別哪些用戶是壞用戶,這裏就常用到分類的方法。傳統上來講,會先進行特徵工程來加工N個特徵變量,根據已有的樣本來建立分類模型(這裏就常常用到我們前面一個系列講到的集成學習方法)。但目前**GNN領域的圖節點分類**方法也越來越多開始得到應用。

無監督聚類。
在很多業務實踐中(仍以風控爲例),壞人並不是單獨作案,而是有着上下游的產業鏈分工,在賬號體系中也會存在大量的交互關係。所以進行團伙挖掘就會是一個非常典型的業務需求。就裏就可以應用圖聚類來開展。
圖聚類一般的開展步驟是這樣的:
* 1)構建一張網絡。可以是基於社交關係的,也可以是基於一些物理介質(例如手機、MAC地址、IP等)等建立的用戶之間的聯繫;
* 2)在這張圖上進行聚類計算,理論界常用community dection 來描述該領域,這裏還涉及到不同的羣組之間是否允許存在重疊,就產生了overlap community dection的挖掘;有很多的算法可以用來發現community。這一步計算完成後,就得到了圖中每一個節點所屬的聚類羣組;

邊預測。
在廣告營銷領域,傳統的推薦算法主要是協同過濾,現在也開始使用GNN方法來開展了,大概的思路是建立用戶與商品構成的異質圖,然後來進行邊預測。這一塊筆者沒有親身經驗,所以無法更詳細展開討論。

 

筆者自己做過的一點實踐


時間回到幾年前,筆者自己也做了一些複雜網絡相關的工作,CSDN上仍保存着相關的文章,厚着臉皮推薦給大家:
複雜網絡社區結構發現算法-基於igraph 標籤傳播算法(https://blog.csdn.net/a_step_further/article/details/51176980)
複雜網絡社區結構發現算法-基於python networkx clique滲透算法(https://blog.csdn.net/a_step_further/article/details/51176977#comments)
使用C++ Boost Graph Library 進行社交網絡分析入門篇 (https://blog.csdn.net/a_step_further/article/details/51536586)
複雜網絡節點重要性評價方法的對比-基於igraph C library(https://blog.csdn.net/a_step_further/article/details/51176986)
複雜網絡社區結構發現算法-基於igraph C library (https://blog.csdn.net/a_step_further/article/details/51176973)
複雜網絡節點重要性評價方法初探(https://blog.csdn.net/a_step_further/article/details/51176964)

 

結語


本篇主要是推薦大家關注一下圖上的機器學習這個領域,然後介紹了幾種實際工作中可能會涉及的幾個場景,並厚着臉皮又PUSH了一下筆者個人的博客。從下篇開始我們就正式開啓新的旅程了,敬請繼續關注。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章