一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么要可視化圖 大規(guī)模圖可視化攻略方案

454398 ? 來源:機器之心 ? 作者:極驗 ? 2020-10-14 16:30 ? 次閱讀

如果你需要可視化一個大規(guī)模的圖網(wǎng)絡,而你嘗試了各種各樣的工具,卻只畫了一個小毛球就耗盡了你的 RAM,這時候你要怎么辦?我的工作常常需要可視化大規(guī)模圖(上億的節(jié)點),嘗試了非常多的工具和方法。但是,我卻沒有發(fā)現(xiàn)有人提供實用的攻略,于是,我決定根據(jù)自己的經(jīng)驗寫一篇攻略。

為什么要可視化圖

發(fā)現(xiàn)尋找的目標

通常,我們會將節(jié)點和邊的集合作為輸入,然后基于數(shù)據(jù)可以計算出一些統(tǒng)計信息,但是這不足以從結(jié)構(gòu)中獲得想法。好的可視化可以幫助我們清晰的發(fā)現(xiàn)圖中的一些簇、 bridges 或者是點云,還有一些其他的模式。

便于解釋

很明顯,數(shù)據(jù)的可視化用于表示,這是一個展示工作成果的好方法。例如,如果你解決了一個聚類問題,你可以用不同的顏色表示不同的標簽進行可視化,展示它們是如何連接的。

獲得特征

盡管大多數(shù)圖可視化工具都是為制作一些圖片而創(chuàng)建的,但它們也很適合作為降維工具。以鄰接矩陣表示的圖是高維空間中的數(shù)據(jù)。繪制時,我們得到每個頂點的兩個(通常)坐標。這些坐標也可以用作特征。這個空間中頂點之間的緊密性意味著相似性。

大規(guī)模圖的問題

我將用大約 10K 節(jié)點和邊的大圖來表示。小規(guī)模的圖,通過幾分鐘搜索到的工具基本上都可以解決。大規(guī)模圖的難點在哪里呢?主要有兩個問題:可讀性和速度。通常,大規(guī)模圖的可視化看起來會非?;靵y,因為圖中有太多對象。此外,圖可視化算法的算法復雜度很高:邊或者頂點數(shù)目的二階或三階依賴。即使只看一次結(jié)果,也要很久才能找到更好的參數(shù)。

已有的研究

Helen Gibson, Joe Faith and Paul Vickers: “A survey of two-dimensional graph layout techniques for information visualization”

本文介紹了有哪些圖可視化方法存在,這些方法是如何工作的。文中將各種算法整理成了表,很清晰。我在這篇文章中也有用到了該文中的一些圖表。

Oh-Hyun Kwon, Tarik Crnovrsanin and Kwan-Liu Ma “What Would a Graph Look Like in This Layout? A Machine Learning Approach to Large Graph Visualization”

這篇文章的工程量很大。研究人員嘗試了所有可能的算法,然后可視化出來,手工評估相似度。之后,他們擬合模型來預測圖在 layout 中是什么樣子。我也用了一些這篇文章的圖片。

理論部分

Layout 是一種將坐標映射到每個節(jié)點的方法。通常,這是指 2D 平面上的坐標。

什么是好的 Layout

很容易評價一個東西看起來是好還是壞,但是很難制定機器評估好壞的標準。為了得到所謂的“好的” layout,可以使用以下這些指標:

1. Minimum edges intersection(最小邊交)

很容易理解,太多的交叉會讓圖看起來很凌亂。

2. 相鄰的節(jié)點彼此靠近

邏輯相連的頂點應該彼此靠近,通過定義,它們代表了圖中存在的主要信息。

3. 社區(qū)聚類

如果一些節(jié)點之間的連接比與其他節(jié)點之間的連接頻率更高,那么它們看起來像密集的云。

4. 最小的重疊邊和節(jié)點

這也是很明顯的,如果我們不能確定是一個或者幾個節(jié)點,那么該圖可視化的可讀性就很差了。

Layout 的類別

