做網(wǎng)站生意旁軟文廣告經(jīng)典案例600
圖:描述關(guān)系數(shù)據(jù)的通用語言,起源于哥尼斯堡七橋問題
傳統(tǒng)的機(jī)器學(xué)習(xí):數(shù)據(jù)樣本之間獨(dú)立同分布,簡單擬合數(shù)據(jù)邊界,在傳統(tǒng)的機(jī)器學(xué)習(xí)中,每個(gè)數(shù)據(jù)樣本彼此無關(guān)。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),只能處理簡單的表格、序列數(shù)據(jù),不能處理帶關(guān)聯(lián)的數(shù)據(jù)。而圖自帶關(guān)聯(lián)的數(shù)據(jù)。
圖機(jī)器學(xué)習(xí) (GML) :核心是將機(jī)器學(xué)習(xí)應(yīng)用于圖,專門用于預(yù)測和規(guī)范任務(wù)。
如何讓神經(jīng)網(wǎng)絡(luò)處理圖數(shù)據(jù)?
1.兼容任意尺寸的輸入
2.沒有固定的輸入順序和參考錨點(diǎn)
3.圖動(dòng)態(tài)變化,多模態(tài)特征(音樂推薦)
圖神經(jīng)網(wǎng)絡(luò)
圖神經(jīng)網(wǎng)絡(luò)的輸入是一個(gè)圖,輸出則可以多種多樣的輸出分類標(biāo)簽、新的連接、新的圖或子圖等數(shù)據(jù)。
這種方法不但能學(xué)到每個(gè)數(shù)據(jù)節(jié)點(diǎn)之間的關(guān)聯(lián)信息,還能進(jìn)行端到端的表示學(xué)習(xí)(Representation Learning),甚至不需要人工進(jìn)行特征工程!
輸入圖->黑箱(處理,后續(xù)會詳細(xì)將這個(gè)過程)->輸出結(jié)果
一個(gè)關(guān)鍵的步驟:圖嵌入:將節(jié)點(diǎn)變成低維向量,然后就可以使用傳統(tǒng)的機(jī)器學(xué)習(xí)
圖機(jī)器學(xué)習(xí)應(yīng)用:
節(jié)點(diǎn)層面:
由已知的節(jié)點(diǎn)類別推斷出未知的節(jié)點(diǎn)類別
連接層面:
推薦系統(tǒng),藥物的聯(lián)合副作用
二分圖:二分圖又稱為二部圖,如果一個(gè)點(diǎn)集可以被分成兩個(gè)部分,所有的邊都在這兩個(gè)部分之間,而每個(gè)集合內(nèi)部沒有邊,則稱這個(gè)圖是一個(gè)二分圖。
圖層面:
抗生素,粒子的模擬,預(yù)測蛋白質(zhì)的空間結(jié)構(gòu)(AlphaFold)
圖數(shù)據(jù)挖掘的工具
圖神經(jīng)網(wǎng)絡(luò)建模工具
- PyG (PyTorch Geometric)
PyG(PyTorch Geometric)是一個(gè)在PyTorch基礎(chǔ)上開發(fā)的庫,主要用于構(gòu)建和訓(xùn)練圖神經(jīng)網(wǎng)絡(luò)(GNN),可以應(yīng)用于多種與結(jié)構(gòu)化數(shù)據(jù)相關(guān)的場景。PyG具有易用和統(tǒng)一的API接口,讓用戶 10 至 20 行代碼就可以訓(xùn)練自己的GNN模型,不需要知道太多底層機(jī)制的實(shí)現(xiàn)和調(diào)試。PyG庫包含了許多目前最先進(jìn)的GNN架構(gòu)和訓(xùn)練方法,并且可以方便地進(jìn)行擴(kuò)展和定制,以滿足不同的需求和應(yīng)用場景,適合各種需要使用GNN的研究人員和開發(fā)者。
2.?DGL
DGL(Deep Graph Library)是一個(gè)用于開發(fā)圖神經(jīng)網(wǎng)絡(luò)(GNN)的框架,可以幫助用戶在大規(guī)模圖數(shù)據(jù)上進(jìn)行深度學(xué)習(xí)。DGL提供了一組Python API,使得用戶可以輕松地構(gòu)建、訓(xùn)練和評估GNN模型。該框架支持各種類型的圖,包括有向圖、無向圖和多重圖等,可以在圖中進(jìn)行節(jié)點(diǎn)分類、邊分類、圖分類和鏈接預(yù)測等任務(wù)。同時(shí),DGL還支持多種GNN模型,包括圖卷積網(wǎng)絡(luò)(GCN)、圖注意力網(wǎng)絡(luò)(GAT)、圖注意力池化網(wǎng)絡(luò)(GAP)等,以滿足不同任務(wù)的需求。DGL還支持大規(guī)模分布式計(jì)算,可以在多個(gè)GPU和多個(gè)機(jī)器上進(jìn)行模型訓(xùn)練,以加快訓(xùn)練速度。由于其強(qiáng)大的功能和易用性,DGL被廣泛應(yīng)用于各種領(lǐng)域,如社交網(wǎng)絡(luò)分析、推薦系統(tǒng)、生物信息學(xué)等。
圖可視化工具
3.?NetworkX
NetworkX是一個(gè)Python庫,用于創(chuàng)建、操作和研究復(fù)雜網(wǎng)絡(luò),如社交網(wǎng)絡(luò)、物理網(wǎng)絡(luò)、生物網(wǎng)絡(luò)和交通網(wǎng)絡(luò)等。該庫提供了一組工具和算法,可以幫助用戶構(gòu)建各種類型的網(wǎng)絡(luò),包括無向圖、有向圖、加權(quán)圖、多重圖等。同時(shí),NetworkX還支持大量的網(wǎng)絡(luò)分析算法,如中心性分析、連通性分析、路徑分析、聚類分析、布局算法等,可以幫助用戶理解和探索網(wǎng)絡(luò)的結(jié)構(gòu)和特性。NetworkX還提供了可視化工具,可以方便地將網(wǎng)絡(luò)可視化,幫助用戶更好地理解和展示網(wǎng)絡(luò)數(shù)據(jù)。由于其強(qiáng)大的功能和易用性,NetworkX被廣泛應(yīng)用于各個(gè)領(lǐng)域,如社交網(wǎng)絡(luò)分析、生物信息學(xué)、物理學(xué)、交通規(guī)劃等。
4.?AntV
AntV是螞蟻集團(tuán)提供的數(shù)據(jù)可視化解決方案,其中的G6引擎是專門用來做圖可視化工作的圖可視化引擎。
圖數(shù)據(jù)庫
5.?Neo4j
Neo4j是當(dāng)下最熱門的圖數(shù)據(jù)庫管理系統(tǒng),采用了圖形結(jié)構(gòu)來存儲和處理數(shù)據(jù)。與關(guān)系型數(shù)據(jù)庫(如MySQL)不同,圖數(shù)據(jù)庫將數(shù)據(jù)表示為節(jié)點(diǎn)和邊的圖形結(jié)構(gòu),而不是表中的行和列。這使得Neo4j可以輕松地處理復(fù)雜的關(guān)系和連接,并提供高性能的查詢和可擴(kuò)展性。