同一個圖在不同 layout 上的呈現(xiàn)。

我考慮著重介紹三種比較重要的 Layout,layout 的分類方法有很多,下面這種分類足以涵蓋所有可能的類型。

力導向和基于能量

降維

基于節(jié)點特征

力導向

這一類方法是基于物理系統(tǒng)仿真的。頂點表示為相互排斥的帶電粒子,邊被視為彈性線。這些方法試圖建立這個系統(tǒng)的動力學模型或找到最小能量。這些圖通常會比較好的反應圖的拓撲結(jié)構(gòu),但是計算非常復雜,需要調(diào)節(jié)非常多參數(shù)。

該方法的重要成員包括 Force Atlas,F(xiàn)ruchterman-Reingold,Kamada Kawaii and OpenOrd。最后一種會使用一些優(yōu)化方法來減少計算量,比如削減長邊,但是作為副作用,會讓圖更加聚集。

降維

一個圖可以用一個 N x N 的鄰接矩陣來表示,N 代表節(jié)點的數(shù)量。該矩陣同樣可以看作是 N 維空間中的 N 個對象。這種表示允許我們使用通用的降維方法,比如 PCA、UMAP、tSNE 等等。另一種途徑就是計算節(jié)點之間的理論距離,并在低維空間中保持該比例。

基于特征

通常,圖數(shù)據(jù)都和現(xiàn)實生活中的對象相關(guān)聯(lián)。因此,頂點和邊會有自己的特征。因此我們可以用這些特征來表示它們。我們可以利用上面講到的降維方法,像處理表數(shù)據(jù)一樣處理節(jié)點的特征,或者直接繪制節(jié)點特征對的散點圖。值得一提的是 Hive Plot,因為它和其他的方法都不同。在 Hive Plot 中,節(jié)點與多個徑向軸對齊,邊是它們之間的曲線。

大規(guī)模圖可視化工具

雖然圖可視化是一個老生常談的問題,但是支持大規(guī)模圖可視化的工具仍然捉襟見肘。其中有很多都被它們的開發(fā)者遺棄了。并且其中有很多都有自己明顯的缺陷。我只介紹這些工具中值得被提及并且支持大規(guī)模圖的,這樣可以幫助大家快速尋找到一個靠譜的工具,并且它還工作的很好。

GraphViz

2011年以前的比特幣交易圖

有些時候,調(diào)參非常困難

這是一款 old-school CLI 工具,它有自己的圖定義語言,叫做“dot”。這是一個有幾個 layouts 的包。針對大規(guī)模圖,它有 sfdp layout,來自于力導向家族。該工具的優(yōu)點和缺點一樣:它從命令行運行。它對自動化很有用,但是沒有互動性的調(diào)參非常困難。你根本不知道你自己會等多久才能得到最后的結(jié)果,也不知道是否是需要停止它,并使用其他的參數(shù)重新開始。

graphviz.org

Gephi

Gephi 圖界面

來自 iMDB 的 13K 的電影推薦系統(tǒng)的圖

這是我知道的最好的圖可視化工具。它有 GUI,包含一些 layouts 和很多圖分析工具。還有很多社區(qū)貢獻的插件。例如我最喜歡的 layout,“Multigravity Force-Atlas 2” 或者 sigma.js 傳播工具,并且提供交互式的網(wǎng)頁端頁面。在 Gephi 中,可以根據(jù)節(jié)點和邊的特征設置顏色。

但是 Gephi 仍然被開發(fā)者拋棄了。它還有一點老式的 GUI 和一些簡單的特征。

gephi.org

igraph

音樂推薦圖

我需要向這個通用圖分析的工具致敬。其中最令人印象深刻的圖可視化是由 igraph 的一位作者制作的。igraph 的缺點對于 python API 來說是糟糕的文檔,但是源代碼是可讀的并且注釋良好。

igraph.org

LargeViz

最大的比特幣集群,里面有幾千萬個節(jié)點(交易和地址)

當你需要繪制一個巨大的圖時,它將是偉大的救世主。LargeViz 是一種降維工具,不僅可以用于圖,還可以用于任意表數(shù)據(jù)。它從命令行運行,工作速度快,占用較少的內(nèi)存。

arxiv.org/abs/1602.00370

github.com/lferry007/LargeVis

Graphistry

一周內(nèi)可能被黑客攻擊的地址以及交易

直觀并且美觀的界面,但是很有限

該工具是這篇攻略中唯一需要付費的。Graphistry 是一種服務,直接輸入數(shù)據(jù),并進行所有計算,只需要在客戶端瀏覽器查看漂亮的圖片。Graphistry 出了具有合理的默認參數(shù),良好的配色方案和稍好的交互性之外,其他特性與Gephi 相比并沒有太大的改進。它只提供一個力定向 layout 并且還具有800K個節(jié)點或邊的限制。

www.graphistry.com

Graph Embeddings

也有一種方法可以解決瘋狂的尺寸問題。從大約一百萬個頂點開始,只需要合理地查看頂點密度,而不需要繪制邊和特定的頂點。因為沒有人能在這樣的圖上辨認出單個的物體。此外,大多數(shù)用于圖可視化的算法將在這樣的大小上工作很多小時,甚至幾天。如果我們稍微改變一下方法,這個問題就可以解決。有很多方法可以得到反映圖頂點特征的固定大小表示。在得到這樣的表示之后,你唯一需要做的就是把維數(shù)降到2,以便得到一張圖片。

Node2Vec

Node2Vec + UMAP

這是 word2vec 在圖的改編。圖中使用隨機游動而不是單詞序列。因此,該方法僅使用有關(guān)節(jié)點鄰域的信息。在大多數(shù)情況下,這就足夠了。

snap.stanford.edu/node2vec

github.com/xgfs/node2vec-c

VERSE

VERSE + UMAP

用于通用圖表示的高級算法,是我用起來最好的之一。

tsitsul.in/publications/verse

github.com/xgfs/verse

Graph Convolutions

圖卷積+ 自編碼器 二部圖

有很多方法可以定義圖上的卷積。但事實上,這是頂點鄰居的簡單特征“擴散”。我們還可以將局部拓撲信息放在頂點特征中。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1386

    瀏覽量

    116395
  • Layout
    +關(guān)注

    關(guān)注

    15

    文章

    410

    瀏覽量

    62610
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1231

    瀏覽量

    21527
  • 比特幣
    +關(guān)注

    關(guān)注

    57

    文章

    7006

    瀏覽量

    142440
收藏 人收藏

    評論

    相關(guān)推薦

    可視化MES系統(tǒng)軟件

    是關(guān)鍵部分,可視化管理可幫助企業(yè)更直觀的挖掘隱藏的數(shù)據(jù)并有效管理企業(yè)?!爸圃煳锫?lián)”是MES系統(tǒng)軟件更高階段的必然表現(xiàn)形式?!爸圃煳锫?lián)”與MES系統(tǒng)軟件的側(cè)重:(1)MES側(cè)重生產(chǎn)業(yè)務管理,制造物聯(lián)更關(guān)注
    發(fā)表于 11-30 19:55

    Tensorflow之Tensorboard的可視化使用

    TF之Tensorboard:Tensorflow之Tensorboard可視化使用之詳細攻略
    發(fā)表于 12-27 10:05

    如何把AD中非可視化區(qū)域物件移到可視化區(qū)域?

    AD中非可視化區(qū)域物件怎么移到可視化區(qū)域???
    發(fā)表于 09-10 05:36

    基于STM的可視化門禁系統(tǒng)

    基于STM的可視化門禁系統(tǒng)
    發(fā)表于 03-07 09:49

    基于stm的可視化門禁系統(tǒng)

    基于stm的可視化門禁系統(tǒng)
    發(fā)表于 03-11 09:23

    Python數(shù)據(jù)可視化

    Python數(shù)據(jù)可視化:網(wǎng)易云音樂歌單
    發(fā)表于 07-19 08:30

    TensorFlow TensorBoard可視化數(shù)據(jù)流

    TensorBoard:接下來,打開瀏覽器并輸入地址 http://localhost:6006/(或運行 TensorBoard 命令后收到的鏈接)。你會看到類似于 1 中的,頂部有很多標簽。Graphs(圖表)選項卡能將運算
    發(fā)表于 07-22 21:26

    三維可視化的應用和優(yōu)勢

    ,為此三維可視化運維系統(tǒng)登場了。  三維可視化的應用  宏觀場景可視化:在特定的環(huán)境中對隨著時間推移而不斷變化的目標實體進行檢測,可以直觀、靈活、逼真的展示所處區(qū)域的情景和環(huán)境,可以快速掌握目標區(qū)域
    發(fā)表于 12-02 11:52

    常見的幾種可視化介紹

    說說常見的幾種可視化一、信息可視化信息可視化就是對抽象數(shù)據(jù)進行直觀視覺呈現(xiàn)的研究,抽象數(shù)據(jù)既包含數(shù)值數(shù)據(jù),也包含非數(shù)值數(shù)據(jù)如文本信息、地圖信息等,它們可通過利用圖形圖像處理、人機交互、人工智能的技術(shù)
    發(fā)表于 07-12 07:49

    plotly可視化繪制嵌入式子的方法

    plotly可視化繪制嵌入式子# 嵌入式子import plotly as pyimport plotly.graph_objs as gopyplt
    發(fā)表于 12-14 07:08

    經(jīng)驗分享|BI數(shù)據(jù)可視化報表布局——容器

    可視化報表的背景設置成其他顏色或者背景,就會出現(xiàn)容器遮擋了報表背景的情況。這時候就需要在依次點擊右側(cè)【容器】、【容器背景】、【背景設置】、顏色/圖片旁的帶顏色的框框,進入調(diào)色板小窗口后,將字母A上方
    發(fā)表于 03-15 17:10

    電子家譜的元可視化

    電子家譜用于統(tǒng)計與分析家族成員的情況與關(guān)系,其可視化形式是家譜信息的重要組成部分。由于邊的數(shù)量隨節(jié)點數(shù)的增加而快速增長,在已有家譜可視化方法中會出現(xiàn)顯示效率急速下降問題。針對這一問題,結(jié)合元
    發(fā)表于 11-28 11:30 ?4次下載
    電子家譜的元<b class='flag-5'>圖</b><b class='flag-5'>可視化</b>

    可視化技術(shù)有哪些

    完整的地理空間信息可視化概念主要包括科學計算可視化、數(shù)據(jù)可視化和信息可視化。可視化技術(shù)作為解釋大量數(shù)據(jù)最有效的手段而率先被科學與工程計算領(lǐng)域
    發(fā)表于 02-05 09:09 ?3838次閱讀

    大數(shù)據(jù)可視化技術(shù)還將面臨哪些新的挑戰(zhàn),如何應對

    首先從方法層面介紹基本滿足常用數(shù)據(jù)可視化需求的通用技術(shù),根據(jù)可視化目標分類介紹,然后根據(jù)大數(shù)據(jù)的特點,重點介紹相關(guān)的大規(guī)模數(shù)據(jù)可視化、時序數(shù)據(jù)可視化
    的頭像 發(fā)表于 04-17 16:47 ?5487次閱讀

    數(shù)據(jù)可視化的常用技術(shù)和并行與原位可視化方法分析

    數(shù)據(jù)可視化就是將抽象的“數(shù)據(jù)”以可見的形式表現(xiàn)出來,幫助人理解數(shù)據(jù)。大數(shù)據(jù)可視化相對傳統(tǒng)的數(shù)據(jù)可視化,處理的數(shù)據(jù)對象有了本質(zhì)不同,在已有的小規(guī)模或適度
    的頭像 發(fā)表于 04-17 16:51 ?6624次閱讀