欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于捕獲信息內(nèi)的關(guān)系的系統(tǒng)和方法與流程

文檔序號(hào):12142221閱讀:424來(lái)源:國(guó)知局
用于捕獲信息內(nèi)的關(guān)系的系統(tǒng)和方法與流程

本發(fā)明的實(shí)施例涉及將收到的信息投影到參考空間,并且更具體地,涉及基于在量度空間內(nèi)的信息生成將該信息投影到參考空間以捕獲關(guān)系的函數(shù)。



背景技術(shù):

隨著收集和存儲(chǔ)數(shù)據(jù)增加,存在對(duì)分析和理解大量數(shù)據(jù)的增加的需求。大數(shù)據(jù)集的示例可見(jiàn)于金融服務(wù)公司、石油探測(cè)、生物技術(shù)和學(xué)術(shù)界。遺憾的是,先前的大型多維數(shù)據(jù)集的分析方法往往不足以(如果可能的話)識(shí)別重要的關(guān)系并且在計(jì)算上可能是低效的。

在一個(gè)示例中,先前的分析方法常常使用聚類(clustering)。聚類通常太遲鈍而不能識(shí)別數(shù)據(jù)中的重要關(guān)系。類似地,先前的線性回歸、投影尋蹤、主成分分析和多維縮放(scaling)往往無(wú)法揭示重要的關(guān)系?,F(xiàn)有的線性代數(shù)和分析方法對(duì)大規(guī)模距離太敏感,并因此丟失細(xì)節(jié)。

此外,即使數(shù)據(jù)被分析,富有經(jīng)驗(yàn)的專家通常有必要解釋和理解先前方法的輸出。雖然一些先前的方法允許描繪數(shù)據(jù)中的一些關(guān)系的圖,但是這些圖不是交互式的,并且需要相當(dāng)多的時(shí)間使這樣的專家團(tuán)隊(duì)來(lái)理解關(guān)系。此外,先前方法的輸出不允許對(duì)分析快速更改以發(fā)現(xiàn)新關(guān)系的探索性數(shù)據(jù)分析。相反,先前的方法需要在測(cè)試之前的假設(shè)公式化。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供改進(jìn)捕獲信息內(nèi)的關(guān)系的示例性系統(tǒng)和方法。在各種實(shí)施例中,系統(tǒng)包括界標(biāo)模塊、最近鄰居模塊、圖構(gòu)建模塊、邊緣發(fā)生器模塊和非界標(biāo)投影模塊。界標(biāo)模塊可以被配置成從有限量度空間中的數(shù)據(jù)選擇界標(biāo)集合。該界標(biāo)集合可以是在有限量度空間中的點(diǎn)的子集。最近鄰居模塊可以被配置成針對(duì)每個(gè)界標(biāo)在界標(biāo)集合中計(jì)算預(yù)定數(shù)量的最近鄰居界標(biāo)。圖構(gòu)建模塊可以被配置成識(shí)別彼此為最近鄰居的至少一對(duì)界標(biāo)。邊緣發(fā)生器模塊可以被配置成在至少一對(duì)界標(biāo)之間添加邊緣。非界標(biāo)投影模塊可以被配置成基于界標(biāo)和一個(gè)或多個(gè)邊緣投影非界標(biāo)點(diǎn),從而使能至少一個(gè)形狀指示數(shù)據(jù)中的關(guān)系。

系統(tǒng)可以進(jìn)一步包括被配置成接收待分析數(shù)據(jù)的輸入模塊。在一些實(shí)施例中,系統(tǒng)可以進(jìn)一步包括濾波器模塊,其被配置成將一個(gè)或多個(gè)量度函數(shù)應(yīng)用到接收的數(shù)據(jù)以生成有限量度空間。界標(biāo)模塊可以被配置成從有限量度空間隨機(jī)選擇界標(biāo)。

在各種實(shí)施例中,系統(tǒng)進(jìn)一步包括可視化模塊,其被配置成生成界標(biāo)、一個(gè)或多個(gè)邊緣和非界標(biāo)點(diǎn)的可視化。界標(biāo)、一個(gè)或多個(gè)邊緣和非界標(biāo)點(diǎn)可以表征參考空間。系統(tǒng)可以進(jìn)一步包括分辨率模塊,其被配置成基于在參考空間中的分組使數(shù)據(jù)聚類,該分組由參考空間上的覆蓋函數(shù)生成。

系統(tǒng)可以包括可視化模塊,其被配置成生成描繪節(jié)點(diǎn)和邊緣的可視化,每個(gè)節(jié)點(diǎn)基于根據(jù)在參考空間上的覆蓋函數(shù)的數(shù)據(jù)的分組與接收的數(shù)據(jù)的子集相關(guān)聯(lián),所述邊緣用于連接共享相同的接收的數(shù)據(jù)中的至少一些的節(jié)點(diǎn)。

邊緣發(fā)生器模塊可以進(jìn)一步被配置成識(shí)別參考空間中的組元,每個(gè)組元包含界標(biāo)的子集,其中來(lái)自一個(gè)組元的界標(biāo)的子集不與另一組元的界標(biāo)的子集共享任何路徑。在一些實(shí)施例中,邊緣發(fā)生器模塊可以進(jìn)一步被配置成計(jì)算在識(shí)別的組元的第一組元和第二組元之間的組元強(qiáng)度,該強(qiáng)度至少部分基于對(duì)第一組元中的每個(gè)界標(biāo)的數(shù)個(gè)最近鄰居的得分,最近鄰居駐留在第二組元中,并且使用駐留在第二組元中的第一組元中的每個(gè)界標(biāo)的數(shù)個(gè)最近鄰居的得分生成組元對(duì)得分。

邊緣發(fā)生器模塊可以進(jìn)一步被配置成相比于與較低組元對(duì)得分相關(guān)聯(lián)的其它組元,在與最高組元對(duì)得分相關(guān)聯(lián)的組元的界標(biāo)之間形成一個(gè)或多個(gè)邊緣。在一些實(shí)施例中,邊緣發(fā)生器模塊可以進(jìn)一步被配置成至少部分基于駐留在第一組元中的第二組元中的每個(gè)界標(biāo)的數(shù)個(gè)最近鄰居的得分計(jì)算在第一組元和第二組元之間的組元強(qiáng)度,其中組元對(duì)得分至少部分基于駐留在第一組元中的第二組元中的每個(gè)界標(biāo)的數(shù)個(gè)最近鄰居的得分。

示例性方法包括從有限量度空間中的數(shù)據(jù)選擇界標(biāo)集合,該界標(biāo)集合是在有限量度空間中的點(diǎn)的子集;針對(duì)每個(gè)界標(biāo)在界標(biāo)集合中計(jì)算預(yù)定數(shù)量的最近鄰居界標(biāo);識(shí)別彼此為最近鄰居的至少一對(duì)界標(biāo);在至少一對(duì)界標(biāo)之間添加邊緣;以及基于界標(biāo)和一個(gè)或多個(gè)邊緣投影非界標(biāo)點(diǎn),從而使能至少一個(gè)形狀指示數(shù)據(jù)中的關(guān)系。

示例性計(jì)算機(jī)可讀介質(zhì)可以包括指令。該指令可以由處理器執(zhí)行以執(zhí)行方法。該方法可以包括從有限量度空間中的數(shù)據(jù)選擇界標(biāo)集合,該界標(biāo)集合是在有限量度空間中的點(diǎn)的子集;針對(duì)每個(gè)界標(biāo)在界標(biāo)集合中計(jì)算預(yù)定數(shù)量的最近鄰居界標(biāo);識(shí)別彼此為最近鄰居的至少一對(duì)界標(biāo);在至少一對(duì)界標(biāo)之間添加邊緣;以及基于界標(biāo)和一個(gè)或多個(gè)邊緣投影非界標(biāo)點(diǎn),從而使能至少一個(gè)形狀指示數(shù)據(jù)中的關(guān)系。

提供用于數(shù)據(jù)分析的可視化的示例性系統(tǒng)和方法。在各種實(shí)施例中,方法包括:訪問(wèn)數(shù)據(jù)庫(kù);分析數(shù)據(jù)庫(kù)以識(shí)別數(shù)據(jù)的集群;生成包括多個(gè)節(jié)點(diǎn)和多個(gè)邊緣的交互式可視化,其中多個(gè)節(jié)點(diǎn)中的第一節(jié)點(diǎn)表示集群,并且多個(gè)邊緣中的邊緣表示多個(gè)節(jié)點(diǎn)中的節(jié)點(diǎn)的相交;響應(yīng)于用戶動(dòng)作選擇并拖動(dòng)第一節(jié)點(diǎn);并且響應(yīng)于選擇并拖動(dòng)第一節(jié)點(diǎn)的用戶動(dòng)作而重新定向交互式可視化。

在各種實(shí)施例中,該方法進(jìn)一步包括在數(shù)據(jù)庫(kù)中保存與選擇的第一節(jié)點(diǎn)相關(guān)聯(lián)的數(shù)據(jù)。該方法可以包括選擇第二節(jié)點(diǎn)并顯示關(guān)于第一和第二節(jié)點(diǎn)的信息。在一些實(shí)施例中,該方法可以包括接收數(shù)據(jù)庫(kù)的數(shù)據(jù)標(biāo)識(shí)符的選擇并突出與選擇相關(guān)聯(lián)的多個(gè)節(jié)點(diǎn)中的一些節(jié)點(diǎn)。

交互式可視化的第一節(jié)點(diǎn)和第二節(jié)點(diǎn)可以基于選擇的第一函數(shù)不同地被著色。在一個(gè)示例中,第一函數(shù)是濾波器。該方法可以進(jìn)一步包括接收第二函數(shù)選擇并基于第二函數(shù)選擇改變第一節(jié)點(diǎn)和第二節(jié)點(diǎn)的顏色。

在各種實(shí)施例中,該方法進(jìn)一步包括接收區(qū)間值和重疊百分比,基于區(qū)間值和重疊百分比重新分析數(shù)據(jù)庫(kù),以及基于該重新分析重新生成交互式可視化。此外,該方法可以包括在生成后顯示交互式可視化的運(yùn)動(dòng),該運(yùn)動(dòng)基于多個(gè)節(jié)點(diǎn)的視覺(jué)最優(yōu)化。

在一些實(shí)施例中,該方法可以進(jìn)一步包括顯示關(guān)于第一節(jié)點(diǎn)和選擇的第二節(jié)點(diǎn)的統(tǒng)計(jì)信息。數(shù)據(jù)庫(kù)的分析可以是拓?fù)浞治?。在一些?shí)施例中,數(shù)據(jù)庫(kù)的分析是非線性數(shù)據(jù)分析。

示例性系統(tǒng)包括處理器、輸入模塊、分析模塊和可視化模塊。輸入模塊可以被配置成訪問(wèn)數(shù)據(jù)庫(kù)。分析模塊可以被配置成分析數(shù)據(jù)庫(kù)以識(shí)別數(shù)據(jù)的集群。可視化模塊可以被配置成生成包括多個(gè)節(jié)點(diǎn)和多個(gè)邊緣的交互式可視化、響應(yīng)于用戶動(dòng)作選擇并拖動(dòng)第一節(jié)點(diǎn),并且響應(yīng)于選擇并拖動(dòng)第一節(jié)點(diǎn)的用戶動(dòng)作重新定向交互式可視化,其中多個(gè)節(jié)點(diǎn)中的第一節(jié)點(diǎn)表示集群,并且多個(gè)邊緣中的邊緣表示多個(gè)節(jié)點(diǎn)中的節(jié)點(diǎn)之間的相交。

示例性計(jì)算機(jī)可讀介質(zhì)可以包括指令。該指令可以由處理器執(zhí)行以執(zhí)行方法。該方法可以包括:訪問(wèn)數(shù)據(jù)庫(kù),分析數(shù)據(jù)庫(kù)以識(shí)別數(shù)據(jù)的集群,生成包括多個(gè)節(jié)點(diǎn)和多個(gè)邊緣的交互式可視化,其中多個(gè)節(jié)點(diǎn)中的第一節(jié)點(diǎn)表示集群,并且多個(gè)邊緣中的邊緣表示多個(gè)節(jié)點(diǎn)中的節(jié)點(diǎn)的相交,響應(yīng)于用戶動(dòng)作選擇并拖動(dòng)第一節(jié)點(diǎn),以及響應(yīng)于選擇并拖動(dòng)第一節(jié)點(diǎn)的用戶動(dòng)作而重新定向交互式可視化。

提供用于患者的預(yù)測(cè)可視化的示例性系統(tǒng)和方法。在各種實(shí)施例中,系統(tǒng)包括映射和定位引擎。映射包括多個(gè)分組和分組的互連,每個(gè)分組具有共享生物學(xué)相似性的一個(gè)或多個(gè)患者成員,每個(gè)互連互連共享至少一個(gè)共同患者成員的分組,映射識(shí)別具有一組醫(yī)學(xué)特征的醫(yī)學(xué)特征的一組分組和一組互連。定位引擎可以被配置成確定新患者是否與每個(gè)分組的一個(gè)或多個(gè)患者成員共享生物學(xué)相似性,從而使能新患者與該組醫(yī)學(xué)特征中的一個(gè)或多個(gè)相關(guān)聯(lián)。

生物學(xué)相似性可以表示基因表達(dá)的測(cè)量的相似性或測(cè)序的相似性。

在一些實(shí)施例中,映射由分析服務(wù)器生成,該分析服務(wù)器被配置成接收與一個(gè)或多個(gè)患者成員相關(guān)聯(lián)的生物學(xué)數(shù)據(jù),應(yīng)用濾波函數(shù)以生成參考空間,基于分辨率生成參考空間的覆蓋,該覆蓋包含與濾波的生物學(xué)數(shù)據(jù)相關(guān)聯(lián)的覆蓋數(shù)據(jù),基于量度使覆蓋數(shù)據(jù)聚類,并且基于集群顯示分組和互連。濾波函數(shù)可以為密度估計(jì)函數(shù)。量度可以是Pearson相關(guān)。

被配置成確定新患者是否與每個(gè)分組的一個(gè)或多個(gè)患者成員共享生物學(xué)相似性的定位引擎可以包括患者定位引擎,所述患者定位引擎被配置成確定在每個(gè)患者成員的生物學(xué)數(shù)據(jù)和新患者的新生物學(xué)數(shù)據(jù)之間的距離,比較在每個(gè)分組的患者成員之間的距離和針對(duì)新患者確定的距離,并且確定新患者相對(duì)于患者成員中的至少一個(gè)的定位。

在一些實(shí)施例中,定位引擎可以進(jìn)一步被配置成將到最接近新患者的濾波的生物學(xué)數(shù)據(jù)的一個(gè)或多個(gè)患者成員的距離與至少一個(gè)分組的直徑比較,并且基于該比較指示新患者與分組相關(guān)聯(lián)。在各種實(shí)施例中,定位引擎進(jìn)一步被配置成確定至最接近新患者的濾波的生物學(xué)數(shù)據(jù)的一個(gè)或多個(gè)患者成員的距離是否大于每個(gè)分組的直徑,并且基于該比較指示新患者不與每個(gè)分組相關(guān)聯(lián)。

該醫(yī)學(xué)特征可以包括臨床結(jié)果。

示例性方法包括接收新患者的生物學(xué)數(shù)據(jù),確定映射的患者成員的生物學(xué)數(shù)據(jù)與來(lái)自新患者的新生物學(xué)數(shù)據(jù)之間的距離,該映射包含多個(gè)分組和分組的互連,每個(gè)分組具有共享生物學(xué)相似性的一個(gè)或多個(gè)患者成員,每個(gè)互連將共享至少一個(gè)共同患者成員的分組互連,映射識(shí)別具有一組醫(yī)學(xué)特征的醫(yī)學(xué)特征的一組分組和一組互連,比較在一個(gè)或多個(gè)患者成員之間的距離和針對(duì)新患者確定的距離,并且基于該比較確定新患者相對(duì)于映射的患者成員的定位,從而使能新患者與該組醫(yī)學(xué)特征中的一個(gè)或多個(gè)相關(guān)聯(lián)。

示例性計(jì)算機(jī)可讀介質(zhì)可以包括指令。該指令可以由處理器執(zhí)行以執(zhí)行方法。該方法可以包括接收新患者的生物學(xué)數(shù)據(jù),確定映射的患者成員的生物學(xué)數(shù)據(jù)與來(lái)自新患者的新生物學(xué)數(shù)據(jù)之間的距離,該映射包含多個(gè)分組和分組的互連,每個(gè)分組具有共享生物學(xué)相似性的一個(gè)或多個(gè)患者成員,每個(gè)互連將共享至少一個(gè)共同患者成員的分組互連,該映射識(shí)別具有一組醫(yī)學(xué)特征的醫(yī)學(xué)特征的一組分組和一組互連,比較在一個(gè)或多個(gè)患者成員之間的距離和針對(duì)新患者被確定的距離,并且基于該比較確定新患者相對(duì)于映射的患者成員的定位,從而使能新患者與該組醫(yī)學(xué)特征中的一個(gè)或多個(gè)相關(guān)聯(lián)。

附圖說(shuō)明

圖1a為表示似乎被劃分為三個(gè)不連通的組的數(shù)據(jù)的示例圖。

圖1b為表示從Lotka-Volterra方程獲得的數(shù)據(jù)集的示例圖,該Lotka-Volterra方程隨時(shí)間建模捕食者和獵物的群體。

圖1c為數(shù)據(jù)集的示例圖,其中數(shù)據(jù)未被劃分為不連通的組,而是具有其中存在從中心組發(fā)出線(或散光)的結(jié)構(gòu)。

圖2為實(shí)施例可以被實(shí)施的示例性環(huán)境。

圖3為示例性分析服務(wù)器的框圖。

圖4為描繪在一些實(shí)施例中的數(shù)據(jù)集分析和可視化的示例性方法的流程圖。

圖5為在一些實(shí)施例中的示例性ID字段選擇界面窗口。

圖6a為在一些實(shí)施例中的示例性數(shù)據(jù)字段選擇界面窗口。

圖6b為在一些實(shí)施例中的示例性量度和濾波器選擇界面窗口。

圖7為在一些實(shí)施例中的示例性濾波器參數(shù)界面窗口。

圖8為在一些實(shí)施例中的用于數(shù)據(jù)分析和生成可視化的流程圖。

圖9為在一些實(shí)施例中的示例性交互式可視化。

圖10為在一些實(shí)施例中的顯示解釋信息窗口的示例性交互式可視化。

圖11為在一些實(shí)施例中的交互式可視化的功能的流程圖。

圖12為在一些實(shí)施例中的利用多個(gè)患者的生物學(xué)數(shù)據(jù)生成癌癥映射表可視化的流程圖。

圖13為在一些實(shí)施例中的示例性數(shù)據(jù)結(jié)構(gòu),其包含可以被用于生成癌癥映射表可視化的若干患者的生物學(xué)數(shù)據(jù)。

圖14為在一些實(shí)施例中的顯示癌癥映射表的示例性可視化。

圖15為在一些實(shí)施例中的用于相對(duì)于癌癥映射表可視化定位新患者數(shù)據(jù)的流程圖。

圖16為在一些實(shí)施例中的顯示包含三個(gè)新癌癥患者的位置的癌癥映射表的示例性可視化。

圖17為在一些實(shí)施例中的利用新患者數(shù)據(jù)的定位和可視化的流程圖。

圖18為具有透鏡生成模塊和圖(graph)布局引擎的示例性分析服務(wù)器的框圖。

圖19示出在一些實(shí)施例中的透鏡發(fā)生器模塊。

圖20為在一些實(shí)施例中的用于透鏡生成的流程圖。

圖21為在有限量度空間中的界標(biāo)(landmark)的示例描繪。

圖22示出在界標(biāo)i和j之間的邊緣。

圖23示出不連通的集群(cluster)圖的組元C1、C2和C3

圖24示出具有在組元C2中的界標(biāo)k和在組元C1中的界標(biāo)e之間添加的邊緣的集群圖。

圖25示出在一些實(shí)施例中的具有在組元C1、C2和C3之間添加的邊緣的集群圖。

圖26為在一些實(shí)施例中的布局引擎的框圖。

圖27為在一些實(shí)施例中的用于初始圖布局的方法的流程圖。

圖28為在一些實(shí)施例中的用于調(diào)節(jié)圖布局的方法的流程圖。

圖29示出根據(jù)各種實(shí)施例的示例性界標(biāo)模塊,其被配置成識(shí)別逼近或表示數(shù)據(jù)點(diǎn)較大集合的界標(biāo)點(diǎn)。

圖30為示出在一些實(shí)施例中的用于從數(shù)據(jù)集生成一組界標(biāo)點(diǎn)的示例性方法的流程圖。

圖31A示出根據(jù)各種實(shí)施例的含有數(shù)據(jù)的示例性量度空間。

圖31B示出根據(jù)一些實(shí)施例的由個(gè)體數(shù)據(jù)點(diǎn)組成的子集。

圖31C示出已從子集隨機(jī)選擇的示例性隨機(jī)界標(biāo)R1、R2、R3和R4。

圖31D示出對(duì)應(yīng)于三個(gè)點(diǎn)(P1、P2和P3)到每個(gè)界標(biāo)的數(shù)據(jù)點(diǎn)距離的直線。

圖32A示出在點(diǎn)P1和隨機(jī)界標(biāo)R1、R2、R3和R4之間的示例性數(shù)據(jù)點(diǎn)距離。

圖32B示出在點(diǎn)P2和隨機(jī)界標(biāo)R1、R2、R3和R4之間的示例性距離。

圖32C示出存儲(chǔ)每個(gè)點(diǎn)的距離的示例性表格。

圖33a示出點(diǎn)P1、P2和P3至界標(biāo)R1的示例性界標(biāo)距離,該距離可以被用于展示附加界標(biāo)點(diǎn)的選擇。

圖33b示出從每個(gè)非界標(biāo)點(diǎn)至界標(biāo)點(diǎn)的最短距離(或至最近界標(biāo)的距離)的表格。

圖33c示出作為新MM界標(biāo)點(diǎn)L1的點(diǎn)P2。

圖33d示出具有作為現(xiàn)有界標(biāo)的L1的子集,其中在各個(gè)點(diǎn)之間的距離已被計(jì)算。

圖34示出點(diǎn)的散布圖的可視化(即,地面實(shí)測(cè))。

圖35示出LSNE透鏡的散布圖的可視化。

圖36示出LSNE透鏡的散布圖的可視化。

圖37為在一些實(shí)施例中的示例性數(shù)字裝置。

具體實(shí)施方式

本文所述的一些實(shí)施例可以是拓?fù)鋽?shù)據(jù)分析(TDA)的主題的一部分。TDA為已產(chǎn)生的從幾何角度研究點(diǎn)云數(shù)據(jù)集的方法的研究領(lǐng)域。其它數(shù)據(jù)分析技術(shù)使用各種類型的“模型近似”。例如,回歸方法將數(shù)據(jù)建模為一個(gè)或多個(gè)變量的函數(shù)的圖。遺憾的是,某些定性屬性(在數(shù)據(jù)為二維時(shí)很容易觀察到的)對(duì)于理解可能是十分重要的,并且這些特征可能不容易在此類模型內(nèi)被表示。

圖1a為表示似乎被劃分為三個(gè)不連通的組的數(shù)據(jù)的示例圖。在該示例中,用于該圖的數(shù)據(jù)可以與關(guān)于不同群體組的各種物理特性或關(guān)于不同形式的疾病的生物醫(yī)學(xué)數(shù)據(jù)相關(guān)聯(lián)??吹綌?shù)據(jù)以此方式被劃分成組,一旦了解什么來(lái)表征組,就可以深入了解數(shù)據(jù)。

圖1b為表示從Lotka-Volterra方程獲得的數(shù)據(jù)集的示例圖,該Lotka-Volterra方程隨時(shí)間建模捕食者和獵物的群體。從圖1b可知,關(guān)于該數(shù)據(jù)的一個(gè)觀察為其被布置在循環(huán)中。該循環(huán)不是完全圓形的,而是拓?fù)渖系膱A。而有趣的是,公式的確切形式可能不如反映潛在現(xiàn)象是反復(fù)發(fā)生的或周期性的事實(shí)的該定性觀察重要。在尋找周期性或反復(fù)發(fā)生的現(xiàn)象時(shí),可開(kāi)發(fā)出能夠檢測(cè)循環(huán)的存在而無(wú)需定義明確模型的方法。例如,周期性可以是可檢測(cè)的,而不必首先開(kāi)發(fā)出完全準(zhǔn)確的動(dòng)態(tài)模型。

圖1c為數(shù)據(jù)集的示例圖,該數(shù)據(jù)未被劃分為不連通的組,而是具有其中存在從中心組發(fā)出線(或散光(flare))的結(jié)構(gòu)。在此情況下,數(shù)據(jù)也表明存在三個(gè)不同的組,但是數(shù)據(jù)的連通性未反映這點(diǎn)。作為圖1c中的示例圖的基礎(chǔ)的該特定數(shù)據(jù)從單核苷酸多態(tài)性(SNP)的研究產(chǎn)生。

在上述示例的每個(gè)示例中,數(shù)據(jù)的形狀的各方面與反映關(guān)于數(shù)據(jù)的信息相關(guān)。連通性(形狀的最簡(jiǎn)單的屬性)反映數(shù)據(jù)被離散分類成不同的組的存在。作為形狀的另一簡(jiǎn)單方面,循環(huán)的存在往往反映周期性或反復(fù)發(fā)生的特性。最后,在第三示例中,含有散光的形狀暗示描述其中現(xiàn)象可以偏離規(guī)范(norm)的方式的數(shù)據(jù)分類,該標(biāo)準(zhǔn)通常由中心核表示。這些示例支持?jǐn)?shù)據(jù)的形狀(合適定義的)是其結(jié)構(gòu)的重要方面的理念,并且因此對(duì)開(kāi)發(fā)用于分析和理解其形狀的方法是很重要的。關(guān)于形狀的研究的數(shù)學(xué)部分被稱為拓?fù)鋵W(xué),并且拓?fù)鋽?shù)據(jù)分析試圖適應(yīng)用于研究形狀的方法,該方法已在純數(shù)學(xué)中發(fā)展以研究合適定義的數(shù)據(jù)的形狀。

一個(gè)問(wèn)題是幾何形狀或形狀的概念如何轉(zhuǎn)換為關(guān)于終究是有限集的點(diǎn)云的信息?通過(guò)形狀或幾何形狀我們所想要的可以來(lái)自相異度(dissimilarity)函數(shù)或量度(例如,在數(shù)據(jù)集中的點(diǎn)對(duì)集合上的非負(fù)的、對(duì)稱的實(shí)值函數(shù)d,其也可以滿足三角不等式,并且當(dāng)且僅當(dāng)x=y(tǒng)時(shí),d(x;y)=0)。此類函數(shù)大量存在于許多數(shù)據(jù)集。例如,在數(shù)據(jù)以數(shù)值矩陣的形式出現(xiàn)時(shí),其中行對(duì)應(yīng)于數(shù)據(jù)點(diǎn)并且列為描述數(shù)據(jù)的字段,在存在n個(gè)字段時(shí),n維歐幾里得(Euclidean)距離函數(shù)是自然的。類似地,在該示例中,存在Pearson相關(guān)距離、余弦距離以及其它選項(xiàng)。

當(dāng)數(shù)據(jù)不是歐幾里得時(shí),例如如果在考慮基因序列,各種距離的概念可以使用基于基本局部比對(duì)(Basic Local Alignment)搜索工具(BLAST)類型相似性得分的相似性測(cè)量來(lái)定義。此外,相似性測(cè)量可以以非數(shù)值的形式出現(xiàn),諸如朋友的社交網(wǎng)絡(luò)或愛(ài)好、購(gòu)買(mǎi)模式、推特(tweeting)和/或職業(yè)興趣的相似性。通過(guò)建立數(shù)據(jù)點(diǎn)的相似性的有用概念,形狀的概念可以用這些方式中的任一種來(lái)公式表示(formulate)。

TDA的優(yōu)點(diǎn)之一在于,它可能取決于無(wú)非這樣一種概念,它是非常原始或低級(jí)的模型。它可能比例如標(biāo)準(zhǔn)線性或代數(shù)模型依賴少的多的假設(shè)。此外,該方法學(xué)可以提供可視化和壓縮數(shù)據(jù)集的新方式,這有助于理解和監(jiān)測(cè)數(shù)據(jù)。該方法學(xué)可以能夠研究不同的數(shù)據(jù)集之間的相互關(guān)系和/或研究數(shù)據(jù)集的多尺度/多分辨率。此外,該方法學(xué)可以使用點(diǎn)和點(diǎn)擊方法實(shí)現(xiàn)在數(shù)據(jù)分析中的交互性。

TDA可能是對(duì)更傳統(tǒng)方法(諸如主成分分析(PCA)、多維縮放和分層聚類)的非常有用的補(bǔ)充。這些現(xiàn)有方法往往是十分有用的,但是也存在明顯的局限性。例如,PCA是基本上線性的程序并且因此存在其在高度非線性情況下使用的局限性。多維縮放是本質(zhì)上不是線性的,但是在許多情況下可以清除細(xì)節(jié)的方法,因?yàn)樗梢约哟a(overweight)大距離。此外,在量度不滿足內(nèi)在平坦度條件時(shí),忠實(shí)地表示數(shù)據(jù)可能有困難。分層聚類未表現(xiàn)出多尺度特性,但是表示僅作為不相交的集群的數(shù)據(jù),而非保持?jǐn)?shù)據(jù)集的任何幾何形狀。在所有四種情況下,這些限制對(duì)許多不同類型的數(shù)據(jù)是要緊的。

我們現(xiàn)在匯總示例構(gòu)造的示例特性,在一些實(shí)施例中,其可以作為有限圖被用于以有用、可理解的方式表示數(shù)據(jù)集的形狀:

●輸入可以是以某些方式配備有距離或相異性函數(shù)或其它描述的數(shù)據(jù)點(diǎn)的集合。這可以在數(shù)據(jù)是矩陣的形式或者明確地作為距離的矩陣或作為甚至數(shù)學(xué)網(wǎng)絡(luò)的生成邊時(shí)隱含地給出。

●一種構(gòu)造還可以使用一個(gè)或多個(gè)透鏡函數(shù)(即,數(shù)據(jù)上的實(shí)值函數(shù))。(多個(gè))透鏡函數(shù)可以直接取決于量度。例如,(多個(gè))透鏡函數(shù)可以是中心或數(shù)據(jù)深度的測(cè)量或密度估計(jì)器的結(jié)果。在一些實(shí)施例中,(多個(gè))透鏡函數(shù)可取決于數(shù)據(jù)的特定表示,如當(dāng)使用主成分或多維縮放分析時(shí)的第一或兩個(gè)坐標(biāo)時(shí)。在一些實(shí)施例中,(多個(gè))透鏡函數(shù)可以是專家知識(shí)識(shí)別為內(nèi)在感興趣的列,如在心臟疾病的研究中的膽固醇水平和BMI中。

●在一些實(shí)施例中,構(gòu)造可以取決于兩個(gè)或多個(gè)處理參數(shù)、分辨率和增益的選擇。分辨率的增加通常產(chǎn)生更多的節(jié)點(diǎn)并且增益的增加使在參考空間中的可視化和/或圖的邊緣的數(shù)量增加,如本文進(jìn)一步所述。

●輸出可以是例如可視化(例如,連接節(jié)點(diǎn)或“網(wǎng)絡(luò)”的顯示)或單純復(fù)合體。在一個(gè)實(shí)施例中,一個(gè)特定組合形式可以是,頂點(diǎn)形成有限集,并且然后附加結(jié)構(gòu)可以是被描繪為該網(wǎng)絡(luò)中的連接的邊緣(無(wú)序頂點(diǎn)對(duì))的集合。

在各種實(shí)施例中,本文描述用于使用與基于文本的方法相反的拖放方法處理、分析和可視化數(shù)據(jù)的系統(tǒng)。在哲學(xué)上,數(shù)據(jù)分析工具不一定被視為“解算器”,而是作為與數(shù)據(jù)交互的工具。例如,數(shù)據(jù)分析可以由過(guò)程的若干迭代組成,在所述過(guò)程中,計(jì)算工具指向數(shù)據(jù)集中的感興趣的區(qū)域。然后,數(shù)據(jù)集可以被具有關(guān)于該數(shù)據(jù)的領(lǐng)域?qū)I(yè)知識(shí)的人檢查,然后,可以對(duì)數(shù)據(jù)集進(jìn)行進(jìn)一步的計(jì)算分析。在一些實(shí)施例中,本文所述的方法提供了用于在一方面包含交互式可視化(例如,圖)和另一方面包含數(shù)據(jù)的數(shù)學(xué)構(gòu)建體之間徘徊。

在本文所述的一些實(shí)施例中的數(shù)據(jù)分析的一個(gè)示例中,論述了示例性聚類工具,其可以比現(xiàn)有技術(shù)更有力,這在于可以發(fā)現(xiàn)集群內(nèi)的結(jié)構(gòu)并研究集群如何隨著時(shí)間段改變或隨著尺度或分辨率的變化而改變。

示例性交互式可視化工具(例如,在本文中進(jìn)一步描述的可視化模塊)可以用可以易于可視化的圖的形式產(chǎn)生組合輸出。在一些實(shí)施例中,相比于現(xiàn)有方法諸如多維縮放,示例性交互式可視化工具可以對(duì)距離概念的變化不敏感。

本文所述的一些實(shí)施例允許操縱來(lái)自可視化的數(shù)據(jù)。例如,來(lái)自可視化的被認(rèn)為感興趣的數(shù)據(jù)的部分可以被選擇并被轉(zhuǎn)換為數(shù)據(jù)庫(kù)對(duì)象,然后其可以進(jìn)行進(jìn)一步被分析。本文所述的一些實(shí)施例允許在可視化內(nèi)定位感興趣的數(shù)據(jù)點(diǎn),使得可以很容易理解在給定可視化和可視化表示的信息之間的連接。

圖2為可以在其中實(shí)施各實(shí)施例的示例性環(huán)境200。在各種實(shí)施例中,數(shù)據(jù)分析和交互式可視化可以本地地(例如,利用本地?cái)?shù)字裝置上的軟件和/或硬件)、通過(guò)網(wǎng)絡(luò)(例如,經(jīng)由云計(jì)算)或通過(guò)兩者的組合來(lái)執(zhí)行。在這些實(shí)施例的許多實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)被訪問(wèn)以獲得用于分析的數(shù)據(jù),基于用戶所選的屬性和參數(shù)來(lái)執(zhí)行分析,并且生成并顯示交互式可視化。存在在本地執(zhí)行全部或一些活動(dòng)之間的許多優(yōu)點(diǎn)和通過(guò)網(wǎng)絡(luò)執(zhí)行全部或一些活動(dòng)的許多優(yōu)點(diǎn)。

環(huán)境200包括用戶裝置202a-202n、通信網(wǎng)絡(luò)204、數(shù)據(jù)存儲(chǔ)服務(wù)器206和分析服務(wù)器208。環(huán)境200描繪其中通過(guò)網(wǎng)絡(luò)執(zhí)行功能的實(shí)施例。在該示例中,(多個(gè))用戶可以通過(guò)經(jīng)由通信網(wǎng)絡(luò)204在數(shù)據(jù)存儲(chǔ)服務(wù)器206中存儲(chǔ)數(shù)據(jù)來(lái)利用云計(jì)算。分析服務(wù)器208可以執(zhí)行分析并生成交互式可視化。

用戶裝置202a-202n可以為任何數(shù)字裝置。數(shù)字裝置是包括存儲(chǔ)器和處理器的任何裝置。數(shù)字裝置在圖2中進(jìn)一步被描述。用戶裝置202a-202n可以是可以被用于訪問(wèn)、分析和/或查看數(shù)據(jù)的任何類型的數(shù)字裝置,其包含但不限于臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)或其它計(jì)算裝置。

在各種實(shí)施例中,用戶(諸如數(shù)據(jù)分析員)可以利用用戶裝置202a生成將被保存到數(shù)據(jù)存儲(chǔ)服務(wù)器206的數(shù)據(jù)庫(kù)或其它數(shù)據(jù)結(jié)構(gòu)。用戶裝置202a可以經(jīng)由通信網(wǎng)絡(luò)204與分析服務(wù)器208通信以對(duì)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)執(zhí)行分析、檢查和可視化。

用戶裝置202a可以包括用于與分析服務(wù)器208上的一個(gè)或多個(gè)應(yīng)用交互的客戶端程序。在其它實(shí)施例中,用戶裝置202a可以使用瀏覽器或其它標(biāo)準(zhǔn)程序與分析服務(wù)器208通信。在各種實(shí)施例中,用戶裝置202a經(jīng)由虛擬專用網(wǎng)與分析服務(wù)器208通信。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在用戶裝置202a、數(shù)據(jù)存儲(chǔ)服務(wù)器206和/或分析服務(wù)器208之間的通信可以被加密或以其它方式確保安全。

通信網(wǎng)絡(luò)204可以為允許數(shù)字裝置通信的任何網(wǎng)絡(luò)。通信網(wǎng)絡(luò)204可以為互聯(lián)網(wǎng)和/或包含LAN和WAN。通信網(wǎng)絡(luò)204可以支持無(wú)線和/或有線通信。

數(shù)據(jù)存儲(chǔ)服務(wù)器206是被配置成存儲(chǔ)數(shù)據(jù)的數(shù)字裝置。在各種實(shí)施例中,數(shù)據(jù)存儲(chǔ)服務(wù)器206存儲(chǔ)數(shù)據(jù)庫(kù)和/或其它數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)存儲(chǔ)服務(wù)器206可以是單個(gè)服務(wù)器或服務(wù)器的組合。在一個(gè)示例中,數(shù)據(jù)存儲(chǔ)服務(wù)器206可以為安全服務(wù)器,其中用戶可以通過(guò)安全連接(例如,經(jīng)由https)來(lái)存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)可以被加密和備份。在一些實(shí)施例中,數(shù)據(jù)存儲(chǔ)服務(wù)器206由第三方,諸如Amazon的S3服務(wù)來(lái)運(yùn)行。

數(shù)據(jù)庫(kù)或其它數(shù)據(jù)結(jié)構(gòu)可以包括大的高維數(shù)據(jù)集。這些數(shù)據(jù)集按傳統(tǒng)方式很難進(jìn)行分析,并且因此,數(shù)據(jù)內(nèi)的關(guān)系通過(guò)使用先前的方法可能是不可識(shí)別的。此外,先前的方法在計(jì)算上可能是低效的。

分析服務(wù)器208是可以被配置成分析數(shù)據(jù)的數(shù)字裝置。在各種實(shí)施例中,分析服務(wù)器可以執(zhí)行函數(shù)以解譯、檢查、分析并顯示數(shù)據(jù)和/或數(shù)據(jù)內(nèi)的關(guān)系。在一些實(shí)施例中,通過(guò)應(yīng)用由用戶選擇的量度、濾波器和分辨率參數(shù),分析服務(wù)器208至少部分地執(zhí)行大數(shù)據(jù)集的拓?fù)浞治?。該分析在本文的圖8中進(jìn)一步論述。

分析服務(wù)器208可以生成分析的輸出的交互式可視化。該交互式可視化允許用戶觀察和探索數(shù)據(jù)中的關(guān)系。在各種實(shí)施例中,交互式可視化允許用戶選擇包括已被聚類的數(shù)據(jù)的節(jié)點(diǎn)。然后,用戶可以訪問(wèn)底層數(shù)據(jù)、對(duì)底層數(shù)據(jù)執(zhí)行進(jìn)一步的分析(例如,統(tǒng)計(jì)分析)并手動(dòng)重新定向在交互式可視化內(nèi)的(多個(gè))圖(例如,本文所述的節(jié)點(diǎn)和邊緣的結(jié)構(gòu))。分析服務(wù)器208也可以允許用戶與數(shù)據(jù)交互、查看圖形結(jié)果。交互式可視化在圖9-11中進(jìn)一步論述。

在一些實(shí)施例中,分析服務(wù)器208通過(guò)專用和/或安全通信網(wǎng)絡(luò)與(多個(gè))用戶裝置202a-202n交互。用戶裝置202a可以包括允許用戶與數(shù)據(jù)存儲(chǔ)服務(wù)器206、分析服務(wù)器208、另一用戶裝置(例如,用戶裝置202n)、數(shù)據(jù)庫(kù)和/或在分析服務(wù)器208上執(zhí)行的分析應(yīng)用交互的客戶端程序。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,全部或部分?jǐn)?shù)據(jù)分析可以在用戶裝置202a處發(fā)生。此外,與可視化的全部或部分交互(例如,圖形)可以在用戶裝置202a上進(jìn)行。

雖然描繪兩個(gè)用戶裝置202a和202n,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以在任何位置中(例如,彼此遠(yuǎn)離)存在任意數(shù)量的用戶裝置。類似地,可以存在任何數(shù)量的通信網(wǎng)絡(luò)、數(shù)據(jù)存儲(chǔ)服務(wù)器和分析服務(wù)器。

云計(jì)算可以允許通過(guò)更快的連接更多地訪問(wèn)大數(shù)據(jù)集(例如,經(jīng)由商業(yè)存儲(chǔ)服務(wù))。此外,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,提供給(多個(gè))用戶的服務(wù)和計(jì)算資源可以是可擴(kuò)展的。

圖3為示例性分析服務(wù)器208的框圖。在示例性實(shí)施例中,分析服務(wù)器208包括處理器302、輸入/輸出(I/O)接口304、通信網(wǎng)絡(luò)接口306、存儲(chǔ)器系統(tǒng)308、存儲(chǔ)系統(tǒng)310和處理模塊312。處理器302可以包括任何處理器或具有一個(gè)或多個(gè)核的處理器的組合。

輸入/輸出(I/O)裝置304可以包括用于各種I/O裝置,諸如例如鍵盤(pán)、鼠標(biāo)和顯示裝置的接口。示例性通信網(wǎng)絡(luò)接口306被配置成允許分析服務(wù)器208與通信網(wǎng)絡(luò)204通信(參見(jiàn)圖2)。通信網(wǎng)絡(luò)接口306可以通過(guò)以太網(wǎng)連接、串聯(lián)連接、并聯(lián)連接和/或ATA連接支持通信。通信網(wǎng)絡(luò)接口306還可以支持無(wú)線通信(例如,802.11a/b/g/n,WiMax,LTE,WiFi)。對(duì)于本領(lǐng)域的技術(shù)人員將是明顯的是,通信網(wǎng)絡(luò)接口306可以支持許多有線和無(wú)線標(biāo)準(zhǔn)。

存儲(chǔ)器系統(tǒng)308可以是包含RAM、ROM或閃存、高速緩沖存儲(chǔ)器、虛擬存儲(chǔ)器等的任何類型的存儲(chǔ)器。在各種實(shí)施例中,工作數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器系統(tǒng)308內(nèi)。在存儲(chǔ)器系統(tǒng)308內(nèi)的數(shù)據(jù)可以被清除或最終被轉(zhuǎn)移到存儲(chǔ)系統(tǒng)310。

存儲(chǔ)系統(tǒng)310包含被配置成接收并存儲(chǔ)數(shù)據(jù)的任何存儲(chǔ)裝置。存儲(chǔ)系統(tǒng)310的一些示例包含閃存驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器和/或磁帶。存儲(chǔ)器系統(tǒng)308和存儲(chǔ)系統(tǒng)310中的每個(gè)包括計(jì)算機(jī)可讀介質(zhì),其存儲(chǔ)可由處理器302執(zhí)行的指令(例如,軟件程序)。

存儲(chǔ)系統(tǒng)310包括由本文所論述的實(shí)施例所使用的多個(gè)模塊。模塊可以為硬件、軟件(例如,包含可由處理器執(zhí)行的指令)或兩者的組合。在一個(gè)實(shí)施例中,存儲(chǔ)系統(tǒng)310包括處理模塊312,所述處理模塊312包括輸入模塊314、過(guò)濾模塊316、分辨率模塊318、分析模塊320、可視化引擎322和數(shù)據(jù)庫(kù)存儲(chǔ)324。分析服務(wù)器208和/或存儲(chǔ)系統(tǒng)310的可替代示例可以包括更多、更少或功能等同的組件和模塊。

輸入模塊314可以被配置成從用戶裝置202a接收命令和偏好。在各種示例中,輸入模塊314從用戶接收將被用于執(zhí)行分析的選擇。分析的輸出可為交互式可視化。

輸入模塊314可以向用戶提供各種界面窗口,從而允許用戶選擇并訪問(wèn)數(shù)據(jù)庫(kù)、選擇與數(shù)據(jù)庫(kù)相關(guān)聯(lián)的字段、選擇量度、選擇一或多個(gè)濾波器并且識(shí)別用于分析的分辨率參數(shù)。在一個(gè)示例中,輸入模塊314接收數(shù)據(jù)庫(kù)標(biāo)識(shí)符并訪問(wèn)大的多維數(shù)據(jù)庫(kù)。輸入模塊314可以掃描數(shù)據(jù)庫(kù)并向用戶提供允許用戶識(shí)別ID字段的界面窗口。ID字段是用于每個(gè)數(shù)據(jù)點(diǎn)的標(biāo)識(shí)符。在一個(gè)示例中,標(biāo)識(shí)符是唯一的。相同的列名稱可以存在于從其選擇濾波器的表格中。在ID字段被選擇之后,輸入模塊314然后可以向用戶提供另一界面窗口以允許用戶從數(shù)據(jù)庫(kù)的表格選擇一個(gè)或多個(gè)數(shù)據(jù)字段。

雖然本文可以描述交互式窗口,但是本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,任何窗口、圖形用戶界面和/或命令行可以被用于接收信息或向用戶或用戶裝置202a提示信息。

濾波器模塊316可以隨后向用戶提供界面窗口以允許用戶選擇待用于對(duì)所選數(shù)據(jù)字段內(nèi)的數(shù)據(jù)進(jìn)行分析的量度。濾波器模塊316還可以允許用戶選擇和/或定義一或多個(gè)濾波器。

分辨率模塊218可以允許用戶選擇分辨率,其包含濾波器參數(shù)。在一個(gè)示例中,用戶輸入用于濾波器的多個(gè)區(qū)間和重疊百分比。

分析模塊320可以基于數(shù)據(jù)庫(kù)和由用戶提供的信息執(zhí)行數(shù)據(jù)分析。在各種實(shí)施例中,分析模塊320執(zhí)行代數(shù)拓?fù)浞治鲆宰R(shí)別數(shù)據(jù)和數(shù)據(jù)集群內(nèi)的結(jié)構(gòu)和關(guān)系。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,分析模塊320可以使用并行算法或使用各種統(tǒng)計(jì)技術(shù)的歸納(例如,歸納自舉(bootstrap)至“之”字形(zig-zag)方法)以增加可以被處理的數(shù)據(jù)集的大小。該分析在圖8中進(jìn)一步論述。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,分析模塊320不局限于代數(shù)拓?fù)浞治龆强梢詧?zhí)行任何分析。

可視化引擎322生成包含來(lái)自分析模塊320的輸出的交互式可視化。交互式可視化允許用戶以圖形化方式查看全部或部分分析。交互式可視化還允許用戶與可視化交互。例如,用戶可以從可視化內(nèi)選擇圖的部分以查看底層數(shù)據(jù)和/或底層分析和/或與底層數(shù)據(jù)和/或底層分析交互。接著用戶可以改變分析的參數(shù)(例如,改變量度、(多個(gè))濾波器或(多個(gè))分辨率),這允許用戶可視地識(shí)別使用先前手段以其他方式可能是檢測(cè)不到的數(shù)據(jù)中的關(guān)系。交互式可視化在圖9-11中進(jìn)一步描述。

數(shù)據(jù)庫(kù)存儲(chǔ)324被配置成存儲(chǔ)正被訪問(wèn)的全部或部分?jǐn)?shù)據(jù)庫(kù)。在一些實(shí)施例中,數(shù)據(jù)庫(kù)存儲(chǔ)324可以存儲(chǔ)數(shù)據(jù)庫(kù)的保存部分。此外,數(shù)據(jù)庫(kù)存儲(chǔ)324可以被用于存儲(chǔ)用戶偏好、參數(shù)和分析輸出,從而允許用戶在數(shù)據(jù)庫(kù)上執(zhí)行許多不同功能而不丟失先前的工作。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,全部或部分的處理模塊312可以位于用戶裝置202a或數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器206。在一些實(shí)施例中,處理模塊312的全部或部分功能可以由用戶裝置202a執(zhí)行。

在各種實(shí)施例中,本文所論述的系統(tǒng)和方法可以利用一個(gè)或多個(gè)數(shù)字裝置來(lái)實(shí)現(xiàn)。在一些示例中,本文所述的一些實(shí)施例可以通過(guò)由處理器執(zhí)行的計(jì)算機(jī)程序(指令)來(lái)實(shí)現(xiàn)。計(jì)算機(jī)程序可以提供圖形用戶界面。雖然論述了此類計(jì)算機(jī)程序,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,各實(shí)施例可以單獨(dú)或組合使用下列中的任何來(lái)執(zhí)行:包含但不限于計(jì)算機(jī)程序、多個(gè)計(jì)算機(jī)程序、固件和/或硬件。

模塊和/或引擎可以包括任何處理器或處理器的組合。在一些示例中,模塊和/或引擎可以包括處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、集成電路等或是其一部分。在各種實(shí)施例中,模塊和/或引擎可以為軟件或固件。

圖4為示出在一些實(shí)施例中進(jìn)行數(shù)據(jù)集分析和可視化的示例性方法的流程圖400。在步驟402中,輸入模塊314訪問(wèn)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)可以是含有數(shù)據(jù)的任何數(shù)據(jù)結(jié)構(gòu)(例如,非常大的多維數(shù)據(jù)的數(shù)據(jù)集)。在一些實(shí)施例中,數(shù)據(jù)庫(kù)可以為關(guān)系數(shù)據(jù)庫(kù)。在一些示例中,關(guān)系數(shù)據(jù)庫(kù)可以利用MySQL、Oracle、Micosoff SQL Server、Aster nCluster、Teradata和/或Vertica來(lái)使用。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,數(shù)據(jù)庫(kù)可以不是關(guān)系數(shù)據(jù)庫(kù)。

在一些實(shí)施例中,輸入模塊314從用戶裝置202a接收數(shù)據(jù)庫(kù)標(biāo)識(shí)符和數(shù)據(jù)庫(kù)的位置(例如,數(shù)據(jù)存儲(chǔ)服務(wù)器206)(參見(jiàn)圖2)。輸入模塊314可以接著訪問(wèn)識(shí)別的數(shù)據(jù)庫(kù)。在各種實(shí)施例中,輸入模塊314可以從許多不同的源讀取數(shù)據(jù),該源包含但不限于MS Excel文件、文本文件(例如,分隔的(delimited)或CSV)、Matlab.mat格式或任何其它文件。

在一些實(shí)施例中,輸入模塊314接收托管數(shù)據(jù)庫(kù)的服務(wù)器的IP地址或主機(jī)名、用戶名、密碼和數(shù)據(jù)庫(kù)標(biāo)識(shí)符。該信息(在本文中,被稱為“連接信息”)可以被緩存以供以后使用。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,數(shù)據(jù)庫(kù)可以被本地訪問(wèn),并且可能需要全部、部分的連接信息或完全不需要連接信息。在一個(gè)示例中,用戶裝置202a可以對(duì)本地存儲(chǔ)在用戶裝置202a上的數(shù)據(jù)庫(kù)具有完全訪問(wèn)權(quán),因此IP地址是不必要的。在另一示例中,用戶裝置202a可以已加載數(shù)據(jù)庫(kù),因此,輸入模塊314僅通過(guò)訪問(wèn)已加載的數(shù)據(jù)庫(kù)來(lái)開(kāi)始。

在各種實(shí)施例中,已識(shí)別的數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)在表格內(nèi)。表格可以具有“列規(guī)范”,其存儲(chǔ)列的名稱和它們的數(shù)據(jù)類型。在表格中的“行”可以為具有針對(duì)正確類型的每個(gè)列的一個(gè)條目的元組。在一個(gè)示例中,存儲(chǔ)員工記錄的表格可以具有諸如下述的列規(guī)范:

●Employee_id primary key int(這可以將員工的ID存儲(chǔ)為整數(shù),并唯一地識(shí)別行)

●age int

●gender char(1)(員工的性別可以是M或F中的任一者的單字符)

●salary double(員工的薪水可以是浮點(diǎn)數(shù))

●name varchar(員工的姓名可以是可變長(zhǎng)度字符串)

在該示例中,每個(gè)員工對(duì)應(yīng)于該表格中的行。此外,在該示例性關(guān)系數(shù)據(jù)庫(kù)中的表格被組織成稱為數(shù)據(jù)庫(kù)的邏輯單元。類似于文件系,統(tǒng)數(shù)據(jù)庫(kù)可以被認(rèn)為是文件夾和作為表格的文件。對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)可以由數(shù)據(jù)庫(kù)管理員通過(guò)分配用戶名/密碼對(duì)以驗(yàn)證用戶來(lái)控制。

一旦數(shù)據(jù)庫(kù)被訪問(wèn),輸入模塊314可以允許用戶訪問(wèn)先前存儲(chǔ)的分析或開(kāi)始新的分析。如果用戶開(kāi)始新分析,輸入模塊314可以向用戶裝置202a提供允許用戶從數(shù)據(jù)庫(kù)內(nèi)識(shí)別表格的界面窗口。在一個(gè)示例中,輸入模塊314從已識(shí)別的數(shù)據(jù)庫(kù)提供可用表格的列表。

在步驟404中,輸入模塊314接收識(shí)別數(shù)據(jù)庫(kù)內(nèi)的表格的表格標(biāo)識(shí)符。輸入模塊314可以接著根據(jù)表格標(biāo)識(shí)符向用戶提供可用ID字段的列表。在步驟406中,輸入模塊314從用戶和/或用戶裝置202a接收ID字段標(biāo)識(shí)符。在一些實(shí)施例中,ID字段是主鍵。

在已選擇主鍵之后,輸入模塊314可以生成新的界面窗口以允許用戶選擇數(shù)據(jù)字段用于分析。在步驟408中,輸入模塊314從用戶裝置202a接收數(shù)據(jù)字段標(biāo)識(shí)符。在數(shù)據(jù)字段內(nèi)的數(shù)據(jù)可以由分析模塊320以后分析。

在步驟410中,濾波器模塊316識(shí)別量度。在一些實(shí)施例中,濾波器模塊316和/或輸入模塊314生成允許用戶裝置202a的用戶選擇各種不同量度和濾波器偏好的界面窗口。該界面窗口可以為識(shí)別將在分析中使用的各種距離量度的下拉式菜單。量度選項(xiàng)可以包含但不限于歐幾里得、DB量度、方差標(biāo)準(zhǔn)化歐幾里得和完全標(biāo)準(zhǔn)化歐幾里得。該量度和分析在本文中進(jìn)一步描述。

在步驟412中,濾波器模塊316選擇一個(gè)或多個(gè)濾波器。在一些實(shí)施例中,用戶選擇(多個(gè))濾波器標(biāo)識(shí)符并將該(多個(gè))濾波器標(biāo)識(shí)符提供給濾波器模塊316。濾波器在分析中的作用也在本文中進(jìn)一步描述。例如,濾波器可以是用戶定義的幾何形狀或基于已被預(yù)處理的數(shù)據(jù)。在一些實(shí)施例中,基于數(shù)據(jù)的濾波器是數(shù)值陣列,其通常可以向表格中的每行或數(shù)據(jù)中的每個(gè)點(diǎn)分配一組實(shí)數(shù)。

各種幾何形狀的濾波器可以是可用的,以便用戶選擇。幾何形狀的濾波器包含但不限于:

●密度

●L1偏心率(Eccentricity)

●L-無(wú)窮大偏心率

●基于證據(jù)(witness)的密度

●基于證據(jù)的偏心率

●作為距固定點(diǎn)的距離的偏心率

●偏心率的近似尖峰值

在步驟414中,分辨率模塊218定義利用濾波器在分析中使用的分辨率。分辨率可以包括多個(gè)區(qū)間和重疊參數(shù)。在各種實(shí)施例中,分辨率模塊218允許用戶調(diào)節(jié)用于一個(gè)或多個(gè)濾波器的多個(gè)區(qū)間和重疊參數(shù)(例如,重疊百分比)。

在步驟416中,分析模塊320基于量度、(多個(gè))濾波器和(多個(gè))分辨率處理所選擇字段的數(shù)據(jù)以生成可視化。該處理在圖8中論述。

在步驟418中,可視化模塊322顯示交互式可視化。在各種實(shí)施例中,可視化可以在兩個(gè)或三個(gè)維度空間中被呈現(xiàn)??梢暬K322可以使用針對(duì)目標(biāo)函數(shù)的優(yōu)化算法,其與良好的可視化(例如,嵌入的能量)相關(guān)??梢暬梢允境鰧?duì)應(yīng)于分析輸出中的部分集群中的每個(gè)集群的節(jié)點(diǎn)的集合和如由輸出指定的連接它們的邊緣。交互式可視化在圖9-11中進(jìn)一步論述。

雖然許多示例討論作為提供界面窗口的輸入模塊314,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,全部或部分界面可以由用戶裝置202a上的客戶端提供。此外,在一些實(shí)施例中,用戶裝置202a可以運(yùn)行全部或部分的處理模塊212。

圖5-7示出各種界面窗口以允許用戶進(jìn)行選擇、輸入信息(例如,字段、量度和濾波器)、提供參數(shù)(例如,分辨率)并提供分析所使用的數(shù)據(jù)(例如,識(shí)別數(shù)據(jù)庫(kù))。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,任何圖形用戶界面或命令行可以被用于進(jìn)行選擇、輸入信息、提供參數(shù)并提供數(shù)據(jù)。

圖5為在一些實(shí)施例中的示例性ID字段選擇界面窗口500。ID字段選擇界面窗口500允許用戶識(shí)別ID字段。ID字段選擇界面窗口500包括表格搜索字段502、表格列表504和字段選擇窗口506。

在各種實(shí)施例中,輸入模塊314識(shí)別并訪問(wèn)來(lái)自數(shù)據(jù)庫(kù)存儲(chǔ)324、用戶裝置202a或數(shù)據(jù)存儲(chǔ)服務(wù)器206的數(shù)據(jù)庫(kù)。然后輸入模塊314可以生成ID字段選擇界面窗口500并且提供表格列表504中的所選數(shù)據(jù)庫(kù)的可用表格的列表。通過(guò)在表格搜索字段502中輸入搜索查詢(例如,關(guān)鍵字),用戶可以點(diǎn)擊表格或搜索表格。一旦表格被識(shí)別(例如,被用戶點(diǎn)擊),字段選擇窗口506就可以提供所選表格中的可用字段的列表。然后,用戶可以從字段選擇窗口506選擇字段作為ID字段。在一些實(shí)施例中,任何數(shù)量的字段可以被選擇為(多個(gè))ID字段。

圖6a為在一些實(shí)施例中的示例性數(shù)據(jù)字段選擇界面窗口600a。數(shù)據(jù)字段選擇界面窗口600a允許用戶識(shí)別數(shù)據(jù)字段。數(shù)據(jù)字段選擇界面窗口600a包括表格搜索字段502、表格列表504、字段選擇窗口602和選擇的窗口604。

在各種實(shí)施例中,在選擇ID字段之后,輸入模塊314提供表格列表504中的所選數(shù)據(jù)庫(kù)的可用表格的列表。通過(guò)在表格搜索字段502中輸入搜索查詢(例如,關(guān)鍵字),用戶可以點(diǎn)擊表格或搜索表格。一旦表格被識(shí)別(例如,被用戶點(diǎn)擊),字段選擇窗口506就可以提供所選擇表格中的可用字段的列表。然后,用戶可以將來(lái)自字段選擇窗口602的任何數(shù)量的字段選擇為數(shù)據(jù)字段。所選擇的數(shù)據(jù)字段可以出現(xiàn)在選擇的窗口604中。用戶還可以取消選擇出現(xiàn)在選擇的窗口604中的字段。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,由用戶在表格列表504中選擇的表格可以是關(guān)于圖5所選擇的相同的表格。然而,在一些實(shí)施例中,用戶可以選擇不同的表格。此外,在各種實(shí)施例中,用戶可以從各種不同的表格選擇字段。

圖6b為在一些實(shí)施例中的示例性量度和濾波器選擇界面窗口600b。量度和濾波器選擇界面窗口600b允許用戶識(shí)別量度、添加(多個(gè))濾波器并且調(diào)節(jié)濾波器參數(shù)。量度和濾波器選擇界面窗口600b包括量度下拉式菜單606、從數(shù)據(jù)庫(kù)添加濾波器按鈕608和添加幾何形狀濾波器按鈕610。

在各種實(shí)施例中,用戶可以點(diǎn)擊量度下拉式菜單606以查看各種量度選項(xiàng)。本文描述各種量度選項(xiàng)。在一些實(shí)施例中,用戶可以定義量度。然后,用戶所定義的量度可以與分析一起使用。

在一個(gè)示例中,有限量度空間數(shù)據(jù)可以從數(shù)據(jù)儲(chǔ)存庫(kù)(repository)(即,數(shù)據(jù)庫(kù)、電子表格或Matlab文件)構(gòu)建。這可以意味著選擇當(dāng)字段為浮點(diǎn)或整數(shù)變量時(shí)其條目將使用針對(duì)這些字段的標(biāo)準(zhǔn)歐幾里得量度來(lái)指定量度的字段的集合。其它距離的概念,諸如在點(diǎn)的集合之間的圖距離可以得到支持。

分析模塊320可以使用作為距離函數(shù)的一部分的量度來(lái)進(jìn)行分析。距離函數(shù)可以通過(guò)公式、距離矩陣或計(jì)算它的其它例程來(lái)表示。用戶可以通過(guò)點(diǎn)擊從數(shù)據(jù)庫(kù)添加濾波器按鈕608來(lái)添加來(lái)自數(shù)據(jù)庫(kù)的濾波器。量度空間可以從關(guān)系數(shù)據(jù)庫(kù)、Matlab文件、Excel電子表格或用于存儲(chǔ)和操縱數(shù)據(jù)的其它方法產(chǎn)生。量度和濾波器選擇界面窗口600b可以允許用戶瀏覽其它濾波器以在分析中使用。分析和量度函數(shù)在圖8中進(jìn)一步描述。

用戶還可以通過(guò)點(diǎn)擊添加幾何形狀濾波器按鈕610添加幾何形狀濾波器610。在各種實(shí)施例中,量度和濾波器選擇界面窗口600b可以提供幾何形狀濾波器的列表,用戶可以從該列表選擇。

圖7為在一些實(shí)施例中的示例性濾波器參數(shù)界面窗口700。濾波器參數(shù)界面窗口700允許用戶確定一個(gè)或多個(gè)選擇的濾波器(例如,在量度和濾波器選擇界面窗口600中選擇的濾波器)的分辨率。濾波器參數(shù)界面窗口700包括濾波器名稱菜單702、區(qū)間字段704、重疊(overlap)條706和完成按鈕708。

濾波器參數(shù)界面窗口700允許用戶從濾波器名稱菜單702選擇濾波器。在一些實(shí)施例中,濾波器名稱菜單702為下拉式框,其指示用戶在量度和濾波器選擇界面窗口600中選擇的所有濾波器。在選擇了濾波器之后,濾波器的名稱就出現(xiàn)在濾波器名稱菜單702中。然后,用戶可以針對(duì)一個(gè)、一些或全部選擇的濾波器改變區(qū)間和重疊。

區(qū)間字段704允許用戶定義在濾波器名稱菜單702中已被識(shí)別的濾波器的多個(gè)區(qū)間(interval)。用戶可以輸入多個(gè)區(qū)間或向上或向下滾動(dòng)以獲得預(yù)期數(shù)量的區(qū)間。用戶可以選擇任何數(shù)量的區(qū)間。區(qū)間的功能在圖8中進(jìn)一步討論。

重疊條706允許用戶定義在濾波器名稱菜單702中已被識(shí)別的濾波器的區(qū)間的重疊程度。在一個(gè)示例中,重疊條706包含滑塊,該滑塊允許用戶定義已識(shí)別的濾波器使用的區(qū)間的重疊百分比。任何的重疊百分比可以由用戶設(shè)定。

在針對(duì)期望的濾波器定義區(qū)間和重疊之后,用戶可一點(diǎn)擊完成按鈕。然后用戶可以返回到量度和濾波器選擇界面窗口600并且查看運(yùn)行分析的新選項(xiàng)。在一些實(shí)施例中,運(yùn)行分析的選項(xiàng)可以在濾波器參數(shù)界面窗口700中獲得。在完成分析之后,結(jié)果可以出現(xiàn)在交互式可視化中,這將在圖9-11中進(jìn)一步描述。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在圖4-7中的界面窗口是示例性的。示例性界面窗口不局限于所示的功能對(duì)象(例如,按鈕、下拉式菜單、滾動(dòng)字段和搜索字段)??梢允褂萌魏螖?shù)量的不同功能對(duì)象。另外,如本文所述,可以使用任何其它界面、命令行或圖形用戶界面。

圖8為在一些實(shí)施例中的用于數(shù)據(jù)分析和生成交互式可視化的流程圖800。在各種實(shí)施例中,對(duì)數(shù)據(jù)和用戶指定的選項(xiàng)的處理由來(lái)自拓?fù)鋵W(xué)和在一些實(shí)施例中的代數(shù)拓?fù)鋵W(xué)的技術(shù)激發(fā)。這些技術(shù)可以是穩(wěn)健和通用的。在一個(gè)示例中,這些技術(shù)適用于幾乎任何類型的存在“緊密度”或“相似性”的某種定性概念的數(shù)據(jù)。本文所述的技術(shù)可以是穩(wěn)健的,因?yàn)榻Y(jié)果可以對(duì)數(shù)據(jù)中的噪聲、用戶選項(xiàng)以及甚至對(duì)相似性的定性測(cè)量(在一些實(shí)施例中,其可統(tǒng)稱為“距離函數(shù)”或“量度”)的具體細(xì)節(jié)中的誤差是相對(duì)不敏感的。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,雖然以下的算法的描述可以被視為通用的,但是本文所述的技術(shù)的實(shí)施方式可以適用于任何程度的通用性。

在步驟802中,輸入模塊314接收數(shù)據(jù)S。在一個(gè)示例中,用戶識(shí)別數(shù)據(jù)結(jié)構(gòu)并接著識(shí)別ID和數(shù)據(jù)字段。數(shù)據(jù)S可以基于ID和數(shù)據(jù)字段內(nèi)的信息。在各種實(shí)施例中,數(shù)據(jù)S被處理為有限“相似性空間”,其中,數(shù)據(jù)S具有對(duì)S中的點(diǎn)s和t的對(duì)所定義的實(shí)值函數(shù)d,使得:

d(s,s)=0

d(s,t)=d(t,s)

d(s,t)>=0

這些條件可以類似于有限量度空間的要求,但是該條件可能更弱。在各種示例中,函數(shù)是量度。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,數(shù)據(jù)S可以是有限量度空間或其通用化,諸如圖或加權(quán)圖。在一些實(shí)施例中,數(shù)據(jù)S通過(guò)公式、算法或通過(guò)明確指定每個(gè)成對(duì)距離的距離矩陣來(lái)指定。

在步驟804中,輸入模塊314生成參考空間R。在一個(gè)示例中,參考空間R可以是眾所周知的量度空間(例如,諸如實(shí)線)。參考空間R可以由用戶定義。在步驟806中,分析模塊320生成從S至R中的映射ref()。從S至R中的映射ref()可以被稱為“參考映射”。

在一個(gè)示例中,來(lái)自S的映射參考是參考量度空間R。R可以是某種維度的歐幾里得空間,但是它還可以是圓、圓環(huán)、樹(shù)或其它量度空間。該映射可以通過(guò)一個(gè)或多個(gè)濾波器(即,S上的實(shí)值函數(shù))來(lái)描述。這些濾波器可以由幾何不變量(諸如密度估計(jì)器的輸出、數(shù)據(jù)深度的概念)或由從數(shù)據(jù)集產(chǎn)生的S的原點(diǎn)所指定的函數(shù)來(lái)定義。

在步驟808中,分辨率模塊218基于從用戶接收到的分辨率(例如,(多個(gè))濾波器、區(qū)間和重疊-參見(jiàn)圖7)生成R的覆蓋(cover)。R的覆蓋可以為開(kāi)集的有限集合(在R的量度中),使得R中的每個(gè)點(diǎn)位于這些集中的至少一個(gè)集中。在各種示例中,R為k維歐幾里得空間,其中,k為濾波器函數(shù)的數(shù)量。更準(zhǔn)確地,在該示例中,R為在由區(qū)間[min_k,max_k]的乘積(product)給出的k維度歐幾里得空間中的框(box),其中min_k第k個(gè)濾波器函數(shù)在S上的最小值,并且max_k是最大值。

例如,假設(shè)有2個(gè)濾波器函數(shù)F1和F2,并且F1的值的范圍從-1到+1,以及F2的值的范圍從0到5。那么,參考空間為在x/y平面中的具有角(-1,0)、(1,0)、(-1,5)、(1,5)的矩形,因?yàn)镾的每個(gè)點(diǎn)將產(chǎn)生位于該矩形內(nèi)的對(duì)(F1(s),F(xiàn)2(s))。

在各種實(shí)施例中,R的覆蓋通過(guò)獲取針對(duì)k個(gè)濾波器中的每個(gè)濾波器的[min_k,max_k]的覆蓋的區(qū)間的乘積給出。在一個(gè)示例中,如果用戶要求兩個(gè)區(qū)間和F1的50%重疊,則區(qū)間[-1,+1]的覆蓋將是兩個(gè)區(qū)間(-1.5,.5)、(-.5,1.5)。如果用戶要求5個(gè)區(qū)間和F2的30%重疊,則[0,5]的覆蓋將是(-.3,1.3)、(.7,2.3)、(1.7,3.3)、(2.7,4.3)、(3.7,5.3)。通過(guò)獲取所有可能的區(qū)間對(duì),這些區(qū)間可以產(chǎn)生2維框的覆蓋,其中該對(duì)的第一區(qū)間選自F1的覆蓋,并且第二區(qū)間選自F2的覆蓋。這可以產(chǎn)生覆蓋2維參考空間的2*5或10個(gè)開(kāi)放框。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,區(qū)間可以不是均勻的(uniform),或k維框的覆蓋可以不由區(qū)間的乘積構(gòu)成。在一些實(shí)施例中,存在許多其它區(qū)間選項(xiàng)。此外,在各種實(shí)施例中,可以使用寬范圍的覆蓋和/或更通用的參考空間。

在一個(gè)示例中,給定R的覆蓋C1、...、Cm,參考映射被用于向S中的每個(gè)點(diǎn)分配一組索引,該索引是Cj的索引,使得ref(s)屬于Cj。該函數(shù)可以被稱為ref_tags(s)。在諸如Java的語(yǔ)言中,ref_tags將是返回int[]的方法。在該示例中,由于C為R的覆蓋,ref(s)必須位于它們中的至少一個(gè)中,但是覆蓋的元素(element)通常彼此重疊,這意味著“落在邊緣附近”的點(diǎn)可能充分駐留在多個(gè)覆蓋集中。在考慮兩個(gè)濾波器示例時(shí),如果F1(s)為-.99,以及F2(s)為.001,則ref(s)為(-.99,.001),并且該ref(s)位于覆蓋元素(-1.5,.5)x(-.3,1.3)中。假設(shè)被標(biāo)記為C1,參考映射可以將s分配到集合{1}。另一方面,如果t被F1、F2映射到(.1,2.1),則ref(t)將位于(-1.5,.5)x(.7,2.3)、(-.5,1.5)x(.7,2.3)、(-1.5,.5)x(1.7,3.3)和(-.5,1.5)x(1.7,3.3)中,因此索引的集合應(yīng)具有t的四個(gè)元素。

已經(jīng)計(jì)算針對(duì)每個(gè)點(diǎn)其被分配到哪個(gè)“覆蓋標(biāo)簽”,針對(duì)每個(gè)覆蓋元素Cd,標(biāo)簽包含d的點(diǎn)可以被構(gòu)建為集合S(d)。這可能意味著每個(gè)點(diǎn)s在針對(duì)某d的S(d)中,但是一些點(diǎn)可能屬于一個(gè)以上此類集合。然而,在一些實(shí)施例中,不要求每個(gè)S(d)是非空的,并且往往是這些集合中的一些集合為空的情況。在一些實(shí)施例的非并行化版本中,每個(gè)點(diǎn)x被依次處理,并且x被插入到ref_tags(t)中的每個(gè)j的散列桶中(即,這可以是S(d)集合如何被計(jì)算)。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,參考空間R的覆蓋可以由區(qū)間的數(shù)量和在分辨率中被識(shí)別的重疊控制(例如,參見(jiàn)圖7)。例如,區(qū)間越多,在S中的分辨率越精細(xì),即,在每個(gè)S(d)中的點(diǎn)越少,但是這些點(diǎn)可能越相似(相對(duì)于濾波器)。重疊越多,S(d)中的集群可以與S(e)中的集群相交的次數(shù)就越多-這意味著點(diǎn)之間可能出現(xiàn)更多的“關(guān)系”,但是在一些實(shí)施例中,重疊越多,越有可能出現(xiàn)偶然的關(guān)系。

在步驟810中,分析模塊320基于量度、濾波器和空間S使每個(gè)S(d)聚類。在一些實(shí)施例中,動(dòng)態(tài)的單連接(linkage)聚類算法可以被用于對(duì)S(d)分區(qū)。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,任何數(shù)量的聚類算法可以被用于本文所述的實(shí)施例。例如,聚類方案可以是針對(duì)某k的k-均值聚類、單連接聚類、平均連接聚類或用戶指定的任何方法。

現(xiàn)在可以看到用戶指定的輸入的含義。在一些實(shí)施例中,濾波器可以相當(dāng)于在某個(gè)方向上的“強(qiáng)制拉伸”。在一些實(shí)施例中,分析模塊320可以不使兩個(gè)點(diǎn)聚類,除非所有的濾波器值是充分“相關(guān)”(回憶起雖然正常相關(guān)可以意味著“緊密”,但是覆蓋可以對(duì)濾波器值強(qiáng)加更一般的關(guān)系,諸如如果ref(s)和ref(t)足夠接近平面中的同一圓,則使兩點(diǎn)s和t相關(guān))。在各種實(shí)施例中,用戶強(qiáng)加一個(gè)或多個(gè)“關(guān)鍵測(cè)量”的能力使該技術(shù)比常規(guī)的聚類更強(qiáng)大,并且這些濾波器可以為任何事物的事實(shí)使得其如此通用。

輸出可以是單純復(fù)形,從該輸出可以提取其1-構(gòu)架(skeleton)。該復(fù)形的節(jié)點(diǎn)可以為部分集群(即,由S的子集構(gòu)成的集群被指定為參考空間R的給定覆蓋中的集合的原像)。

在步驟812中,可視化引擎322識(shí)別與所有S(d)的分區(qū)元素的子集相關(guān)聯(lián)的用于生成交互式可視化的節(jié)點(diǎn)。例如,假設(shè)S={1,2,3,4},并且覆蓋為C1、C2、C3。然后如果ref_tags(1)={1,2,3}和ref_tags(2)={2,3},以及ref_tags(3)={3},并且最后ref_tags(4)={1,3},那么,在該示例中,S(1)為{1,4},S(2)={1,2},以及S(3)={1,2,3,4}。如果1和2接近到足以被聚類,并且3和4無(wú)關(guān),那么,S(1)的聚類可以為{1}{3},并且S(2)的聚類可以為{1,2},以及S(3)的聚類可以為{1,2}、{3,4}。因此,在該示例中,所生成的圖至多具有由集合{1}、{4}、{1,2}和{3,4}給出的四個(gè)節(jié)點(diǎn)(應(yīng)注意,{1,2}出現(xiàn)在兩個(gè)不同的聚類中)。在所使用的點(diǎn)的集合中,兩個(gè)節(jié)點(diǎn)相交,前體條件是相關(guān)聯(lián)的節(jié)點(diǎn)集合具有非空交集(雖然這可以很容易地更改以允許用戶要求交集是“足夠大的”,無(wú)論是絕對(duì)的還是相對(duì)而言)。

節(jié)點(diǎn)可以出于任何數(shù)量的原因被去除。例如,節(jié)點(diǎn)可以由于具有太少點(diǎn)和/或未被連接到任何其它節(jié)點(diǎn)而被去除。在一些實(shí)施例中,去除節(jié)點(diǎn)(如果有的話)的準(zhǔn)則可以在用戶的控制下或具有強(qiáng)加于該節(jié)點(diǎn)的特定應(yīng)用的要求。例如,如果點(diǎn)為消費(fèi)者,則例如由公司服務(wù)的區(qū)域代碼中具有很少人的集群可以被去除。然而,如果發(fā)現(xiàn)集群具有“足夠的”顧客,則這可以指示可以保證到集群中的其它消費(fèi)者的區(qū)域代碼的擴(kuò)展。

在步驟814中,可視化引擎322接合(join)集群以識(shí)別邊緣(例如,節(jié)點(diǎn)之間的連接線)。在構(gòu)建節(jié)點(diǎn)之后,通過(guò)針對(duì)每個(gè)點(diǎn)計(jì)算節(jié)點(diǎn)集合的集合(這次不是ref_tags),交集(例如,邊緣)可以被“全部一起”計(jì)算。即,對(duì)于S中的每個(gè)s,node_id_set(s)可以被計(jì)算,其為int[]。在一些實(shí)施例中,如果覆蓋表現(xiàn)良好,則該操作在集合S的大小中為線性的,并且我們接著在node_id_set(s)中的每對(duì)上迭代。如果兩個(gè)node_id屬于相同的node_id_set()值,則可能在它們之間存在邊緣,并且在交集中的點(diǎn)的數(shù)量準(zhǔn)確地是在其中看到對(duì)的不同node_id集合中的數(shù)量。這意味著,除了聚類步驟(其通常在集合S(d)的大小上是二次的,但是其大小可以通過(guò)覆蓋的選擇來(lái)控制)以外,在圖構(gòu)建算法中的所有其它步驟在S的大小上可以為線性的,并且可以更有效地被計(jì)算。

在步驟816中,可視化引擎322生成互連節(jié)點(diǎn)(例如,在圖10和圖11中顯示的節(jié)點(diǎn)和邊緣)的交互式可視化。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在一些實(shí)施例中,可能的是,在不同ref()映射和/或聚類的選擇之間以相當(dāng)深的方式連接是有意義的。此外,除了計(jì)算邊緣(節(jié)點(diǎn)的對(duì))以外,本文所述的實(shí)施例可以被擴(kuò)展到計(jì)算節(jié)點(diǎn)的三元組(triple)等。例如,分析模塊320可以對(duì)節(jié)點(diǎn)計(jì)算任何維度(通過(guò)各種規(guī)則)的單純復(fù)形,并且將來(lái)自同源理論的技術(shù)應(yīng)用到圖以幫助用戶以自動(dòng)化(或半自動(dòng)化)的方式理解結(jié)構(gòu)。

此外,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在覆蓋中的均勻區(qū)間可能不總是好的選擇。例如,如果各點(diǎn)相對(duì)于給定的濾波器是指數(shù)分布的,則均勻的區(qū)間可能失敗-在此情況下,自適應(yīng)區(qū)間大小可以例如產(chǎn)生均勻大小的S(d)集合。

此外,在各種實(shí)施例中,界面可以被用于編碼用于將第三方擴(kuò)展合并到數(shù)據(jù)訪問(wèn)和顯示技術(shù)的技術(shù)。此外,界面可以被用于第三方擴(kuò)展到底層基礎(chǔ)設(shè)施以允許生成覆蓋并定義新參考空間的新方法。

圖9為在一些實(shí)施例中的示例性交互式可視化900。從數(shù)學(xué)意義上說(shuō),交互式可視化的顯示可以被認(rèn)為是“圖”。交互式可視化由兩種類型的對(duì)象組成:節(jié)點(diǎn)(例如,節(jié)點(diǎn)902和906)(著色球)和邊緣(例如,邊緣904)(黑線)。邊緣連接節(jié)點(diǎn)對(duì)(例如,邊緣904將節(jié)點(diǎn)902與節(jié)點(diǎn)906連接)。如本文所述,每個(gè)節(jié)點(diǎn)可以表示數(shù)據(jù)點(diǎn)(由用戶識(shí)別的數(shù)據(jù)庫(kù)中的行)的集合。在一個(gè)示例中,所連接的節(jié)點(diǎn)往往包含彼此“類似”(例如,集中)的數(shù)據(jù)點(diǎn)。數(shù)據(jù)點(diǎn)的集合可以被稱為是“在節(jié)點(diǎn)中”。交互式可視化可以是二維的、三維的或兩者的組合。

在各種實(shí)施例中,連接的節(jié)點(diǎn)和邊緣可以形成圖或結(jié)構(gòu)。在交互式可視化中可以存在多個(gè)圖。在一個(gè)示例中,交互式可視化可以顯示節(jié)點(diǎn)和邊緣的兩個(gè)或多個(gè)未連接結(jié)構(gòu)。

節(jié)點(diǎn)和邊緣的視覺(jué)屬性(諸如,但不限于節(jié)點(diǎn)在屏幕上的顏色、筆畫(huà)顏色、文本、紋理、形狀、坐標(biāo))可以編碼每個(gè)節(jié)點(diǎn)內(nèi)的數(shù)據(jù)點(diǎn)的任何基于數(shù)據(jù)的屬性。例如,節(jié)點(diǎn)和/或邊緣的著色可以指示(但不限于)以下:

●字段或?yàn)V波器的值

●在節(jié)點(diǎn)中的數(shù)據(jù)的任何通用函數(shù)(例如,如果數(shù)據(jù)是國(guó)家的失業(yè)率,則國(guó)家的GDP可以通過(guò)對(duì)節(jié)點(diǎn)著色來(lái)識(shí)別)

●在節(jié)點(diǎn)中的數(shù)據(jù)點(diǎn)的數(shù)量

交互式可視化900可以包含“顏色條”910,其可以包括指示節(jié)點(diǎn)(例如,球)的著色的圖例并且還可以識(shí)別顏色指示什么。例如,在圖9中,顏色條910指示顏色基于密度濾波器,其中藍(lán)色(在顏色條910的最左側(cè))指示“4.99e+03”,以及紅色(在顏色條910的最右側(cè))指示“1.43e+04”。一般來(lái)講,這可以被擴(kuò)展以示出節(jié)點(diǎn)和/或邊緣通過(guò)其被著色的任何其它圖例。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在一些實(shí)施例中,用戶可以控制顏色以及顏色(和/或在屏幕上的節(jié)點(diǎn)的筆畫(huà)顏色、文本、紋理、形狀、坐標(biāo))指示什么。

用戶也可以拖放交互式可視化900的對(duì)象。在各種實(shí)施例中,用戶可以通過(guò)將一個(gè)或多個(gè)節(jié)點(diǎn)拖到交互式可視化的另一部分(例如,窗口)來(lái)重新定向節(jié)點(diǎn)和邊緣的結(jié)構(gòu)。在一個(gè)示例中,用戶可以選擇節(jié)點(diǎn)902、保持節(jié)點(diǎn)902并將該節(jié)點(diǎn)拖過(guò)窗口。節(jié)點(diǎn)902將跟隨用戶的光標(biāo),拖動(dòng)直接或間接連接到節(jié)點(diǎn)902的邊緣和/或節(jié)點(diǎn)的結(jié)構(gòu)。在一些實(shí)施例中,交互式可視化900可以描繪多個(gè)未連接的結(jié)構(gòu)。每個(gè)結(jié)構(gòu)可以包含節(jié)點(diǎn),然而,任一結(jié)構(gòu)的節(jié)點(diǎn)都不彼此連接。如果用戶選擇并拖動(dòng)第一結(jié)構(gòu)的節(jié)點(diǎn),則只有第一結(jié)構(gòu)相對(duì)于用戶動(dòng)作被重新定向。其它結(jié)構(gòu)應(yīng)保持不變。用戶可能希望重新定向結(jié)構(gòu)以便查看節(jié)點(diǎn)、選擇節(jié)點(diǎn)和/或更好理解底層數(shù)據(jù)的關(guān)系。

在一個(gè)示例中,用戶可以拖動(dòng)節(jié)點(diǎn)以重新定向交互式可視化(例如,重新定向節(jié)點(diǎn)和邊緣的結(jié)構(gòu))。在用戶選擇和/或拖動(dòng)節(jié)點(diǎn)時(shí),與選擇的節(jié)點(diǎn)相關(guān)聯(lián)的結(jié)構(gòu)的節(jié)點(diǎn)可以彼此移動(dòng)分開(kāi)以便提供更大的可視性。在用戶放開(kāi)(例如,取消選擇或放下被拖動(dòng)的節(jié)點(diǎn))之后,結(jié)構(gòu)的節(jié)點(diǎn)可以繼續(xù)彼此移動(dòng)分開(kāi)。

在各種實(shí)施例中,在可視化模塊322生成交互式顯示之后,描繪的結(jié)構(gòu)可以通過(guò)彼此展開(kāi)節(jié)點(diǎn)來(lái)移動(dòng)。在一個(gè)示例中,節(jié)點(diǎn)彼此緩慢展開(kāi),從而允許用戶查看彼此區(qū)分的節(jié)點(diǎn)以及邊緣。在一些實(shí)施例中,可視化模塊322最優(yōu)化節(jié)點(diǎn)的展開(kāi)以便用戶的查看。在一個(gè)示例中,一旦已達(dá)到最佳的視圖,(多個(gè))結(jié)構(gòu)就停止移動(dòng)。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,交互式可視化900可以響應(yīng)于手勢(shì)(例如,多點(diǎn)觸摸)、觸筆或其它交互,從而允許用戶重新定向節(jié)點(diǎn)和邊緣和/或與底層數(shù)據(jù)交互。

交互式可視化900還可以響應(yīng)于用戶動(dòng)作(諸如當(dāng)用戶拖動(dòng)、點(diǎn)擊或鼠標(biāo)光標(biāo)懸停在節(jié)點(diǎn)上時(shí))。在一些實(shí)施例中,在用戶選擇節(jié)點(diǎn)或邊緣時(shí),節(jié)點(diǎn)信息或邊緣信息可以被顯示。在一個(gè)示例中,當(dāng)節(jié)點(diǎn)被選擇時(shí)(例如,用戶通過(guò)鼠標(biāo)點(diǎn)擊或鼠標(biāo)光標(biāo)懸停在節(jié)點(diǎn)上),可以出現(xiàn)指示關(guān)于所選節(jié)點(diǎn)的信息的節(jié)點(diǎn)信息框908。在該示例中,節(jié)點(diǎn)信息框908指示ID、框ID、元素的數(shù)量(例如,與節(jié)點(diǎn)相關(guān)聯(lián)的數(shù)據(jù)點(diǎn))和與節(jié)點(diǎn)相關(guān)聯(lián)的數(shù)據(jù)的密度。

用戶還可以通過(guò)單獨(dú)點(diǎn)擊每個(gè)對(duì)象或在期望對(duì)象的周圍繪制形狀(諸如,框)來(lái)選擇多個(gè)節(jié)點(diǎn)和/或邊緣。在對(duì)象被選擇之后,選擇信息框912可以顯示關(guān)于選擇的一些信息。例如,選擇信息框912指示選擇的節(jié)點(diǎn)的數(shù)量和選擇的節(jié)點(diǎn)的總點(diǎn)數(shù)(例如,數(shù)據(jù)點(diǎn)或元素)。

交互式可視化900還可以允許用戶進(jìn)一步與顯示交互。顏色選項(xiàng)914允許用戶基于對(duì)象的顏色顯示不同的信息。在圖9中的顏色選項(xiàng)914被設(shè)定為濾波器密度,然而,其它濾波器可以被選擇,并且對(duì)象基于該選擇被重新著色。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,對(duì)象可以基于任何濾波器、數(shù)據(jù)的屬性或特性來(lái)被著色。當(dāng)新的選項(xiàng)在顏色選項(xiàng)914中被選擇時(shí),在顏色條910中描繪的信息和/或顏色可以被更新以反映變化。

布局復(fù)選框914可以允許用戶錨定交互式可視化900。在一個(gè)示例中,布局復(fù)選框914被選中,指示交互式可視化900被錨定。因此,用戶將不能選擇和拖動(dòng)節(jié)點(diǎn)和/或相關(guān)的結(jié)構(gòu)。雖然其它功能仍然是可用的,布局復(fù)選框914可以幫助用戶防止偶然移動(dòng)和/或重新定向節(jié)點(diǎn)、邊緣和/或相關(guān)的結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,當(dāng)布局復(fù)選框914未被選中時(shí),布局復(fù)選框914可以指示交互式可視化900被錨定,并且當(dāng)布局復(fù)選框914被選中時(shí),交互式可視化900不再被錨定。

改變參數(shù)按鈕918可以允許用戶改變參數(shù)(例如,添加/去除濾波器和/或改變一個(gè)或多個(gè)濾波器的分辨率)。在一個(gè)示例中,當(dāng)改變參數(shù)按鈕918被激活時(shí),用戶可以被引導(dǎo)返回到量度和濾波器選擇界面窗口600(參見(jiàn)圖6),該界面窗口允許用戶添加或去除濾波器(或改變量度)。用戶可以接著查看濾波器參數(shù)界面700(參見(jiàn)圖7)并改變一個(gè)或多個(gè)濾波器的參數(shù)(例如,區(qū)間和重疊)。接著分析模塊320可以基于改變而重新分析數(shù)據(jù),并且顯示新的交互式可視化900而不必再指定數(shù)據(jù)集、濾波器等。

查找ID的按鈕920可以允許用戶在交互式可視化900內(nèi)搜索數(shù)據(jù)。在一個(gè)示例中,用戶可以點(diǎn)擊查找ID的按鈕920并且接收允許用戶識(shí)別數(shù)據(jù)或識(shí)別數(shù)據(jù)的范圍的窗口。數(shù)據(jù)可以通過(guò)ID或基于數(shù)據(jù)和/或元數(shù)據(jù)的屬性搜索數(shù)據(jù)而被識(shí)別。如果數(shù)據(jù)被發(fā)現(xiàn)和被選擇,交互式可視化900可以突出(highlight)與選擇的數(shù)據(jù)相關(guān)聯(lián)的節(jié)點(diǎn)。例如,選擇數(shù)據(jù)庫(kù)或電子表格的單個(gè)行或行的集合可以產(chǎn)生節(jié)點(diǎn)的突出,該節(jié)點(diǎn)對(duì)應(yīng)的部分集群包含該選擇的任何元素。

在各種實(shí)施例中,用戶可以選擇一個(gè)或多個(gè)對(duì)象并且點(diǎn)擊解釋按鈕922以接收關(guān)于選擇的深入信息。在一些實(shí)施例中,當(dāng)用戶選擇解釋按鈕922時(shí),可以顯示關(guān)于選擇所基于的數(shù)據(jù)的信息。解釋按鈕922的功能關(guān)于圖10進(jìn)一步被論述。

在各種實(shí)施例中,交互式可視化900可以允許用戶指定并識(shí)別感興趣的子集(諸如輸出濾波)以去除太小或另外不感興趣的集群或連接。此外,交互式可視化900可以提供更通用的著色和顯示技術(shù),其包含例如允許用戶基于用戶指定的謂詞來(lái)突出節(jié)點(diǎn),并且基于用戶指定的加權(quán)函數(shù)的強(qiáng)度對(duì)節(jié)點(diǎn)著色。

交互式可視化900可以包括任何數(shù)量的菜單項(xiàng)?!斑x擇”菜單可以允許以下功能:

●選擇單件(選擇沒(méi)有連接到其它節(jié)點(diǎn)的節(jié)點(diǎn))

●選擇所有(選擇所有的節(jié)點(diǎn)和邊緣)

●選擇所有節(jié)點(diǎn)(選擇所有節(jié)點(diǎn))

●選擇所有邊緣

●清除選擇(未選擇)

●反向選擇(選擇節(jié)點(diǎn)或邊緣的互補(bǔ)集合)

●選擇“小的”節(jié)點(diǎn)(允許用戶基于節(jié)點(diǎn)有多少個(gè)點(diǎn)來(lái)通過(guò)閾值選擇節(jié)點(diǎn))

●選擇葉子(選擇被連接到圖中的長(zhǎng)“鏈”的所有節(jié)點(diǎn))

●去除選擇的節(jié)點(diǎn)

●在表格中顯示(在表格中顯示選擇的節(jié)點(diǎn)和其相關(guān)聯(lián)的數(shù)據(jù))

●保存選擇的節(jié)點(diǎn)(將選擇的數(shù)據(jù)保存為用戶選擇的無(wú)論什么格式。這可以允許用戶使數(shù)據(jù)劃分為子集并形成可以被用于進(jìn)行進(jìn)一步分析的新數(shù)據(jù)源。)

在“在表格中顯示”選項(xiàng)的一個(gè)示例中,可以顯示來(lái)自節(jié)點(diǎn)選擇的信息。該信息可以特定于數(shù)據(jù)的原點(diǎn)(origin)。在各種實(shí)施例中,數(shù)據(jù)庫(kù)表格的元素可以被列出,然而,也可以包括由用戶指定的其它方法。例如,在來(lái)自基因表達(dá)數(shù)據(jù)的微陣列數(shù)據(jù)的情況下,熱映射可以被用于查看選擇的結(jié)果。

交互式可視化900可以包括任何數(shù)量的菜單項(xiàng)?!氨4妗辈藛慰梢栽试S用戶以各種不同的格式保存整個(gè)輸出,所述各種不同的格式為諸如(但不限于):

●圖像文件(PNG/JPG/PDF/SVG等)

●二進(jìn)制輸出(交互式輸出以二進(jìn)制格式保存。用戶可以在任意時(shí)間重新打開(kāi)該文件以再次獲得該交互式窗口)

在一些實(shí)施例中,圖可以用使得該圖可以被用于展示的格式來(lái)保存。這可以包含將圖像簡(jiǎn)單地保存為pdf或png文件,但是可能也意味著保存可執(zhí)行的.xml文件,其可以允許其它用戶在該文件上使用數(shù)據(jù)庫(kù)的搜索和保存能力而無(wú)需重新創(chuàng)建分析。

在各種實(shí)施例中,可以顯示第一分析輸出/交互式可視化和第二分析輸出/交互式可視化之間的關(guān)系以用于區(qū)分區(qū)間長(zhǎng)度和重疊百分比的值。第一分析輸出/交互式可視化和第二分析輸出/交互式可視化之間的形式化關(guān)系可以是,當(dāng)一個(gè)覆蓋完善下一個(gè)覆蓋時(shí),存在從第一個(gè)的輸出到第二個(gè)的輸出的單純復(fù)形的映射。這可以通過(guò)應(yīng)用三維圖嵌入算法的受限形式被顯示,其中圖是針對(duì)各種參數(shù)值的圖的并集,并且其中連接是各個(gè)圖中的連接以及從一個(gè)節(jié)點(diǎn)到接著的圖中的圖像的連接。組成圖可以被放置于3D空間中的其自己的平面中。在一些實(shí)施例中,存在每個(gè)組成圖保持在其關(guān)聯(lián)平面內(nèi)的限制。每個(gè)組成圖可以被單獨(dú)顯示,但是參數(shù)值的小的改變可以導(dǎo)致相鄰組成圖的可視化。在一些實(shí)施例中,在初始圖中的節(jié)點(diǎn)將以容易可視化的方式移動(dòng)到下一圖中的節(jié)點(diǎn)。

圖10為在一些實(shí)施例中的顯示解釋信息窗口1002的示例性交互式可視化1000。在各種實(shí)施例中,用戶可以選擇多個(gè)節(jié)點(diǎn)并點(diǎn)擊解釋按鈕。在解釋按鈕被點(diǎn)擊時(shí),可以生成解釋信息窗口1002。解釋信息窗口1002可以識(shí)別與選擇的(多個(gè))對(duì)象相關(guān)聯(lián)的數(shù)據(jù)以及與該數(shù)據(jù)相關(guān)聯(lián)的信息(例如,統(tǒng)計(jì)信息)。

在一些實(shí)施例中,解釋按鈕允許用戶以獲得在選擇的數(shù)據(jù)字段內(nèi)的哪些字段負(fù)責(zé)在選擇的節(jié)點(diǎn)中的數(shù)據(jù)的“相似性”和差異化特性的感知。存在許多使數(shù)據(jù)字段得分的方式。解釋信息窗口1002(即,在圖10中的得分窗口)連同選擇的節(jié)點(diǎn)一起被示出。最高得分字段可以相對(duì)于其余數(shù)據(jù)區(qū)分變量。

在一個(gè)示例中,解釋信息窗口1002指示來(lái)自字段day0-day6的數(shù)據(jù)已被選擇。在所有字段中的數(shù)據(jù)的最小值為0。解釋信息窗口1002也指示最大值。例如,跨越選擇的節(jié)點(diǎn)的所有點(diǎn)的與day0字段相關(guān)聯(lián)的所有數(shù)據(jù)的最大值為0.353。跨越選擇的節(jié)點(diǎn)的所有點(diǎn)的與day0字段相關(guān)聯(lián)的所有數(shù)據(jù)的平均值(即,均值)為0.031。得分可以是指示濾波器的相對(duì)函數(shù)的相對(duì)(例如,標(biāo)準(zhǔn)化(normalized))值;在這里,得分可以指示跨越選擇的節(jié)點(diǎn)的所有點(diǎn)的與day0相關(guān)聯(lián)的數(shù)據(jù)的相對(duì)密度。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,關(guān)于數(shù)據(jù)和/或選擇的節(jié)點(diǎn)的任何信息可以出現(xiàn)在解釋信息窗口1002中。

本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,數(shù)據(jù)和交互式可視化1000可以以任意種方式交互。用戶可以與數(shù)據(jù)直接交互以查看圖在何處對(duì)應(yīng)于數(shù)據(jù)、改變分析并查看圖中的變化、更改圖以及查看數(shù)據(jù)的變化,或執(zhí)行任何類型的交互。

圖11為在一些實(shí)施例中的交互式可視化的功能的流程圖1200。在步驟1202中,可視化引擎322接收來(lái)自分析模塊320的分析并且將節(jié)點(diǎn)圖形化為球以及將邊緣圖形化為球1202之間的連接器以形成交互式可視化900(參見(jiàn)圖9)。

在步驟1204中,可視化引擎322確定用戶是否將鼠標(biāo)光標(biāo)懸停在(或已選擇)球(即,節(jié)點(diǎn))上。如果用戶將鼠標(biāo)光標(biāo)懸停在球上或選擇球,則顯示關(guān)于與該球相關(guān)聯(lián)的數(shù)據(jù)的信息。在一個(gè)示例中,可視化引擎322顯示節(jié)點(diǎn)信息窗口908。

如果可視化引擎322未確定用戶將鼠標(biāo)光標(biāo)懸停(或已選擇)在球上,則可視化引擎322確定用戶是否已選擇圖上的球(例如,通過(guò)點(diǎn)擊多個(gè)球或在多個(gè)球周圍拖動(dòng)框)。如果用戶已選擇圖上的球,則可視化引擎322可以在步驟1110中突出在圖上選擇的球。可視化引擎322也可以顯示關(guān)于選擇的信息(例如,通過(guò)顯示選擇信息窗口912)。用戶也可以點(diǎn)擊解釋按鈕922以接收與選擇相關(guān)聯(lián)的更多信息(例如,可視化引擎322可以顯示解釋信息窗口1002)。

在步驟1112中,用戶可以保存選擇。例如,可視化引擎322可以保存底層數(shù)據(jù)、選擇的量度、濾波器和/或分辨率。然后,用戶可以訪問(wèn)保存的信息并且在另一交互式可視化900中形成新的結(jié)構(gòu),從而允許用戶將注意力集中在數(shù)據(jù)的子集上。

如果可視化引擎322未確定用戶已選擇圖上的球,則可視化引擎322可以在步驟1114中確定用戶是否選擇并拖動(dòng)圖上的球。如果用戶選擇并拖動(dòng)圖上的球,則可視化引擎322可以在步驟1116中基于用戶的動(dòng)作重新定向選擇的球和任何連接的邊緣和球。用戶可以在任何粒度(granularity)水平重新定向全部或部分的結(jié)構(gòu)。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,雖然圖11討論用戶懸停在球上、選擇和/或拖動(dòng)球,但是用戶可以與交互式可視化900中的任何對(duì)象交互(例如,用戶可以懸停在邊緣上、選擇和/或拖動(dòng)邊緣)。用戶也可以使用交互式可視化900放大或縮小以聚焦全部或部分的結(jié)構(gòu)(例如,一個(gè)或多個(gè)球和/或邊緣)。

此外,雖然在圖9-11中討論并描繪球,但是本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,節(jié)點(diǎn)可以為任何形狀并且作為任何類型的對(duì)象出現(xiàn)。此外,雖然本文所述的一些實(shí)施例討論了基于代數(shù)拓?fù)涞妮敵鏊傻慕换ナ娇梢暬?,但是交互式可視化可以基于任何類型的分析?lái)生成并且不被限制。

多年來(lái),研究人員一直在收集關(guān)于乳腺癌的大量數(shù)據(jù),但是我們?nèi)匀辉谂c該疾病作斗爭(zhēng)。復(fù)雜性(而不是量)是在從數(shù)據(jù)提取知識(shí)中的基本問(wèn)題之一。拓?fù)鋽?shù)據(jù)探索和可視化平臺(tái)可以幫助對(duì)復(fù)雜數(shù)據(jù)的分析和評(píng)估。在各種實(shí)施例中,由拓?fù)鋽?shù)據(jù)探索和可視化平臺(tái)所生成的預(yù)測(cè)和視覺(jué)癌癥映射可以幫助醫(yī)師確定治療選項(xiàng)。

在一個(gè)示例中,乳腺癌映射可視化可以基于已由許多研究者生成的大量可用信息生成。醫(yī)師可以將活組織檢查數(shù)據(jù)直接發(fā)送到基于云的服務(wù)器,該基于云的服務(wù)器可以在乳腺癌映射可視化內(nèi)定位新患者的數(shù)據(jù)。乳腺癌映射可視化可以被注解(例如,被標(biāo)記)使得醫(yī)師可以查看具有類似概況和不同類型的統(tǒng)計(jì)信息(諸如生存概率)的患者的結(jié)果。來(lái)自患者的每個(gè)新數(shù)據(jù)點(diǎn)可以被合并到乳腺癌映射可視化,以提高乳腺癌映射可視化隨著時(shí)間的準(zhǔn)確度。

雖然接下來(lái)的示例很大程度上聚焦在癌癥映射可視化上,但是本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,本文所述的至少一些實(shí)施例可以適用于任何生物學(xué)狀況并不限于癌癥和/或疾病。例如,一些實(shí)施例可以適用于不同的行業(yè)。

圖12為在一些實(shí)施例中的用于利用多個(gè)患者的生物學(xué)數(shù)據(jù)生成癌癥映射可視化的流程圖。在各種實(shí)施例中,數(shù)據(jù)和用戶指定的選項(xiàng)的處理由來(lái)自拓?fù)鋵W(xué)和在一些實(shí)施例中的代數(shù)拓?fù)鋵W(xué)的技術(shù)激發(fā)。如本文所討論的,這些技術(shù)可以是穩(wěn)健和通用的。在一個(gè)示例中,這些技術(shù)適用于幾乎任何類型的存在“緊密度”或“相似性”的一些定性概念的數(shù)據(jù)。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,本文所述的技術(shù)的實(shí)施方式可以適用于任何水平的通用性。

在各種實(shí)施例中,癌癥映射可視化使用與臨床結(jié)果(即,醫(yī)學(xué)特征)關(guān)聯(lián)的基因組數(shù)據(jù)來(lái)生成,所述臨床結(jié)果在診斷和/或治療過(guò)程中可以被醫(yī)師使用。初始時(shí),公共可用的數(shù)據(jù)集可以被集成以構(gòu)造患者(例如,乳腺癌患者)的拓?fù)溆成淇梢暬1绢I(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,任何專用、公用數(shù)據(jù)集或?qū)S煤凸脭?shù)據(jù)集的組合可以被集成以構(gòu)造拓?fù)溆成淇梢暬?。映射可視化可以基于生物學(xué)數(shù)據(jù),諸如但不限于基因表達(dá)、測(cè)序和拷貝數(shù)變異。因此,映射可視化可以包括具有許多不同類型的收集數(shù)據(jù)的許多患者。不同于常規(guī)的分析方法,其中乳腺癌的不同研究作為獨(dú)立的實(shí)體出現(xiàn),映射可視化可以在利用許多數(shù)據(jù)集和數(shù)據(jù)類型的同時(shí)融合不同的數(shù)據(jù)集。

在各種實(shí)施例中,新的患者可以被定位在映射可視化上。通過(guò)用于特定疾病的子類型和被診斷具有疾病的新患者的映射可視化,(多個(gè))點(diǎn)可以被定位在在計(jì)算映射可視化中使用的數(shù)據(jù)點(diǎn)(例如,最近的鄰居)之間,其最接近新患者點(diǎn)。新患者可以在映射可視化中用包含最近鄰居的節(jié)點(diǎn)被標(biāo)記。這些節(jié)點(diǎn)可以被突出以向醫(yī)師給出新患者在參考數(shù)據(jù)集中的患者之間的位置。突出的節(jié)點(diǎn)也可以向醫(yī)師給出新患者相對(duì)于注解的疾病子類型的位置。

可視化映射可以是實(shí)時(shí)交互的和/或可搜索的,從而潛在地實(shí)現(xiàn)擴(kuò)展分析并對(duì)治療提供快速的洞察。

在步驟1202中,可以接收先前患者的生物學(xué)數(shù)據(jù)和臨床結(jié)果。臨床結(jié)果可以為醫(yī)學(xué)特征。生物學(xué)數(shù)據(jù)是可以表示人的狀況(醫(yī)學(xué)狀況)的任何數(shù)據(jù)。生物學(xué)數(shù)據(jù)可以包含與一個(gè)或多個(gè)患者相關(guān)聯(lián)的任何健康相關(guān)、醫(yī)學(xué)、物理、生理、藥物數(shù)據(jù)。在一個(gè)示例中,生物學(xué)數(shù)據(jù)可以包含針對(duì)任何數(shù)量基因的基因表達(dá)的測(cè)量結(jié)果。在另一示例中,生物學(xué)數(shù)據(jù)可以包含測(cè)序信息(例如,RNA測(cè)序)。

在各種實(shí)施例中,多個(gè)患者的生物學(xué)數(shù)據(jù)可以是公用的。例如,各種醫(yī)療健康設(shè)施和/或公共實(shí)體可以提供各種患者的基因表達(dá)數(shù)據(jù)。除了生物學(xué)數(shù)據(jù)以外,也可以提供關(guān)于任何數(shù)量的臨床結(jié)果、治療、療法、診斷和/或預(yù)后的信息。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,除了生物學(xué)數(shù)據(jù)以外,還可以提供任何類型的信息。

在一個(gè)示例中,生物學(xué)數(shù)據(jù)可以類似于數(shù)據(jù)S,如關(guān)于圖8的步驟802所討論的。生物學(xué)數(shù)據(jù)可以包含識(shí)別患者的ID字段和與生物信息(例如,基因表達(dá)測(cè)量)相關(guān)的數(shù)據(jù)字段。

圖13為在一些實(shí)施例中的包含針對(duì)若干患者1308a-1308n的生物學(xué)數(shù)據(jù)1304a-1304y的示例性數(shù)據(jù)結(jié)構(gòu)1302,該數(shù)據(jù)結(jié)構(gòu)可以被用于生成癌癥映射可視化。列1302表示針對(duì)不同患者的不同患者標(biāo)識(shí)符。患者標(biāo)識(shí)符可以為任何標(biāo)識(shí)符。

至少一些生物學(xué)數(shù)據(jù)可以被包含在基因表達(dá)測(cè)量1304a-1304y內(nèi)。在圖13中,“y”表示任何數(shù)量。例如,針對(duì)與單個(gè)患者相關(guān)或與來(lái)自患者的一個(gè)或多個(gè)樣品相關(guān)的不同基因表達(dá)可以有50,000個(gè)或更多個(gè)獨(dú)立的列。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,列1304a可以表示與列1302中的患者標(biāo)識(shí)符相關(guān)聯(lián)的每個(gè)患者(如果有一些患者的話)的基因表達(dá)測(cè)量。列1304b可以表示不同于列1304a的一個(gè)或多個(gè)基因的基因表達(dá)測(cè)量。如上所述,可以存在表示不同基因表達(dá)測(cè)量的任何數(shù)量的列。

列1306可以包含任何數(shù)量的臨床結(jié)果、預(yù)后、診斷、反應(yīng)、治療和/或與每個(gè)患者相關(guān)聯(lián)的任何其它信息。被包含在列1306中的全部或一些信息(例如,通過(guò)在可視化上顯示或通過(guò)點(diǎn)擊可供用戶的可視化使用的標(biāo)記或注解)可以被顯示在可視化上或供可視化顯示。

行1308a-1308n中的每個(gè)包含與行的患者標(biāo)識(shí)符相關(guān)聯(lián)的生物學(xué)數(shù)據(jù)。例如,在行1308a中的基因表達(dá)與患者標(biāo)識(shí)符P1相關(guān)聯(lián)。如類似于本文關(guān)于“y”所討論的,“n”表示任何數(shù)量。例如,可以存在不同的患者的100,000個(gè)或更多個(gè)獨(dú)立的行。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以存在包含針對(duì)任何數(shù)量的患者的任何數(shù)量的生物學(xué)數(shù)據(jù)的任何數(shù)量的數(shù)據(jù)結(jié)構(gòu)。(多個(gè))數(shù)據(jù)結(jié)構(gòu)可以被用于生成任何數(shù)量的映射可視化。

在步驟1204中,分析服務(wù)器可以接收濾波器選擇。在一些實(shí)施例中,濾波器選擇是密度估計(jì)函數(shù)。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,濾波器選擇可以包含一個(gè)或多個(gè)函數(shù)的選擇以生成參考空間。

在步驟1206中,分析服務(wù)器對(duì)先前患者的生物學(xué)數(shù)據(jù)執(zhí)行選擇的(多個(gè))濾波器,以將生物學(xué)數(shù)據(jù)映射到參考空間。在一個(gè)示例中,可以對(duì)生物學(xué)數(shù)據(jù)(例如,與基因表達(dá)測(cè)量數(shù)據(jù)1304a-1304y相關(guān)聯(lián)的數(shù)據(jù))執(zhí)行在本領(lǐng)域中熟知的密度估計(jì)函數(shù),以使每個(gè)患者標(biāo)識(shí)符與參考空間中的(例如,在實(shí)線上的)一個(gè)或多個(gè)位置相關(guān)。

在步驟1208中,分析服務(wù)器可以接收分辨率選擇。在步驟1210中,分辨率可以被用于識(shí)別參考空間的重疊部分(例如,參考空間R的覆蓋)。

如本文所述,R的覆蓋可以為開(kāi)集的有限集合(在R的量度中),使得R中的每個(gè)點(diǎn)位于這些集中的至少一個(gè)集中。在各種示例中,R為k維度歐幾里得空間,其中k為濾波器函數(shù)的數(shù)量。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,參考空間R的覆蓋可以由區(qū)間數(shù)量和在分辨率中識(shí)別的重疊來(lái)控制(例如,參見(jiàn)圖7)。例如,區(qū)間越多,在S(例如,接收到的生物學(xué)數(shù)據(jù)的相似性空間)中的分辨率越精細(xì)-即,在每個(gè)S(d)中的點(diǎn)越少,但是這些點(diǎn)可能越相似(相對(duì)于濾波器)。重疊越多,S(d)中的集群可以與S(e)中的集群相交的次數(shù)就越多-這意味著可能出現(xiàn)點(diǎn)之間的更多“關(guān)系”,但是在一些實(shí)施例中,重疊越多,越有可能出現(xiàn)偶然的關(guān)系。

在步驟1212中,分析服務(wù)器接收量度以使參考空間中的覆蓋的信息聚類,從而對(duì)S(d)分區(qū)。在一個(gè)示例中,量度可以為Pearson相關(guān)。集群可以形成分組(例如,節(jié)點(diǎn)或球)??梢允褂酶鞣N聚類手段,包含但不限于單連接、平均連接、完全連接或k均值方法。

如本文所述,在一些實(shí)施例中,分析模塊320可以不兩個(gè)點(diǎn)聚類,除非濾波器值充分“相關(guān)”(回憶起雖然正常相關(guān)可以意味著“緊密”,但是覆蓋可以對(duì)濾波器值強(qiáng)加更一般的關(guān)系,諸如如果ref(s)和ref(t)足夠接近平面中的同一圓,則使兩點(diǎn)s和t相關(guān),其中ref()表示一個(gè)或多個(gè)濾波器函數(shù))。輸出可以為單純復(fù)形,從該輸出可以提取其1-構(gòu)架。復(fù)形的節(jié)點(diǎn)可以為部分集群(即,由S的子集構(gòu)成的集群被指定為參考空間R的給定覆蓋中的集合的原像)。

在步驟1214中,分析服務(wù)器可以生成具有表示患者成員的集群的節(jié)點(diǎn)和表示共同患者成員的節(jié)點(diǎn)之間的邊緣的可視化映射。在一個(gè)示例中,分析服務(wù)器識(shí)別與用于生成交互式可視化的所有S(d)的分區(qū)元素的子集相關(guān)聯(lián)的節(jié)點(diǎn)。

如本文所述,例如,假設(shè)S={1,2,3,4},并且覆蓋為C1、C2、C3。假設(shè)覆蓋C1包含{1,4},C2包含{1,2},以及C3包含{1,2,3,4}。如果1和2接近到足以被聚類,并且3和4無(wú)關(guān),那么,S(1)的聚類可以為{1}、{4},并且S(2)的集群可以為{1,2},以及S(3)的聚類可以為{1,2}、{3,4}。因此,在該示例中,生成的圖具有由集合{1}、{4}、{1,2}和{4}給出的至多四個(gè)節(jié)點(diǎn)(注意,{1,2}出現(xiàn)在兩個(gè)不同的聚類中)。在所使用的點(diǎn)的集合中,兩個(gè)節(jié)點(diǎn)相交,前體條件是相關(guān)聯(lián)的節(jié)點(diǎn)集合具有非空交集(雖然這可以很容易地更改以允許用戶要求交集是“足夠大的”,無(wú)論是絕對(duì)的還是相對(duì)而言)。

由于聚類,分組的成員患者可以共享生物學(xué)相似性(例如,基于生物學(xué)數(shù)據(jù)的相似性)。

分析服務(wù)器可以接合集群以識(shí)別邊緣(例如,節(jié)點(diǎn)之間的連接線)。由邊緣接合(即,互連)的集群共享一個(gè)或多個(gè)成員患者。在步驟1216中,顯示器可以基于被包含在數(shù)據(jù)結(jié)構(gòu)中的臨床結(jié)果(例如,參見(jiàn)圖13的有關(guān)臨床結(jié)果)顯示具有屬性的可視化圖。任何標(biāo)記(label)或注解可以基于被包含在數(shù)據(jù)結(jié)構(gòu)中的信息來(lái)使用。例如,治療、預(yù)后、理療、診斷等可以被用于標(biāo)記可視化。在一些實(shí)施例中,醫(yī)師或映射可視化的其它用戶通過(guò)與映射可視化交互來(lái)訪問(wèn)注解或訪問(wèn)標(biāo)記。

所得到的癌癥映射可視化可以揭示被模糊、未被檢驗(yàn)和/或先前未被認(rèn)識(shí)的交互和關(guān)系。

圖14為在一些實(shí)施例中的顯示癌癥映射可視化1400的示例性可視化。癌癥映射可視化1400表示癌癥患者的拓?fù)渚W(wǎng)絡(luò)。癌癥映射可視化1400可以基于公用和/或?qū)S脭?shù)據(jù)。

在各種實(shí)施例中,癌癥映射可視化1400使用切除腫瘤的基因表達(dá)譜來(lái)形成。每個(gè)節(jié)點(diǎn)(即,在映射可視化1400中顯示的球或分組)包含具有相似基因譜的患者的子集。

如本文所述,一個(gè)或多個(gè)患者(即,每個(gè)節(jié)點(diǎn)或分組的患者成員)可以出現(xiàn)在多個(gè)節(jié)點(diǎn)中?;颊呖梢岳枚鄠€(gè)節(jié)點(diǎn)或多個(gè)分組共享相似基因譜。在生物學(xué)數(shù)據(jù)的50,000個(gè)不同基因表達(dá)的一個(gè)示例中,多個(gè)患者可以利用不同分組共享不同基因譜(例如,基于不同的基因表達(dá)組合)。當(dāng)患者利用不同分組或節(jié)點(diǎn)共享相似基因譜時(shí),患者可以被包含在該分組或節(jié)點(diǎn)內(nèi)。

癌癥映射可視化1400包括與不同臨床結(jié)果相關(guān)聯(lián)的分組和互連。全部或一些臨床結(jié)果可以與生成癌癥映射可視化1400的生物學(xué)數(shù)據(jù)相關(guān)聯(lián)。癌癥映射可視化1400包含與幸存者1402相關(guān)聯(lián)的分組和與非幸存者1404相關(guān)聯(lián)的分組。癌癥映射可視化1400還包含與雌激素受體陽(yáng)性非幸存者1406、雌激素受體陰性非幸存者1408、雌激素受體陽(yáng)性幸存者1410和雌激素受體陰性幸存者1412相關(guān)聯(lián)的不同分組。

在各種實(shí)施例中,在一個(gè)或多個(gè)患者是兩個(gè)或多個(gè)不同節(jié)點(diǎn)的成員時(shí),節(jié)點(diǎn)由邊緣(例如,直線或互連)互連。如果兩個(gè)節(jié)點(diǎn)之間沒(méi)有邊緣,則該兩個(gè)節(jié)點(diǎn)之間沒(méi)有共同的成員患者。例如,分組1414與分組1418共享至少一個(gè)共同的成員患者。兩個(gè)分組的交集由邊緣1416表示。如本文所述,兩個(gè)分組的共享成員患者的數(shù)量可以以任意種方式表示,包含互連的顏色、分組的顏色、互連的大小、分組的大小、互連的動(dòng)畫(huà)、分組的動(dòng)畫(huà)、亮度等。在一些實(shí)施例中,如果用戶與分組1414和/或1418交互(例如,利用輸入裝置諸如鼠標(biāo)圍繞兩個(gè)分組和互連繪制框),則兩個(gè)分組的共享成員患者的數(shù)量和/或標(biāo)識(shí)符可以是可用的。

在各種實(shí)施例中,在獲取乳腺腫瘤的一些數(shù)據(jù)時(shí),醫(yī)師將數(shù)據(jù)引導(dǎo)到分析服務(wù)器(例如,在網(wǎng)絡(luò)諸如互聯(lián)網(wǎng)上的分析服務(wù)器208),這可以在癌癥映射可視化1400上相對(duì)于一個(gè)或多個(gè)分組來(lái)定位患者。癌癥映射可視化1400的背景可以允許醫(yī)師評(píng)估各種可能的結(jié)果(例如,新患者的表示與臨床結(jié)果的不同關(guān)聯(lián)的接近度)。

圖15為在一些實(shí)施例中的用于相對(duì)于癌癥映射可視化定位新患者數(shù)據(jù)的流程圖。在步驟1502中,接收新患者的新生物學(xué)數(shù)據(jù)。在各種實(shí)施例中,分析服務(wù)器(例如,圖1和圖2的分析服務(wù)器208)的輸入模塊314可以從醫(yī)師或醫(yī)療設(shè)施接收新患者的生物學(xué)數(shù)據(jù),該醫(yī)療設(shè)施執(zhí)行一個(gè)或多個(gè)樣品的分析以生成生物學(xué)數(shù)據(jù)。生物學(xué)數(shù)據(jù)可以是表示新患者的生物學(xué)數(shù)據(jù)的任何數(shù)據(jù),其包含例如基因表達(dá)、測(cè)序信息等。

在一些實(shí)施例中,分析服務(wù)器208可以包括新患者距離模塊和定位引擎。在步驟1504中,新患者距離模塊確定癌癥映射可視化1600的每個(gè)患者的生物學(xué)數(shù)據(jù)和來(lái)自新患者的新生物學(xué)數(shù)據(jù)之間的距離。例如,在生成癌癥映射可視化1600中被利用的先前生物學(xué)數(shù)據(jù)可以被存儲(chǔ)在映射的數(shù)據(jù)結(jié)構(gòu)中??梢源_定新患者的新生物學(xué)數(shù)據(jù)和在映射的數(shù)據(jù)結(jié)構(gòu)中的先前患者的生物學(xué)數(shù)據(jù)中的每個(gè)之間的距離。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以使用任何數(shù)量的不同量度或函數(shù)以任意種方式來(lái)確定距離。可以確定先前患者的生物學(xué)數(shù)據(jù)和新患者的生物學(xué)數(shù)據(jù)之間的距離。例如,可以確定在新患者的第一基因表達(dá)測(cè)量和先前患者的第一基因表達(dá)測(cè)量中的每個(gè)(或子集)之間的距離(例如,可以計(jì)算在新患者的G1和每個(gè)先前患者的G1之間的距離)。可以確定新患者的其它基因表達(dá)測(cè)量的全部(或子集)與先前患者的基因表達(dá)測(cè)量之間的距離。

在各種實(shí)施例中,新患者在癌癥映射可視化1600上的定位可以利用已確定的距離相對(duì)于其它成員患者來(lái)確定。

在步驟1506中,新患者距離模塊可以將每個(gè)分組的患者成員之間的距離與新患者已確定的距離比較。新患者可以被定位在距離上最接近新患者的患者成員的分組中。在一些實(shí)施例中,新患者定位可以被確定在包含最接近新患者的一個(gè)或多個(gè)患者成員的分組內(nèi)(即使該分組的其它成員具有距新患者的更長(zhǎng)距離)。在一些實(shí)施例中,該步驟為可選的。

在各種實(shí)施例中,可以確定每個(gè)分組的代表性患者成員。例如,分組的患者成員中的一些或全部可以被求平均或以其它方式被組合以生成該分組的代表性患者成員(例如,患者成員的距離和/或生物學(xué)數(shù)據(jù)可以被求平均或求和(aggregated))??梢源_定新患者生物學(xué)數(shù)據(jù)與一個(gè)或多個(gè)分組的一個(gè)或多個(gè)代表性患者成員的平均生物學(xué)數(shù)據(jù)或組合生物學(xué)數(shù)據(jù)之間的距離。定位引擎可以基于距離確定新患者的定位。在一些實(shí)施例中,一旦發(fā)現(xiàn)新患者和代表性患者成員之間的最近距離,可以確定新患者和與最近代表性患者成員相關(guān)聯(lián)的分組的個(gè)體患者成員之間的距離。

在可選的步驟1508中,可以確定具有最接近新患者(基于所確定的距離)的一個(gè)或多個(gè)患者成員的分組的直徑。在一個(gè)示例中,計(jì)算最接近新患者的患者成員的分組的直徑。分組的直徑可以是當(dāng)與分組的所有患者成員之間的距離比較時(shí),彼此最遠(yuǎn)的兩個(gè)患者成員之間的距離。如果新患者和分組的最近患者成員之間的距離小于分組的直徑,則新患者可以被定位在分組內(nèi)。如果新患者和分組的最近患者成員之間的距離大于分組的直徑,則新患者可能在分組的外面(例如,通過(guò)新患者作為分組的單個(gè)患者成員,新分組可以被顯示在癌癥映射可視化上)。如果新患者和分組的最近患者成員之間的距離等于分組的直徑,則新患者可以被置于在分組內(nèi)或外面。

將認(rèn)識(shí)到,在確定新患者定位是否在分組內(nèi)或外面時(shí),不要求確定分組的直徑。在各種實(shí)施例中,確定成員患者之間的距離的分布以及成員患者和新患者之間的距離的分布。將新患者定位在分組內(nèi)或外面的判定可以基于分布。例如,距離的分布中存在間隙,則新患者可以與分組分開(kāi)(例如,作為新分組)。在一些實(shí)施例中,如果間隙大于先前存在的閾值(例如,由醫(yī)師、其它用戶建立的或先前編程的),則新患者可以被置于相對(duì)于最接近成員患者的分組放置的新分組中。計(jì)算候選成員患者的距離的分布以確定是否可能存在兩個(gè)或多個(gè)分組的過(guò)程可以在生成癌癥映射可視化中(例如,在關(guān)于圖12所述的過(guò)程中)被利用。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以存在任意種方式來(lái)確定新患者是否應(yīng)被包含在其它患者成員的分組內(nèi)。

在步驟1510中,定位引擎確定新患者相對(duì)于癌癥映射可視化的成員患者和/或分組的定位。新定位可以相對(duì)于在新患者和先前患者之間的已確定的距離。新患者的定位可以為先前存在的分組的一部分或可以形成新分組。

在一些實(shí)施例中,新患者關(guān)于癌癥映射可視化的定位可以由醫(yī)師本地執(zhí)行。例如,癌癥映射可視化1400可以被提供給醫(yī)師(例如,通過(guò)數(shù)字裝置)。醫(yī)師可以本地加載新患者的生物學(xué)數(shù)據(jù),并且可以本地或通過(guò)基于云的服務(wù)器確定距離。與新患者相關(guān)聯(lián)的(多個(gè))定位可以本地或遠(yuǎn)程地覆加在先前存在的癌癥映射可視化上。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在一些實(shí)施例中,癌癥映射可視化(例如,癌癥映射可視化1400)的先前狀態(tài)可以被保持或以其它方式被存儲(chǔ),并且新的癌癥映射可視化利用新患者生物學(xué)數(shù)據(jù)生成(例如,以類似于關(guān)于圖12所討論的方法)。新近生成的圖可以與先前狀態(tài)進(jìn)行比較,并且由此差異可以被突出,在一些實(shí)施例中,突出與新患者相關(guān)聯(lián)的(多個(gè))定位(location)。通過(guò)此方式,距離可以不以關(guān)于圖15所描述的來(lái)計(jì)算,而相反,過(guò)程可以類似于先前所論述的來(lái)進(jìn)行。

圖16為在一些實(shí)施例中的顯示包含三個(gè)新癌癥患者的位置的癌癥映射的示例性可視化。癌癥映射可視化1400包括與關(guān)于圖14所論述的不同臨床結(jié)果相關(guān)聯(lián)的分組和互連。臨床結(jié)果的全部或一些可以與生成癌癥映射可視化1400的生物學(xué)數(shù)據(jù)相關(guān)聯(lián)。癌癥映射可視化1400包含與幸存者1402相關(guān)聯(lián)的不同分組、與非幸存者1404相關(guān)聯(lián)的分組、雌激素受體陽(yáng)性非幸存者1406、雌激素受體陰性非幸存者1408、雌激素受體陽(yáng)性幸存者1410和雌激素受體陰性幸存者1412。

癌癥映射可視化1400包含三個(gè)新乳腺癌患者的三個(gè)定位。乳腺癌患者的定位1602與雌激素受體陽(yáng)性幸存者的臨床結(jié)果相關(guān)聯(lián)。乳腺癌患者的定位1604與雌激素受體陰性幸存者的臨床結(jié)果相關(guān)聯(lián)。遺憾的是,乳腺癌患者的定位1606與雌激素受體陰性非幸存者的臨床結(jié)果相關(guān)聯(lián)?;诙ㄎ?,醫(yī)師可以考慮不同的診斷、預(yù)后、治療和療法以利用癌癥映射可視化1400保持或嘗試將乳腺癌患者移到不同的定位。

在一些實(shí)施例中,醫(yī)師可以評(píng)估與任何數(shù)量的分組的任何數(shù)量的成員患者相關(guān)聯(lián)的底層生物學(xué)數(shù)據(jù)以更好地理解基因相似性和/或相異性。醫(yī)師可以利用該信息做出更好的知情決定。

患者定位1604在癌癥映射可視化1400上被突出為活動(dòng)的(active)(例如,由醫(yī)師選擇)。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,不同定位可以具有任何顏色、大小、亮度和/或動(dòng)畫(huà)以為醫(yī)師突出期望的定位。此外,雖然針對(duì)三個(gè)不同的乳腺癌患者,僅一個(gè)定位被識(shí)別出,但是任何乳腺癌患者可以具有指示不同基因相似性的多個(gè)定位。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,癌癥映射可視化1400可以在任何時(shí)間利用新信息被更新。因此,當(dāng)新患者被添加到癌癥映射可視化1400時(shí),新數(shù)據(jù)更新可視化,使得當(dāng)未來(lái)患者被置于映射中時(shí),該映射可能已包含更新的信息。當(dāng)新信息和/或新患者數(shù)據(jù)被添加到癌癥映射可視化1400時(shí),癌癥映射可視化1400可以作為工具改善以更好地通知醫(yī)師或其它醫(yī)療專業(yè)人員。

在各種實(shí)施例中,癌癥映射可視化1400可以跟蹤患者隨時(shí)間的變化。例如,在新患者的生物學(xué)數(shù)據(jù)中測(cè)量出變化時(shí),對(duì)新患者的更新可以可視地被跟蹤。在一些實(shí)施例中,類似地跟蹤先前的患者數(shù)據(jù),其可以被用于例如基于狀況、治療和/或療法確定變化的相似性。在各種實(shí)施例中,任何數(shù)量的患者的變化速度和/或變化加速度可以使用癌癥映射可視化1400或如癌癥映射可視化1400所描繪的隨著時(shí)間被跟蹤。此類描繪可以幫助治療醫(yī)師或與治療醫(yī)師相關(guān)的其它人員更好地理解患者的變化并且提供改善的當(dāng)前和/或更新的診斷、預(yù)后、治療和/或療法。

圖17為在一些實(shí)施例中的利用新患者數(shù)據(jù)的定位和可視化的流程圖。在各種實(shí)施例中,醫(yī)師可以收集來(lái)自從新患者切除的腫瘤的大量基因組信息、輸入數(shù)據(jù)(例如,將數(shù)據(jù)上傳到分析服務(wù)器)并且接收具有新患者定位的映射可視化。在映射內(nèi)的新患者的定位可以向醫(yī)師提供關(guān)于與其他患者的相似性的新信息。在一些實(shí)施例中,映射可視化可以被注解,使得醫(yī)師可以檢查在映射可視化的給定區(qū)域中先前患者的結(jié)果的分布,并且然后使用該信息幫助對(duì)診斷、治療、預(yù)后和/或療法做出決定。

在步驟1702中,醫(yī)療專業(yè)人員或其它人員可以去除來(lái)自患者的樣品。樣品可以為腫瘤、血液或任何其它生物學(xué)物質(zhì)。在一個(gè)示例中,醫(yī)療專業(yè)人員執(zhí)行腫瘤切除。可以從患者取得任何數(shù)量的樣品。

在步驟1704中,(多個(gè))樣品可以被提供給醫(yī)療設(shè)施以確定新患者的生物學(xué)數(shù)據(jù)。在一個(gè)示例中,醫(yī)療設(shè)施測(cè)量基因組數(shù)據(jù),諸如蛋白質(zhì)水平或數(shù)個(gè)基因的基因表達(dá)。

在步驟1706中,醫(yī)療專業(yè)人員或與醫(yī)療專業(yè)人員相關(guān)聯(lián)的其它實(shí)體可以接收基于來(lái)自新患者的(多個(gè))樣品的新患者的生物學(xué)數(shù)據(jù)。在一個(gè)示例中,醫(yī)師可以接收新患者的生物學(xué)數(shù)據(jù)。醫(yī)師可以通過(guò)互聯(lián)網(wǎng)向?qū)⑷炕蛞恍┑男禄颊叩纳飳W(xué)數(shù)據(jù)提供到分析服務(wù)器(例如,分析服務(wù)器可以為基于云的服務(wù)器)。在一些實(shí)施例中,分析服務(wù)器為圖1的分析服務(wù)器208。在一些實(shí)施例中,確定新患者的生物學(xué)數(shù)據(jù)的醫(yī)療設(shè)施提供以電子格式的生物學(xué)數(shù)據(jù),所述生物學(xué)數(shù)據(jù)可以被上傳到分析服務(wù)器。在一些實(shí)施例中,確定新患者的生物學(xué)數(shù)據(jù)的醫(yī)療設(shè)施(例如,測(cè)量基因組數(shù)據(jù)的醫(yī)療設(shè)施)應(yīng)醫(yī)師或與醫(yī)師相關(guān)聯(lián)的其他人員的請(qǐng)求將生物學(xué)數(shù)據(jù)提供到分析服務(wù)器。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,生物學(xué)數(shù)據(jù)可以以任何種方式被提供給分析服務(wù)器。

分析服務(wù)器可以為任何數(shù)字裝置并且可以不局限于網(wǎng)絡(luò)上的數(shù)字裝置。在一些實(shí)施例中,醫(yī)師可以訪問(wèn)數(shù)字裝置。例如,分析服務(wù)器可以是臺(tái)式計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、本地服務(wù)器或任何其它的數(shù)字裝置。

在步驟1708中,在分析服務(wù)器接收新患者的生物學(xué)數(shù)據(jù)之后,新患者可以被定位在映射可視化中,并且信息可以被發(fā)送回至醫(yī)師。可視化可以為具有表示先前患者成員的集群的節(jié)點(diǎn)和在表示共同患者成員的節(jié)點(diǎn)之間的邊緣的映射??梢暬梢赃M(jìn)一步描繪與新患者的生物學(xué)數(shù)據(jù)相關(guān)的一個(gè)或多個(gè)定位。

映射可視化可以被實(shí)時(shí)地提供給醫(yī)師或與醫(yī)師相關(guān)聯(lián)的其他人員。例如,在與新患者相關(guān)聯(lián)的生物學(xué)數(shù)據(jù)被提供到分析服務(wù)器之后,分析服務(wù)器可以在相當(dāng)短的時(shí)間內(nèi)(例如,在幾秒鐘或幾分鐘內(nèi))將映射可視化提供回至醫(yī)師或醫(yī)師相關(guān)聯(lián)的其他人員。在一些實(shí)施例中,醫(yī)師可以接收隨任何時(shí)間的映射可視化。

映射可視化可以任意種方式提供給醫(yī)師。例如,醫(yī)師可以通過(guò)任何數(shù)字裝置,諸如但不限于辦公計(jì)算機(jī)、Ipad、平板裝置、媒體裝置、智能電話、電子閱讀器或膝上型計(jì)算機(jī)來(lái)接收映射可視化。

在步驟1710中,醫(yī)師可以基于映射可視化評(píng)估可能的不同臨床結(jié)果。在一個(gè)示例中,映射輔助的醫(yī)師可以根據(jù)患者落在可視化上的位置(例如,幸存者或非幸存者)來(lái)對(duì)療法和治療做出決定。映射可視化可以包含識(shí)別與一個(gè)或多個(gè)臨床結(jié)果相關(guān)聯(lián)的互連和分組的一個(gè)或多個(gè)集合的注解或標(biāo)記。醫(yī)師可以基于與新患者相關(guān)聯(lián)的映射上的(多個(gè))位置來(lái)評(píng)估可能的臨床結(jié)果。

如上所述,在量度空間(例如,相似性空間)上的感興趣的連續(xù)函數(shù)允許本文所述的方法和系統(tǒng)的應(yīng)用。在各種實(shí)施例中,可以對(duì)量度空間內(nèi)的數(shù)據(jù)執(zhí)行函數(shù)以將數(shù)據(jù)投影到參考空間中。具有(多個(gè))函數(shù)以根據(jù)少量的坐標(biāo)(例如,計(jì)數(shù)小的字集合的使用的數(shù)量)將量度空間的數(shù)據(jù)投影到相似性空間是實(shí)現(xiàn)大多數(shù)量度的連續(xù)性的相當(dāng)簡(jiǎn)單的方式,并且所得的透鏡可以適合于插值(interpolation)。然而,此類透鏡可能在高維度數(shù)據(jù)上是限制使用,并且如果在這些少量的維度中捕獲到感興趣的空間特征,可能不存在保持其余坐標(biāo)的的點(diǎn)。

在實(shí)施中,如果缺乏特定的數(shù)據(jù)集的特殊知識(shí),合并量度(例如,用于生成量度空間的數(shù)據(jù)上的函數(shù))的內(nèi)在屬性(諸如密度或中心性)的透鏡比取決于少量坐標(biāo)的函數(shù)更有可能捕獲空間的特征。維數(shù)減少的一個(gè)示例方法(這是考慮聯(lián)合應(yīng)用的小的透鏡集合的方法)為“隨機(jī)鄰域嵌入”(又叫做SNE)的變體。在隨機(jī)鄰域嵌入中的底層直覺(jué)是將高維空間映射到在低維歐幾里得空間(通常是兩個(gè)或三個(gè)維度)中的點(diǎn)、定義點(diǎn)上的勢(shì)(potential)函數(shù),所述勢(shì)函數(shù)處罰它們因?yàn)榕c它們?cè)诟呔S空間中相比在嵌入中更接近或更遠(yuǎn)離,并且在周圍移動(dòng)點(diǎn)以最小化勢(shì)。這可能有效地類似于圖-布局的問(wèn)題,其中,(潛在地)高維空間、任意的組合圖將通過(guò)二維圖像忠實(shí)地被表示。

一些示例方法合計(jì)計(jì)算全局勢(shì),并且接著通過(guò)在人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用中使用的相同優(yōu)化技術(shù)來(lái)優(yōu)化布置。這些方法產(chǎn)生非常漂亮的圖像并且透鏡可以利用TDA變得顯著有效,但是它們?cè)谟?jì)算方面可能是昂貴的。本文描述的一些實(shí)施例允許使用計(jì)算上不昂貴的布局機(jī)制和方法。

圖18為具有透鏡發(fā)生模塊1802和布局引擎1804的示例性分析服務(wù)器208的框圖。在圖18中示出的示例性分析服務(wù)器208可以類似于在圖3中示出的示例性分析服務(wù)器208。在示例性實(shí)施例中,分析服務(wù)器208包括處理器302、輸入/輸出(I/O)接口304、通信網(wǎng)絡(luò)接口306、存儲(chǔ)器系統(tǒng)308和存儲(chǔ)系統(tǒng)310。

存儲(chǔ)系統(tǒng)310包括由一些實(shí)施例使用的多個(gè)模塊。在各種實(shí)施例中,存儲(chǔ)系統(tǒng)310包括處理模塊312,其包括輸入模塊314、濾波器模塊316、分辨率模塊318、分析模塊320、可視化引擎322、數(shù)據(jù)庫(kù)存儲(chǔ)324、透鏡發(fā)生模塊1802和布局引擎1804。分析服務(wù)器208和/或存儲(chǔ)系統(tǒng)310的可替代示例可以包括更多、更少或功能相當(dāng)?shù)慕M件和模塊。

在各種實(shí)施例中,輸入模塊314從任意數(shù)量的數(shù)字裝置接收數(shù)據(jù)(例如,高維數(shù)據(jù))。分析服務(wù)器208可以對(duì)接收的數(shù)據(jù)執(zhí)行TDA和/或其它分析。在一些實(shí)施例中,輸入模塊314不生成或提供圖形用戶界面或生成顯示信息或接收用戶信息的窗口。

在一些實(shí)施例中,輸入模塊314可以被配置成接收來(lái)自用戶裝置202a的命令和偏好。在各種示例中,輸入模塊314接收來(lái)自用戶的將被用于執(zhí)行分析的選擇。分析的輸出可以為交互式可視化。

輸入模塊314可以向用戶提供各種界面窗口,從而允許用戶選擇并訪問(wèn)數(shù)據(jù)庫(kù)、選擇與數(shù)據(jù)庫(kù)相關(guān)聯(lián)的字段、選擇量度、選擇一個(gè)或多個(gè)濾波器并且識(shí)別分辨率參數(shù),用于分析。在一個(gè)示例中,輸入模塊314接收數(shù)據(jù)庫(kù)標(biāo)識(shí)符并訪問(wèn)大型多維數(shù)據(jù)庫(kù)。輸入模塊314可以掃描數(shù)據(jù)庫(kù)并且向用戶提供允許用戶識(shí)別ID字段的界面窗口。ID字段為用于每個(gè)數(shù)據(jù)點(diǎn)的標(biāo)識(shí)符。在一個(gè)示例中,標(biāo)識(shí)符是唯一的。相同的列名稱可以存在于從其選擇濾波器的表格中。在ID字段被選擇之后,輸入模塊314然后可以向用戶提供另一界面窗口以允許用戶從數(shù)據(jù)庫(kù)的表格選擇一個(gè)或多個(gè)數(shù)據(jù)字段。

雖然本文中交互式窗口可以被描述,但是本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,任何窗口、圖形用戶界面和/或命令行可以被使用以接收信息或向用戶或用戶裝置202a提示信息。

濾波器模塊316可以被配置成利用關(guān)于接收的數(shù)據(jù)(例如,來(lái)自輸入模塊314)的相似性、濾波器或其它函數(shù)生成有限量度空間。在一些實(shí)施例中,濾波器模塊316被配置成接收相似性、濾波器或用戶的其它函數(shù)選擇。由濾波器模塊316(或其它模塊)生成的界面窗口可以允許用戶選擇在對(duì)所選數(shù)據(jù)字段內(nèi)的數(shù)據(jù)進(jìn)行分析中使用的量度函數(shù)。濾波器模塊316也可以允許用戶選擇和/或定義一個(gè)或多個(gè)濾波器(例如,濾波器函數(shù))。

分辨率模塊318可以允許用戶選擇分辨率(例如,對(duì)集群數(shù)據(jù)),其包含濾波器參數(shù)。在一個(gè)示例中,用戶輸入用于濾波器的多個(gè)區(qū)間和重疊百分比。

分析模塊320可以基于數(shù)據(jù)庫(kù)和由用戶所提供的信息執(zhí)行數(shù)據(jù)分析。在各種實(shí)施例中,分析模塊320執(zhí)行代數(shù)拓?fù)浞治鲆宰R(shí)別數(shù)據(jù)和數(shù)據(jù)集群內(nèi)的結(jié)構(gòu)和關(guān)系。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,分析模塊320可以使用并行算法或使用各種統(tǒng)計(jì)技術(shù)的歸納(例如,歸納自舉至“之”字形(zig-zag)方法)以增加可以被處理的數(shù)據(jù)集的大小。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,分析模塊320不局限于代數(shù)拓?fù)浞治觯强梢詧?zhí)行任何分析。

可視化引擎322生成可選的可視化,其包含來(lái)自分析模塊320的輸出。交互式可視化允許用戶以圖形的方式查看全部或部分分析。在一些實(shí)施例中,可視化模塊322生成交互式可視化。交互式可視化允許用戶與可視化交互。例如,用戶可以從可視化內(nèi)選擇圖的部分以查看底層數(shù)據(jù)和/或底層分析和/或與其交互。接著用戶可以改變分析的參數(shù)(例如,改變量度、(多個(gè))濾波器或(多個(gè))分辨率),這允許用戶可視地識(shí)別使用先前手段可能不能檢測(cè)出的數(shù)據(jù)中的關(guān)系。交互式可視化在圖9-11中進(jìn)一步描述。

數(shù)據(jù)庫(kù)存儲(chǔ)324被配置成存儲(chǔ)正被訪問(wèn)的全部或部分?jǐn)?shù)據(jù)庫(kù)。在一些實(shí)施例中,數(shù)據(jù)庫(kù)存儲(chǔ)324可以存儲(chǔ)數(shù)據(jù)庫(kù)的保存部分。此外,數(shù)據(jù)庫(kù)存儲(chǔ)324可以被用于存儲(chǔ)用戶偏好、參數(shù)和分析輸出,從而允許用戶對(duì)數(shù)據(jù)庫(kù)執(zhí)行許多不同功能而不丟失先前的工作。

透鏡生成模塊1802生成至少一個(gè)函數(shù)以將來(lái)自量度空間的信息投影到參考空間。在各種實(shí)施例中,透鏡生成模塊1802基于量度空間中的信息生成透鏡函數(shù)。透鏡生成模塊1802可以用任意種方式生成透鏡函數(shù)。示例性透鏡生成模塊1802關(guān)于圖19被討論。

布局引擎1804被配置成在參考空間中布局信息。示例性布局引擎1804關(guān)于圖26被討論。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,全部或部分的處理模塊312可以位于用戶裝置202a或數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器206。在一些實(shí)施例中,處理模塊312的全部或部分功能可以由用戶裝置202a執(zhí)行。

我們現(xiàn)在描述的是SNE的變體,其可被稱為界標(biāo)(landmarked)隨機(jī)鄰域嵌入或LSNE。圖19示出在一些實(shí)施例中的透鏡生成模塊1802。透鏡生成模塊1802可以包括界標(biāo)模塊1902、最近鄰居模塊1904、圖構(gòu)建模塊1906、邊緣發(fā)生器模塊1908和非界標(biāo)投影模塊1910。

界標(biāo)模塊1902可以選擇數(shù)據(jù)的子集。在一個(gè)示例中,界標(biāo)模塊1902選擇有限量度空間中的數(shù)據(jù)的子集。數(shù)據(jù)的子集可以被稱為數(shù)據(jù)的界標(biāo)。例如,在任何有限量度空間中,界標(biāo)模塊可以選擇大到足以捕獲空間的“感興趣特征”的界標(biāo)集L。在一些實(shí)施例中,界標(biāo)模塊1902隨機(jī)選擇有限量度空間中的數(shù)據(jù)的子集。在有限量度空間中可以存在任何數(shù)量的被選擇為界標(biāo)的點(diǎn)。被選擇的點(diǎn)的數(shù)量可以基于接收的數(shù)據(jù)、用戶配置和/或任何其它信息。界標(biāo)模塊1902關(guān)于圖29進(jìn)一步被討論。

我們可以構(gòu)建關(guān)于這些界標(biāo)的圖(例如,到參考空間的投影)并通過(guò)插值填充空間的其余值。該圖可以是基礎(chǔ)或被用作用戶的可視化。在一些實(shí)施例中,圖在存儲(chǔ)器中生成并且不是可視化。

最近鄰居模塊1904可以計(jì)算每個(gè)界標(biāo)的K個(gè)最近鄰居(在界標(biāo)集L中)。界標(biāo)的最近鄰居包含相對(duì)于在集合L中的其它界標(biāo)的全部或一些,最接近在有限量度空間中的選擇的界標(biāo)的其它界標(biāo)。

在一些實(shí)施例中,K的大小可以取決于空間的“平均小尺度”結(jié)構(gòu)。在一個(gè)示例中,K可以在10和50之間。最近鄰居模塊1904可以將K選擇為任何數(shù)。在一些實(shí)施例中,用戶(例如,數(shù)據(jù)科學(xué)家)可以將K配置為任何數(shù),諸如在一個(gè)示例中,K為固定值(例如,20)。

圖構(gòu)建模塊1906可以構(gòu)建一系列無(wú)向的“集群圖”Γk。例如,對(duì)于每個(gè)1≤k≤K,通過(guò)定義界標(biāo)i和界標(biāo)j之間的邊緣,如果且僅如果i是j的k個(gè)最近鄰居之一,并且反之亦然。直觀地,每個(gè)Γk的非平凡組元(component)的計(jì)數(shù)用作選擇這些圖中的哪些用作起點(diǎn)的指導(dǎo),實(shí)際上,從Γ20開(kāi)始可能是相當(dāng)有效的。

已構(gòu)建初始的集群圖Γk,邊緣發(fā)生器模塊1908可以添加邊緣以形成連接的圖。在一些實(shí)施例中,對(duì)單個(gè)組元執(zhí)行布局代碼,因?yàn)榧褐g的關(guān)系可能幾乎與集群本身一樣重要。邊緣發(fā)生器模塊1908可以計(jì)算在Γk中的組元之間的強(qiáng)度,并且基于這些強(qiáng)度添加組元之間的邊緣。例如,使Γk的組元為C1、...、Cm。如果m為1,那么邊緣發(fā)生器模塊1908可以已完成。否則,邊緣發(fā)生器模塊1908可以對(duì)所有對(duì)的界標(biāo)a∈Ci、b∈Cj進(jìn)行迭代,其中,i≠j,1≤i,j≤m,并且對(duì)于每對(duì)集群,記住所看到的T-1個(gè)最短此類邊緣,其中T為最終圖所期望的集群之間的不同強(qiáng)度水平的數(shù)量。T為更大可以意味著在初始集群的分組中將有更多的分級(jí),而T為2可以指示集群可能是“接近”或“遠(yuǎn)離”。在一個(gè)示例中,T=5是令人滿意的。注意,不是每對(duì)集群可以具有在它們之間的T個(gè)邊緣。例如,一對(duì)單件可以僅具有一個(gè)邊緣。

邊緣發(fā)生器模塊1908可以通過(guò)求和所有的K個(gè)最近鄰居邊緣來(lái)分配集群之間的強(qiáng)度,其中,是a的第k個(gè)最近鄰居的b的強(qiáng)度δ(delta)為其中,a∈Ci并且b∈Cj。在一些實(shí)施例中,邊緣發(fā)生器模塊1908通過(guò)組元的大小的乘積乘以邊緣的序數(shù)值的倒數(shù)來(lái)遞增Ci和Cj之間的強(qiáng)度。直覺(jué)是,如果每個(gè)組元中有十個(gè)點(diǎn),則可以預(yù)期一百個(gè)邊緣,因此,每個(gè)連接的強(qiáng)度可以通過(guò)大小的乘積來(lái)成比例地減少。邊緣發(fā)生器模塊1908可以通過(guò)連接的強(qiáng)度對(duì)邊緣之間的連接分類,并對(duì)這些強(qiáng)度應(yīng)用離散化算法來(lái)將每個(gè)連接分配至T個(gè)類別中的一個(gè)。在最強(qiáng)類別中的集群對(duì)得到被添加在它們之間的T-1個(gè)邊緣,下一個(gè)最強(qiáng)類別得到T-2個(gè),等等(最弱的類別可能沒(méi)有得到)。

如果圖保持未連接,則邊緣發(fā)生器模塊1908可以在(可傳遞地)未連接的集群之間添加最短的邊緣,從集群的最強(qiáng)對(duì)開(kāi)始并向下操作。在各種實(shí)施例中,結(jié)果為連接的圖。

布局引擎1804(參見(jiàn)圖18)可在參考空間中布局圖。示例布局引擎1804關(guān)于圖26-28進(jìn)一步討論。

非界標(biāo)投影模塊1910可以將來(lái)自接收的信息(例如,來(lái)自接收的數(shù)據(jù))的非界標(biāo)信息投影到參考空間。投影的過(guò)程可以以任意種方式完成。例如,非界標(biāo)投影模塊1910可以從界標(biāo)插值以發(fā)現(xiàn)非界標(biāo)點(diǎn)在空間中的定位。非界標(biāo)投影模塊1910的示例過(guò)程參考圖20來(lái)討論。

圖20為在一些實(shí)施例中的用于透鏡生成的流程圖。在步驟2002中,處理模塊312(例如,輸入模塊214)可以接收數(shù)據(jù)。該數(shù)據(jù)可以為任何類型的數(shù)據(jù),其包含例如基因表達(dá)、文本、測(cè)量或任何數(shù)據(jù)。數(shù)據(jù)可以從任何源或源的組合接收。例如,數(shù)據(jù)可以從任何數(shù)量的傳感器和/或從任何數(shù)量的數(shù)字裝置接收的數(shù)據(jù)語(yǔ)料庫(kù)來(lái)接收。

在各種實(shí)施例中,可以對(duì)數(shù)據(jù)執(zhí)行一個(gè)或多個(gè)量度函數(shù)以生成量度空間(例如,有限量度空間)。在各種實(shí)施例中,濾波器模塊316對(duì)接收自處理模塊312的全部或一些數(shù)據(jù)應(yīng)用一個(gè)或多個(gè)量度函數(shù)。例如,量度函數(shù)可以生成數(shù)據(jù)密度的測(cè)量、不同數(shù)據(jù)點(diǎn)之間的接近度、數(shù)據(jù)記錄之間的相似性、相異性、中心度和/或任何其它測(cè)量。

在步驟2004中,界標(biāo)模塊1902將有限量度空間中的較小點(diǎn)集識(shí)別為“界標(biāo)”。

界標(biāo)可以“表征”有限量度空間。直覺(jué)地,界標(biāo)可以表征和/或提供較大空間的表示。例如,集合L的界標(biāo)的數(shù)量可以大到足以捕獲有限量度空間和/或初始接收的數(shù)據(jù)的“感興趣特征”(例如,對(duì)于數(shù)據(jù)科學(xué)家)。界標(biāo)可以被用作增加尺度和性能的手段。

在一些實(shí)施例中,界標(biāo)模塊1902可以從有限量度空間選擇界標(biāo),以反映有限量度空間的平均表現(xiàn)和極端表現(xiàn)兩者。在一些示例中,界標(biāo)模塊1902可以隨機(jī)或基于任何方法從有限量度空間選擇全部或一些界標(biāo)。在一些實(shí)施例中,可以添加最大程度遠(yuǎn)離這些界標(biāo)的附加界標(biāo)。界標(biāo)模塊1902的一些示例關(guān)于圖29-33被討論。界標(biāo)的集合可以被表示為集合L。

界標(biāo)模塊1902可以選擇任何數(shù)量的界標(biāo)。在各種實(shí)施例中,界標(biāo)模塊1902選擇預(yù)定數(shù)量的界標(biāo)。預(yù)定數(shù)量的界標(biāo)可以由用戶設(shè)定或基于數(shù)據(jù)(例如,基于在有限量度空間中的點(diǎn)的百分比、密度、接收的數(shù)據(jù)的量等)來(lái)確定。

在步驟2006中,最近鄰居模塊1904計(jì)算在界標(biāo)集合L中的每個(gè)界標(biāo)的K個(gè)最近鄰居。在該示例中,K為任何整數(shù)。例如,如果K是20,則最近鄰居模塊1904識(shí)別在界標(biāo)集合L中的每個(gè)界標(biāo)的20個(gè)最近鄰居。界標(biāo)可以被選擇并且在有限量度空間中的至選擇的界標(biāo)的最近(例如,最接近)下一個(gè)界標(biāo)可以被表征為選擇的界標(biāo)的“最近鄰居”。

圖21為在有限量度空間中的界標(biāo)的示例描繪。在圖21中的界標(biāo)可以是較大的界標(biāo)集合的子集(例如,在圖21中描繪的界標(biāo)可以是界標(biāo)集合L的子集)。在該示例中,最近鄰居模塊1904確定至界標(biāo)集合L中的每個(gè)界標(biāo)的七個(gè)(即,在該示例中,K=7)最近鄰居。為了確定在界標(biāo)集合L中的每個(gè)界標(biāo)的最近鄰居,最近鄰居模塊1904可以確定在有限量度空間中的每個(gè)界標(biāo)和所有其它界標(biāo)之間的距離。在一些實(shí)施例中,最近鄰居模塊1904可以存儲(chǔ)在有限量度空間中的每個(gè)界標(biāo)和所有其它界標(biāo)之間的全部或一些距離,以便以后使用。

圖21描繪至界標(biāo)i、j以及k的七個(gè)最近鄰居,其中i、j以及k中的每個(gè)在正方形框中示出以易于參考。在該示例中,每個(gè)界標(biāo)可以表示一個(gè)或多個(gè)測(cè)量函數(shù)對(duì)任何數(shù)量的接收的數(shù)據(jù)執(zhí)行的一個(gè)或多個(gè)測(cè)量(例如,量度)。

最近鄰居模塊1904確定至界標(biāo)i的最近鄰居為{a,b,c,d,j,e,f}。最近鄰居模塊1904確定至界標(biāo)j的最近鄰居為{e,f,i,h,b,k,p}。將認(rèn)識(shí)到,第一選擇的界標(biāo)可以包含最近鄰居,然而,最近鄰居可以具有甚至更近的界標(biāo)。例如,至界標(biāo)k的最近鄰居為{l,m,p,n,o,g,q}。雖然界標(biāo)j包含作為最近鄰居的界標(biāo)k(例如,j的K個(gè)界標(biāo)中最接近的一個(gè)),界標(biāo)k具有甚至比j更接近k的K個(gè)界標(biāo)。

將認(rèn)識(shí)到,最近鄰居模塊1904可以識(shí)別不同界標(biāo)或不同界標(biāo)的子集的不同數(shù)量的最近鄰居。

在步驟2008中,圖構(gòu)建模塊1906通過(guò)在彼此為對(duì)稱的最近鄰居的界標(biāo)之間添加邊緣(例如,直線)來(lái)生成“集群圖”(例如,無(wú)向的集群圖)。如果界標(biāo)為彼此最近的鄰居,則該界標(biāo)為彼此對(duì)稱的最近鄰居。

例如,界標(biāo)i具有最近鄰居{a,b,c,d,j,e,f}并且界標(biāo)j具有最近鄰居{e,f,i,h,b,k,p}。由于至界標(biāo)i的最近鄰居包含界標(biāo)j,并且至界標(biāo)j的最近鄰居包含界標(biāo)i,界標(biāo)i和界標(biāo)j是彼此對(duì)稱的最近鄰居。由于界標(biāo)i和界標(biāo)j是彼此對(duì)稱的最近鄰居,圖構(gòu)建模塊1906可以在界標(biāo)i和界標(biāo)j之間添加邊緣。圖22示出在界標(biāo)i和界標(biāo)j之間的邊緣。

界標(biāo)j和界標(biāo)k不是對(duì)稱的最近鄰居。界標(biāo)j具有最近鄰居{e,f,i,h,b,k,p}并且界標(biāo)k具有最近鄰居{l,m,p,n,o,g,q}。雖然界標(biāo)j具有作為最近鄰居的界標(biāo)k,但是界標(biāo)k不具有作為最近鄰居的界標(biāo)j。因此,界標(biāo)j和界標(biāo)k為彼此不對(duì)稱的最近鄰居,并且圖構(gòu)建模塊1906可以不用邊緣連接界標(biāo)j和界標(biāo)k。

將認(rèn)識(shí)到,圖構(gòu)建模塊1906可以在與最近鄰居的子集對(duì)稱的界標(biāo)之間添加邊緣。對(duì)稱子集閾值可以是在1(一)和K(即,K是由最近鄰居模塊1904識(shí)別的最近鄰居的總數(shù))之間的值。在一個(gè)示例中,對(duì)稱子集閾值可以等于3。界標(biāo)i的前(first)三個(gè)最近鄰居為{a,b,c}。界標(biāo)j的前三個(gè)最近鄰居為{e,f,i}。雖然界標(biāo)i在界標(biāo)j的前三個(gè)最近鄰居中,但是界標(biāo)j不在界標(biāo)j的前三個(gè)最近鄰居內(nèi),因此圖構(gòu)建模塊1906可以不在界標(biāo)i和j之間添加邊緣。

在一些實(shí)施例中,當(dāng)與在與總的最近鄰居對(duì)稱的界標(biāo)之間添加邊緣相比時(shí),在與總的最近鄰居的子集對(duì)稱的界標(biāo)之間添加邊緣可以允許縮放和/或有效的計(jì)算。

在步驟2010和2012中,邊緣發(fā)生器模塊1908向集群圖添加邊緣以形成連接的圖,其中集群圖的每個(gè)組元通過(guò)邊緣被連接到集群圖的至少一個(gè)其它組元。當(dāng)存在從任何界標(biāo)到集群圖中的任何其它界標(biāo)的路徑時(shí),存在連接的圖。集群圖的組元是不具有至集群圖中的其它界標(biāo)的路徑的一組界標(biāo)。例如,具有兩個(gè)組元C1和C2的集群圖是具有兩個(gè)獨(dú)立界標(biāo)子集的集群圖,所述兩個(gè)獨(dú)立界標(biāo)子集在其之間不共享任何路徑。圖23示出不連通的集群圖的組元C1、C2和C3。

在步驟2010中,邊緣發(fā)生器模塊1908計(jì)算在集群圖中的組元之間的強(qiáng)度。邊緣發(fā)生器模塊1908可以用任意種方式計(jì)算在集群圖中的組元之間的強(qiáng)度。在一個(gè)示例中,邊緣發(fā)生器模塊1908可以確定在C1中的每個(gè)界標(biāo)至其C2中的最近鄰居(如果有的話)的得分。例如,邊緣發(fā)生器模塊1908可以確定在C2中的最近界標(biāo)至界標(biāo)j之間的距離。如先前所確定的,至界標(biāo)j的最近七個(gè)界標(biāo)的集合按距離順序?yàn)閧e,f,i,h,b,k,p}。

如先前所述,邊緣發(fā)生器模塊1908可以通過(guò)求和所有的K個(gè)最近鄰居邊緣來(lái)在集群之間分配強(qiáng)度,其中,是a的第k個(gè)最近鄰居的b的強(qiáng)度δ為其中,a∈Ci以及b∈Cj。在該示例中,在至界標(biāo)j的七個(gè)最近界標(biāo)中,只有界標(biāo)k和界標(biāo)p在組元C2中。在該示例中,邊緣發(fā)生器模塊1908可以將界標(biāo)j和C2的最近鄰居之間的強(qiáng)度分配為在該示例中,邊緣發(fā)生器模塊1908將評(píng)估至C1中的每個(gè)界標(biāo)的七個(gè)最近鄰居,以確定這些最近鄰居中的任何最近鄰居是否在C2中并且相應(yīng)地得分。類似地,邊緣發(fā)生器模塊1908將評(píng)估至C2中的每個(gè)界標(biāo)的七個(gè)最近鄰居,以確定這些最近鄰居中的任何最近鄰居是否在C1中并且相應(yīng)地得分。C1和C2的這些得分將被一起添加以生成C1C2對(duì)得分。

將認(rèn)識(shí)到,不是所有界標(biāo)將具有在不連通的組元中的最近鄰居。例如,至界標(biāo)k的最近七個(gè)鄰居按距離的順序?yàn)閧l,m,p,n,o,g,q}。這些界標(biāo)沒(méi)有一個(gè)在組元C1中,并且因此界標(biāo)k將不會(huì)在評(píng)估組元C2相對(duì)于組元C1的強(qiáng)度中貢獻(xiàn)。

在各種實(shí)施例中,邊緣發(fā)生器模塊1908將計(jì)算集群圖的不連通組元的每個(gè)對(duì)的對(duì)得分。

在步驟2012中,邊緣發(fā)生器模塊1908對(duì)不連通的組元的每個(gè)對(duì)的對(duì)得分(即,組元對(duì)得分)排序。在一個(gè)示例中,邊緣發(fā)生器模塊1908按最高到最低得分的順序?qū)M元對(duì)得分排序。將認(rèn)識(shí)到,邊緣發(fā)生器模塊1908可以用任何方式對(duì)組元對(duì)得分排序。

在步驟2014中,邊緣發(fā)生器模塊1908可以基于組元得分在組元之間添加邊緣。在一些實(shí)施例中,邊緣發(fā)生器模塊1908可以將每個(gè)組元得分分配到T類別中的一個(gè)。在最強(qiáng)類別中的(多個(gè))組元對(duì)得分可以獲得在組元對(duì)之間添加的T-1個(gè)邊緣。在第二最強(qiáng)類別中的(多個(gè))組元對(duì)得分可以獲得在組元對(duì)之間添加的T-2個(gè)邊緣,并如此等等。T可以被設(shè)定為任何數(shù)量。例如,用戶(例如,數(shù)據(jù)科學(xué)家)可以設(shè)定T的值。

例如,T可以被設(shè)定為四的值,并且按最高得分到最低得分的順序的組元對(duì)得分的順序可以為C1C2、C2C3和C1C3。邊緣發(fā)生器模塊1908可以在組元C1和C2之間添加T-1個(gè)(三個(gè))邊緣、在組元C2和C3之間添加T-2個(gè)(兩個(gè))邊緣以及在組元C1和C3之間添加T-3個(gè)(一個(gè))邊緣。

邊緣發(fā)生器模塊1908可以以任意種方式分別在兩個(gè)組元中的兩個(gè)界標(biāo)之間添加邊緣。在各種實(shí)施例中,邊緣發(fā)生器模塊1908基于一對(duì)界標(biāo)(在該對(duì)中的一個(gè)界標(biāo)處于不同的組元中)之間的最短距離在不同組元中的界標(biāo)之間分配邊緣。

如先前所討論的,為了識(shí)別最近鄰居,最近鄰居模塊1904可以確定在每個(gè)界標(biāo)和界標(biāo)集合L中的每個(gè)其它界標(biāo)之間的距離。由最近鄰居模塊1904確定的距離可以被存儲(chǔ)在存儲(chǔ)器(例如,RAM和/或距離界標(biāo)矩陣)中。邊緣發(fā)生器模塊1908可以識(shí)別在兩個(gè)組元中的兩個(gè)界標(biāo)之間的最短距離并且在這些界標(biāo)之間添加邊緣。

例如,邊緣發(fā)生器模塊1908可以基于組元對(duì)得分確定在C1C2的界標(biāo)之間添加三個(gè)邊緣。邊緣發(fā)生器模塊1908可以識(shí)別在C1和C2中的具有最短距離的三對(duì)界標(biāo),并且在每對(duì)界標(biāo)之間添加邊緣(例如,基于由最近鄰居模塊1904確定的距離)。例如,如圖24所示,在組元C2中的界標(biāo)和在C1中的界標(biāo)之間的最近距離在界標(biāo)k和界標(biāo)e之間。邊緣發(fā)生器模塊1908可以在界標(biāo)k和界標(biāo)e之間添加邊緣。圖24示出具有在組元C2中的界標(biāo)k和組元C1中的界標(biāo)e之間添加的邊緣的集群圖。

類似地,邊緣發(fā)生器模塊1908可以基于由最近鄰居模塊1904確定的距離將組元C2中的界標(biāo)I和組元C1中的界標(biāo)e識(shí)別為下一個(gè)最短距離并且在該界標(biāo)之間添加邊緣。組元C1和C2的具有最短距離的第三對(duì)界標(biāo)是界標(biāo)p和界標(biāo)e。

邊緣發(fā)生器模塊1908可以基于組元對(duì)得分確定在C2C3的界標(biāo)之間添加兩個(gè)邊緣。邊緣發(fā)生器模塊1908可以識(shí)別在C2和C3中的具有最短距離的兩對(duì)界標(biāo)并且添加邊緣(例如,基于由最近鄰居模塊1904確定的距離)。例如,邊緣發(fā)生器模塊1908可以在界標(biāo)p和界標(biāo)q之間添加邊緣,并且在界標(biāo)O和界標(biāo)g之間添加另一邊緣。

邊緣發(fā)生器模塊1908可以基于組元對(duì)得分確定在C1C3的界標(biāo)之間添加一個(gè)邊緣。邊緣發(fā)生器模塊1908可以識(shí)別C1和C3中的具有最短距離的一對(duì)界標(biāo)并且添加邊緣。邊緣發(fā)生器模塊1908可以在界標(biāo)q和界標(biāo)e之間添加邊緣。

圖25示出在一些實(shí)施例中的具有在組元C1、C2和C3之間添加的邊緣的集群圖。

在步驟2016中,邊緣在任何剩余的不連通的組元之間被添加。在各種實(shí)施例中,邊緣發(fā)生器模塊1908可以識(shí)別不連通的組元并且在不連通的組元中的最近界標(biāo)對(duì)之間添加邊緣。在一些實(shí)施例中,邊緣發(fā)生器模塊1908可以識(shí)別不連通的組元并且在不連通的組元中的預(yù)定數(shù)量的最近界標(biāo)對(duì)之間添加邊緣。

在步驟2018中,在一些實(shí)施例中,布局引擎1804將圖映射到參考空間(例如,圖形參考空間,諸如可以用圖形距離測(cè)量的參考空間)。例如,布局模塊將來(lái)自有限量度空間的界標(biāo)映射到參考空間,諸如R2中的平面。示例布局引擎1804和示例布局過(guò)程的描述關(guān)于圖26-28被描述。

在步驟2020中,非界標(biāo)投影模塊1912計(jì)算至少一些非界標(biāo)數(shù)據(jù)(例如,來(lái)自接收的數(shù)據(jù))至參考空間的投影。例如,非界標(biāo)投影模塊1912可以利用插值來(lái)計(jì)算投影。

在一些實(shí)施例中,非界標(biāo)投影模塊1912可以使用GaussianKemel的方法來(lái)投影非界標(biāo)。GaussianKemel的方法使用高斯核KG(d(x,y),s)來(lái)定義插值法,其中,KG(d,s)=Math.exp(-d*d/s*s)。通常被稱為σ(sigma)的s參數(shù)被該核用于插值(以及其它方法,諸如密度估計(jì))。

應(yīng)指出,該核是“徑向核”的示例,即,其中值僅取決于點(diǎn)之間的距離的核。我們具有函數(shù)F(x),它的值我們知道在界標(biāo)11、...、上,并且我們希望根據(jù)F(1k)計(jì)算F(x),并且我們通過(guò)取和Wk(x)*F(lk)來(lái)進(jìn)行計(jì)算,其中,Wk加權(quán)函數(shù)通過(guò)對(duì)x和lk的徑向函數(shù)的某種組合來(lái)給出。由于x->lj(假如沒(méi)有重復(fù)的界標(biāo)),如果Wk(x)->delta(k,j)(即,對(duì)k和j的狄拉克(Dirac)δ函數(shù)),我們可以確保連續(xù)性。在對(duì)Wk()沒(méi)有這個(gè)限制條件的情況下,替代方案是對(duì)矩陣W執(zhí)行線性代數(shù),矩陣W的項(xiàng)為Wk(1j),并且接著調(diào)節(jié)加權(quán)函數(shù)以確保期望的連續(xù)性(例如,通常,找到矩陣W的逆矩陣并使用其來(lái)調(diào)節(jié)加權(quán)函數(shù))。

確保Wk()具有期望的連續(xù)屬性的一種方式是使用函數(shù)vk()的集合,其在lk處趨于無(wú)窮大并且在其它地方是非負(fù)的和有限的。如果我們將V()定義為vk()的和,并且如果在每個(gè)地方V()>0,則我們可以將Wk()取為vk()/V()。只要界標(biāo)為不同的,vk()單獨(dú)地“變得無(wú)限大(blow up)”,這意味著0<vk(x)/V(x)<=1并且在x->lk時(shí)其趨近1,并且在x趨近任何其它界標(biāo)時(shí),其趨近0。Shepard的方法所使用的是,vk(x)=l/d(x,xk),或這個(gè)的某個(gè)冪>1。

應(yīng)注意,由于離散空間和x實(shí)際上將不“匯聚”,插值法實(shí)質(zhì)上在形式上不是連續(xù)的。

在這里,我們使用的加權(quán)函數(shù)為vk(x)=KG(d(x,lk),s(x)),并且針對(duì)除M個(gè)最近界標(biāo)之外(其中,到目前為止,似乎M=20是工作最好的)的所有界標(biāo),我們將vk(x)設(shè)定為零。否則,我們將Wk(x)取為vk(x)/V(x),如上所述。應(yīng)注意,在此情況下,vk不趨向無(wú)限,因此連續(xù)性必須以一些其它方式來(lái)實(shí)現(xiàn)。直覺(jué)地,在x趨近lj時(shí),我們可以使s(x)“變得像”d(x,lj),并且這將具有相同結(jié)果-對(duì)于k?。絡(luò),所有的vk()將變?yōu)?,并且在x->lj時(shí),vj(x)轉(zhuǎn)到1,這意味著Wk(x)起δ函數(shù)的作用。

然而,在實(shí)踐中,我們發(fā)現(xiàn)s(x)是至第二最近界標(biāo)的距離給出最小RMS(即,12)誤差。在一個(gè)示例中,s(x)被設(shè)定為到第二最近界標(biāo)的距離。

在一些實(shí)施例中,對(duì)于一些更遠(yuǎn)的界標(biāo),vk可以被截?cái)?。在一些?shí)施例中,不是所有L個(gè)距離需要針對(duì)每個(gè)點(diǎn)x被保持。應(yīng)注意,雖然每點(diǎn)僅保持M個(gè)距離,但是該方案可以使用在完全的LxN距離矩陣中的所有信息。而且,將認(rèn)識(shí)到,簡(jiǎn)單地使空間變大(例如,在D維度歐幾里得空間中取更多點(diǎn))將不需要增加M,但是將幾乎肯定需要增加界標(biāo)的數(shù)量。

在步驟2020中,可視化模塊322可選地生成參考空間的可視化。將認(rèn)識(shí)到,步驟2020是可選的,并且參考空間的全部或一部分和/或參考空間的圖可以在存儲(chǔ)器(例如,RAM和/或被保存到一個(gè)或多個(gè)硬盤(pán)驅(qū)動(dòng)器)中生成。

在一個(gè)示例中,我們從五個(gè)二維高斯分布取2200個(gè)偽隨機(jī)點(diǎn),并且使用1000個(gè)界標(biāo)來(lái)計(jì)算LSNE嵌入。圖35示出這些點(diǎn)的散布圖的可視化(即,地面實(shí)況)。圖36示出LSNE透鏡的散布圖的可視化。在數(shù)據(jù)點(diǎn)上引用顏色以使得更容易識(shí)別對(duì)應(yīng)。在該示例中,在地面實(shí)況中的各點(diǎn)的定位和LSNE嵌入之間沒(méi)有特定的關(guān)聯(lián),除了地面實(shí)況中的附近點(diǎn)具有在嵌入中保持在一起的強(qiáng)大趨勢(shì)。

在另一更復(fù)雜的示例中,存在來(lái)自白血病的基因芯片創(chuàng)新(Microarray Innovations)(MILE)研究的數(shù)據(jù)集。在該特定數(shù)據(jù)集中,有約2000個(gè)樣品,每個(gè)具有約1500個(gè)基因表達(dá)數(shù)據(jù)的列連同特定類型的白血病的臨床分類。在此情況下使用的量度可以是隨機(jī)森林分類器的結(jié)果,并且點(diǎn)通過(guò)它們的臨床分類來(lái)著色。在該示例中,在數(shù)據(jù)集中的所有點(diǎn)被用于計(jì)算LSNE嵌入。圖37示出在參考空間中的MILE數(shù)據(jù)集的可視化??梢暬梢酝ㄟ^(guò)臨床分類來(lái)著色。

在此情況下的隨機(jī)森林量度查找(find)臨床分類組,并且LSNE嵌入保留這些組,同時(shí)將維度從1500維減小到2個(gè)。

圖26為在一些實(shí)施例中的布局引擎1804的框圖。布局引擎1804可以以任意種方式組織和/或布局參考空間中的信息。在一些實(shí)施例中,布局引擎1804可以布局信息以生成可視化。在其它實(shí)施例中,布局引擎1804可以布局信息(例如,將信息組織在存儲(chǔ)器中)。

在一些實(shí)施例中,布局可以在兩個(gè)階段中執(zhí)行。第一階段可以包括確定和/或顯示初始布局。第二階段可以包括以達(dá)成可理解的和/或穩(wěn)定的圖的目標(biāo)(在存儲(chǔ)器中和/或作為可視化)來(lái)調(diào)節(jié)初始布局。

在確定初始布局的第一階段的一般示例中,用于圖的數(shù)據(jù)可以接收自透鏡生成模塊1802。隨后,可以選擇點(diǎn)(例如,節(jié)點(diǎn)或球)的小的子集(被稱為核心)。子集可以包含將在初始布局中的不同位置處顯示的點(diǎn)。在核心點(diǎn)被定位之后,來(lái)自數(shù)據(jù)的點(diǎn)的后續(xù)子集被選擇并且可以基于核心點(diǎn)和/或作為選擇的核心點(diǎn)的成員的其它點(diǎn)來(lái)定位。

部分由有限的可顯示維度的數(shù)量(例如,參考空間可為平面)引起,在圖中的一個(gè)或多個(gè)點(diǎn)的位置和/或距離可能不等于從接收的數(shù)據(jù)按數(shù)學(xué)方式導(dǎo)出的距離。為了提高圖形布局,可以基于按數(shù)學(xué)方式導(dǎo)出的距離和如圖化的距離確定一個(gè)或多個(gè)點(diǎn)的勢(shì)。圖形布局是參考空間中的布局,無(wú)論參考空間是作為可視化被生成還是在存儲(chǔ)器中被生成(例如,用于進(jìn)一步處理和/或分析,諸如在參考空間中使用聚類并且基于分組/集群生成初始接收的數(shù)據(jù)的關(guān)系的可視化)。然后,勢(shì)可以被最小化以調(diào)節(jié)點(diǎn)的位置。

在一個(gè)示例中,KK勢(shì)和梯度下降(從初始位置集合開(kāi)始)可以被利用以在核心中布局點(diǎn)。點(diǎn)可以基于已存在的那些點(diǎn)(例如,已被定位或近似定位的那些點(diǎn))被添加并且KK解(solution)的近似可以被計(jì)算。一旦來(lái)自數(shù)據(jù)的所有點(diǎn)被添加,圖可以利用梯度下降和KK勢(shì)被更新(例如,校正的距離和/或位置)。

在一些實(shí)施例中,布局引擎1804包括數(shù)據(jù)采集模塊2602、點(diǎn)選擇模塊2604、分層模型模塊2606、位置模塊2608、距離校正模塊2610、布局模塊2612和調(diào)節(jié)模塊2614。布局引擎1804可以為任何軟件、硬件或兩者的組合。布局引擎1804可以被配置成布局和/或繪制圖,諸如例如力導(dǎo)向的布局圖。布局引擎1804可以駐留在服務(wù)器、用戶計(jì)算機(jī)或任何其它數(shù)字裝置中。

數(shù)據(jù)采集模塊2602接收可以被用于構(gòu)建圖的數(shù)據(jù)。數(shù)據(jù)可以在表格內(nèi)或是任何其它數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)可以是不同數(shù)據(jù)結(jié)構(gòu)的組合。在一個(gè)示例中,在表格內(nèi)的數(shù)據(jù)識(shí)別點(diǎn)和邊緣。點(diǎn)和/或邊緣的位置可以通過(guò)頂點(diǎn)以及通過(guò)相鄰的(多個(gè))頂點(diǎn)來(lái)識(shí)別。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,頂點(diǎn)和相鄰的頂點(diǎn)可以表示任何類型的數(shù)據(jù)。例如,具有許多維度(例如,成千上萬(wàn)的維度)的大數(shù)據(jù)集可以由識(shí)別頂點(diǎn)以及相鄰頂點(diǎn)的一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)表示。

點(diǎn)選擇模塊2604選擇待定位在圖中的點(diǎn)(例如,球或節(jié)點(diǎn))。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,點(diǎn)選擇模塊2604可以基于任何種方法來(lái)選擇任何數(shù)量的點(diǎn)。在各種實(shí)施例中,點(diǎn)選擇模塊2604從接收的數(shù)據(jù)選擇可用點(diǎn)的初始子集(例如,核心)。選選的點(diǎn)可以隨機(jī)地被選擇、基于某些隨機(jī)信息被選擇或有目的地被選擇。在一個(gè)示例中,點(diǎn)選擇模塊2604選擇距先前選擇的點(diǎn)是最遠(yuǎn)距離的點(diǎn)(例如,通過(guò)邊緣來(lái)測(cè)量)。例如,第一點(diǎn)可以被隨機(jī)選擇,并且第二選擇的點(diǎn)可以具有在與來(lái)自接收的數(shù)據(jù)的任何其它兩個(gè)點(diǎn)比較時(shí)距第一點(diǎn)的最長(zhǎng)距離(例如,如通過(guò)最大數(shù)量的邊緣來(lái)測(cè)量)。下一個(gè)選擇的點(diǎn)可以具有在與接收的數(shù)據(jù)的任何其它點(diǎn)比較時(shí)距前兩個(gè)選擇的點(diǎn)的最長(zhǎng)距離。此外,,下一個(gè)選擇的點(diǎn)可以具有在與接收的數(shù)據(jù)的任何其它點(diǎn)比較時(shí)距前三個(gè)選擇的點(diǎn)的最長(zhǎng)距離。該過(guò)程可以繼續(xù)直到第一子集的所有點(diǎn)被選擇。

可以存在任何數(shù)量的初始選擇點(diǎn),所述初始選擇點(diǎn)組成來(lái)自接收的數(shù)據(jù)的第一子集。在一個(gè)示例中,25個(gè)點(diǎn)可以被初始選擇。25個(gè)選擇的點(diǎn)可以組成第一選擇的子集。在另一示例中,等于或小于100個(gè)點(diǎn)的任何數(shù)量的點(diǎn)可以針對(duì)第一子集被選擇。在一些實(shí)施例中,每個(gè)后續(xù)子集可以包含比先前選擇的子集更多數(shù)量的點(diǎn)。

在各種實(shí)施例中,深度K的濾波(在圖中的V個(gè)點(diǎn)的集合上,其中|V|為N)是子集的塔,V0為整個(gè)集合,V0>V1>...>VK,|Vi|/|Vi+1|約為2,并且|VK|是某最小的大小。

在一些實(shí)施例中,點(diǎn)選擇模塊2604或位置(position)模塊2608比定位在以后時(shí)間添加的點(diǎn)更精確地定位核心點(diǎn)。后續(xù)的點(diǎn)的集合可以接著被選擇并最終被添加到圖中。在各種實(shí)施例中,針對(duì)每個(gè)隨后選擇的點(diǎn)的子集,點(diǎn)選擇模塊2604可以選擇是先前選擇的點(diǎn)的子集的點(diǎn)的兩倍的點(diǎn)。例如,一個(gè)點(diǎn)的子集可以包含110個(gè)點(diǎn),并且隨后點(diǎn)選擇模塊2604可以在下一個(gè)點(diǎn)的子集中選擇220個(gè)點(diǎn)。在點(diǎn)選擇模塊2604選擇下一個(gè)點(diǎn)的子集之前,布局引擎1804可以確定位置和/或調(diào)節(jié)在子集中的每個(gè)點(diǎn)的位置。

分層模型模塊2606和位置模塊2608構(gòu)建更快近似距離Oracle(FADO)、首先放置FADO核心點(diǎn)的點(diǎn)的排序以及一對(duì)陣列,最近點(diǎn)(nearest)int[N][3],其將每個(gè)點(diǎn)k映射到在濾波中在每個(gè)點(diǎn)k之前出現(xiàn)的至每個(gè)點(diǎn)k最近的三個(gè)點(diǎn),和距離double[N][3],其將每個(gè)點(diǎn)k映射到這三個(gè)最近鄰居的圖距離。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,每個(gè)點(diǎn)k可以被映射到任何數(shù)量的點(diǎn)并且可以不限于被映射到在濾波中在k出現(xiàn)之前的那些點(diǎn)。此外,每個(gè)點(diǎn)k可以不限于被映射到最近的點(diǎn)。

分層模型模塊2606可以構(gòu)建表格或包括在點(diǎn)之間的(精確和/或近似)距離的其它結(jié)構(gòu)。構(gòu)造或表格可以是更快近似距離Oracle。FADO可以提供用于獲得在圖中的兩個(gè)或多個(gè)點(diǎn)之間的位置和/或距離的估計(jì)的機(jī)制。在一個(gè)示例中,F(xiàn)ADO包括表格或例如識(shí)別每個(gè)點(diǎn)的其它數(shù)據(jù)結(jié)構(gòu)。每個(gè)點(diǎn)相對(duì)于先前定位的點(diǎn)和/或核心點(diǎn)中的一個(gè)或多個(gè)的位置或距離可以被確定。FADO可以包括一些點(diǎn)的位置或距離的近似(approximation)。

在一些實(shí)施例中,F(xiàn)ADO的核心可以針對(duì)每個(gè)非平凡的組元或圖被提取。FADO的核心和組元項(xiàng)可以被用于構(gòu)建首先放置核心的該組元的點(diǎn)的排列(permutation)。接著,分層模型模塊2606或位置模塊2608可以利用例如重復(fù)的Dijkstra洪流(floodout)來(lái)填充“最近的先前鄰居”和它們的圖距離。在一些實(shí)施例中,該步驟可以實(shí)際上完成濾波實(shí)例的構(gòu)建。排序和FADO可以一起(例如,同時(shí)或近乎同時(shí))被構(gòu)建的原因在于,F(xiàn)ADO的核心可以對(duì)應(yīng)于濾波中的初始集合。在一些實(shí)施例中,F(xiàn)ADO僅存儲(chǔ)log n點(diǎn)的精確距離。

在各種實(shí)施例中,分層模型模塊2606和/或位置模塊2608可以確定或校正點(diǎn)的位置和/或距離并接著執(zhí)行Dijkstra洪流以確定最接近待放置的點(diǎn)的先前放置點(diǎn)的預(yù)定數(shù)量(例如,3個(gè))。分層模型模塊2606和/或位置模塊2608可以基于預(yù)定數(shù)量的最接近先前放置的點(diǎn)來(lái)確定待放置的點(diǎn)的位置。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,點(diǎn)可以相對(duì)于任何數(shù)量的點(diǎn)被定位,該任何數(shù)量的點(diǎn)包含全部或一些的核心點(diǎn)、先前定位點(diǎn)或待定位點(diǎn)。在一些實(shí)施例中,布局引擎1804將確定的位置或距離存儲(chǔ)在FADO中。

FADO可以被初始描述用于有限量度空間。完整的距離矩陣可以被延伸到由點(diǎn)和邊緣給出的非負(fù)加權(quán)圖。例如,讓V為量度空間,選擇子集A。對(duì)于A中的每個(gè)點(diǎn)x,分層模塊2606可以計(jì)算在x和所有其它點(diǎn)之間的距離。近似距離e(x,y)可以被定義為在d(x,a)+d(a,y)的A中的最小值(min)a。這可以為上限。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,如果A是整個(gè)空間,它是精確的,但是可能是不可用的。此外,如果A不是太大,則計(jì)算可能是便宜的。例如,存儲(chǔ)開(kāi)銷可能為|V|*|A|。在一些實(shí)施例中,誤差的估計(jì)未被確定,然而,此類估計(jì)可以被使用。通過(guò)取最大/最小界標(biāo),子集可以被選擇。

分層模型模塊2606和/或位置模塊2608可以對(duì)FADO中的位置和距離執(zhí)行可選的固定。例如,分層模型模塊2606可以針對(duì)每個(gè)點(diǎn)x圍繞x構(gòu)建一些指定BX_SIZE(例如25)的球B(x),其包含至x的最近BX_SIZE點(diǎn)。接著通過(guò)查看x是否在B(y)中或y是否在B(x)中,分層模型模塊2606可以計(jì)算x和y之間的距離,并且如果不是,則取d(x,a)+d(a,y)的A中的最小值a。該過(guò)程可以修復(fù)取兩個(gè)彼此相當(dāng)接近的點(diǎn)并且估計(jì)它們之間的距離為相當(dāng)大所產(chǎn)生的誤差。例如,對(duì)于采樣的5-100個(gè)維度歐幾里得空間,這可以使得估計(jì)距離/實(shí)際距離的平均值約為1.05-1.2。

在各種實(shí)施例中,在沒(méi)有距離矩陣時(shí),但是位置模塊2608可以在足夠短的時(shí)間內(nèi)計(jì)算d(x,A)操作,使得構(gòu)建的成本仍然可以由有界度(bounded degree)的圖的|V|*|A|界定。首先,對(duì)于A中的每個(gè)a,位置模塊2608可以執(zhí)行Dijkstra遍歷以計(jì)算從a到V中的每個(gè)點(diǎn)的距離。如在量度空間的情況下,點(diǎn)選擇模塊2604和/或位置模塊2608可以通過(guò)取最大/最小界標(biāo)來(lái)選擇A。

隨后,分層模型模塊2606、位置模塊2608和/或距離校正模塊2610可以使用完全SSDE來(lái)放置核心項(xiàng),并且接著使用可以在核心上計(jì)算的KK勢(shì)力來(lái)調(diào)節(jié)(例如,因?yàn)榫嚯x可以被表示)。

對(duì)于VK之后的每個(gè)后續(xù)Vi,i>0,點(diǎn)可以使用最近(nearest)/距離值和KKFInit來(lái)放置。在給定Vi中的所有項(xiàng)被放置時(shí),分層模型模塊2606、位置模塊2608和/或距離校正模塊2610可以使用對(duì)隨機(jī)選擇的kkf_counts[i]也在Vi.kkf_counts[i]的點(diǎn)集計(jì)算的KK勢(shì)迭代部分圖的每個(gè)點(diǎn)n,足夠快地減少使得所有這些操作的成本為O(N*ln(N))(假設(shè)邊緣的數(shù)量為O(N))。

對(duì)于V0,初始布置可以如前述進(jìn)行,但是在一些實(shí)施例中,迭代步驟可以僅對(duì)相鄰的點(diǎn)計(jì)算KK勢(shì)(例如,最后的步驟僅進(jìn)行局部細(xì)化(refinement))。可以存在任意數(shù)量的迭代。在一個(gè)示例中,迭代的數(shù)量為十。

在各種實(shí)施例中,距離校正模塊2610調(diào)節(jié)點(diǎn)的圖形距離。在一個(gè)示例中,距離校正模塊2610嘗試使圖形距離(例如,如可以在圖中顯示的距離)與拓?fù)渚嚯x(例如,基于接收的數(shù)據(jù)按數(shù)學(xué)方式確定的距離)相等。如果這些距離相等,則距離校正模塊2610可以不執(zhí)行任何附加函數(shù)。然而,如果這些距離不相等,則距離校正模塊2610可以嘗試在接近該拓?fù)渚嚯x的點(diǎn)處顯示圖距離。在一些實(shí)施例中,距離可以與位置等同。

在各種實(shí)施例中,拓?fù)渚嚯x為在數(shù)學(xué)定義空間內(nèi)的在兩個(gè)或多個(gè)點(diǎn)之間的距離。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,拓?fù)渚嚯x可以具有任何數(shù)量的維度。在由數(shù)據(jù)采集模塊2602接收的圖數(shù)據(jù)被投影為可視圖形時(shí),該投影可以限制用于顯示點(diǎn)的一個(gè)或多個(gè)維度的描繪。因此,如在圖中顯示的在兩個(gè)點(diǎn)之間的圖形距離(例如,歐幾里得距離)可以不等于如在數(shù)學(xué)空間中定義的兩個(gè)點(diǎn)之間的拓?fù)渚嚯x。

為了改善圖的布局,圖形距離可以等同于拓?fù)渚嚯x和/或近似可以被確定以允許圖形距離近似拓?fù)渚嚯x。在各種實(shí)施例中,在兩個(gè)或多個(gè)點(diǎn)之間的圖形距離可以用使用戶能夠?qū)D形距離感知為接近或表示拓?fù)渚嚯x的方式來(lái)顯示。

在一些實(shí)施例中,可以計(jì)算兩個(gè)或多個(gè)點(diǎn)之間的勢(shì)。勢(shì)可以提供可以被減小和/或最小化以提高圖形距離近似的梯度。在一個(gè)示例中,距離校正模塊2610可以使用KK勢(shì)來(lái)確定勢(shì)。距離校正模塊2610隨后可以對(duì)勢(shì)應(yīng)用梯度下降以確定至拓?fù)渚嚯x的圖形近似。

在使用KK勢(shì)的示例中,圖的勢(shì)函數(shù)可以比較在歐幾里得(例如,所顯示的圖形)空間中的點(diǎn)位置對(duì)由DG(i,j)表示的內(nèi)在圖形量度中的它們的點(diǎn)間距離的相對(duì)距離,其被表示為|X-Y|,其中,點(diǎn)i的位置由loc(i)表示。在一些實(shí)施例中,如果我們將err(i,j)定義為err(i,j)=(|loc(i)-loc(j)|-DG(i,j)),則我們可以接著將圖的應(yīng)力定義為:

stress(G)=SUM(i<j in G){(W(i,j)*SQUARE(err(i,j)))}

對(duì)于一些正數(shù),對(duì)稱加權(quán)加權(quán)函數(shù)為W(i,j)。

對(duì)于一些負(fù)冪,加權(quán)函數(shù)可以為DG(i,j),諸如1/(DG()*DG())。在此情況下:

stress(G)=SUM(i<j in G){SQUARE((|loc(i)-loc(j)|/DG(i,j))-1.0)}

我們可以從R2定義實(shí)值函數(shù),例如,通過(guò)將在X處具有點(diǎn)i的圖的應(yīng)力定義為:

stress(G,X)=SUM(j?。絠)in G){SQUARE((|X-loc(j)|/DG(i,,j))-1.0)}

在此情況下,負(fù)梯度可以為:

-2.0*SUM(j?。絠){((|X-loc(j)|/DG(i,j))-1)([X-loc(j)]/(DG(i,j)|X-loc(j)|))}

-2.0*SUM(j!=i){1/DG(i,j)*(1/DG(i,j)-1/|X-loc(j)|)*[x-loc(j)]}

我們可以對(duì)圖使用這種標(biāo)準(zhǔn)化的梯度和/或顯示力引導(dǎo)的布局。

例如,對(duì)于4點(diǎn)(例如,4-點(diǎn))問(wèn)題的KK解,如果存在未被放置的點(diǎn),則距離校正模塊2610可以嘗試通過(guò)找到已在適當(dāng)位置的三個(gè)最近的點(diǎn)(例如,其位置已被確定的點(diǎn))來(lái)放置點(diǎn),并且接著距離校正模塊2610可以在使該4個(gè)點(diǎn)的KK勢(shì)最小化的地點(diǎn)處放置點(diǎn)。

在各種實(shí)施例中,為了確定新點(diǎn)的布置,三個(gè)點(diǎn)被選擇(例如,其中三個(gè)點(diǎn)已被放置在圖內(nèi)),并且新的點(diǎn)可以被放置在使該三個(gè)點(diǎn)的每對(duì)的勢(shì)最小化的地點(diǎn)。最少可以是1或2個(gè)點(diǎn)。在一些實(shí)施例中,一起最近的三個(gè)點(diǎn)可以被選擇并且可以確定該三個(gè)點(diǎn)的重心(a+b+c/3)。新的點(diǎn)可以被放置在重心處或在重心附近。

例如,對(duì)于分層布局,距離校正模塊2610可以取已放置的K個(gè)點(diǎn),并且接著距離校正模塊2610可以放置X,以便使該點(diǎn)的勢(shì)最小化。距離校正模塊2610可以將K取為所有點(diǎn),但是這產(chǎn)生至少N平方的問(wèn)題。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,兩個(gè)點(diǎn)解決起來(lái)可能是相對(duì)簡(jiǎn)單的,然而,如果P1在(0,0)處并且P2在(1,0)處,則不管X=(x,y),點(diǎn)(x,-y)也可以具有相同的勢(shì)(對(duì)于這3個(gè)點(diǎn))。因此,距離校正模塊2610可以取三個(gè)點(diǎn)。此外,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,雖然可以確定三個(gè)一般點(diǎn)的KK勢(shì)并且可以添加第四點(diǎn),但是結(jié)果可以接近三個(gè)最近3點(diǎn)解的重心。

在確定勢(shì)后,距離校正模塊2610可以執(zhí)行“放松”步驟,其中,距離校正模塊2610最小化當(dāng)前構(gòu)造的圖的勢(shì)函數(shù)或近似當(dāng)前構(gòu)造的圖的勢(shì)函數(shù)的最小值(minimum)(例如,對(duì)于那些已被圖形化顯示和/或位置已被確定的點(diǎn))。隨著點(diǎn)的布置的一個(gè)或多個(gè)被確定,可以執(zhí)行“放松”步驟。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,當(dāng)該過(guò)程在初始階段被完成時(shí),結(jié)果將在圖布局被完成時(shí)改善,因?yàn)樵谠撨^(guò)程結(jié)束時(shí)不是所有的點(diǎn)可以被考慮到是可能的(例如,在該過(guò)程結(jié)束時(shí)考慮所有的點(diǎn)可能在計(jì)算方面太昂貴)。

在各種實(shí)施例中,每個(gè)點(diǎn)的勢(shì)的梯度(假裝所有其它點(diǎn)被固定)被近似。在一個(gè)示例中,可以選擇預(yù)定數(shù)量的點(diǎn)。點(diǎn)可以被隨機(jī)選擇或順序可以被包含在選擇點(diǎn)的過(guò)程中。例如,彼此遠(yuǎn)離和/或與其它選擇的點(diǎn)遠(yuǎn)離的具有最大數(shù)量的邊緣長(zhǎng)度的多個(gè)點(diǎn)可以被選擇。然后可以計(jì)算梯度。在一些實(shí)施例中,對(duì)于最后的“放松”步驟,被連接到X的點(diǎn)可以被采用以產(chǎn)生梯度。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,有多種方式來(lái)近似勢(shì)的梯度。

許多方法可以被用來(lái)調(diào)節(jié)點(diǎn)的位置或距離。例如,距離校正模塊2610可以執(zhí)行最大步長(zhǎng)的梯度下降,并且記住最后步驟,因?yàn)閯?shì)可能具有可以被阻尼的振蕩。梯度下降也可以在計(jì)算上是合理地快。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,點(diǎn)可以以任意種方式被移動(dòng),所述任意種方式包含但不限于用于獲得更高階近似解的Runge-Kutta方法。

一旦確定每個(gè)點(diǎn)的初始位置和/或距離,布局模塊2612就可以在圖內(nèi)顯示點(diǎn)。在一些實(shí)施例中,在所有點(diǎn)的初始位置和/或距離被確定之前,布局模塊2612顯示任何數(shù)量的點(diǎn)。在各種實(shí)施例中,布局模塊2612可以不顯示圖直到圖的一或多個(gè)點(diǎn)通過(guò)調(diào)節(jié)模塊2614被調(diào)節(jié)。

在各種實(shí)施例中,在確定每個(gè)點(diǎn)的位置和/或距離之后,一個(gè)或多個(gè)點(diǎn)的位置通過(guò)調(diào)節(jié)模塊2614被調(diào)節(jié)。調(diào)節(jié)模塊2614可以移動(dòng)或調(diào)節(jié)點(diǎn)以確保作用在每個(gè)點(diǎn)上的所有力取消并且不存在凈效應(yīng)。如果作用在點(diǎn)上的所有力取消,則點(diǎn)可以不再被移動(dòng)。

在一些實(shí)施例中,調(diào)節(jié)模塊2614確定作用于點(diǎn)上的力。該力可以包含由耦合至點(diǎn)的邊緣所提供的力以及通過(guò)圖中的點(diǎn)的子集所提供的力。子集不需要被耦合到受驗(yàn)者(subject)以產(chǎn)生力。例如,對(duì)于受驗(yàn)點(diǎn),調(diào)節(jié)模塊2614識(shí)別可以對(duì)受驗(yàn)點(diǎn)施加力的圖的點(diǎn)的子集并且識(shí)別由邊緣提供的受驗(yàn)點(diǎn)上的力。

調(diào)節(jié)模塊2614可以向位置模塊2608提供受驗(yàn)點(diǎn)的新位置,所述受驗(yàn)點(diǎn)的新位置可以允許作用于受驗(yàn)點(diǎn)的力取消或以其它方式趨向于零凈效應(yīng)。在一些實(shí)施例中,調(diào)節(jié)模塊2614可以調(diào)節(jié)或引導(dǎo)位置模塊2608,以調(diào)節(jié)點(diǎn)的位置直到作用于該點(diǎn)的力變成零力或在預(yù)定閾值內(nèi)(例如,零力的接近度內(nèi))。調(diào)節(jié)模塊2614可以通過(guò)執(zhí)行連接邊緣的彈簧(spring)或能量以及由識(shí)別的子集提供的力使一個(gè)或多個(gè)點(diǎn)散開(kāi)。

調(diào)節(jié)模塊2614可以針對(duì)一個(gè)或多個(gè)不同點(diǎn)選擇不同的點(diǎn)的子集。例如,每個(gè)點(diǎn)可能受點(diǎn)的不同子集影響。如果子集的成員提供在受驗(yàn)節(jié)點(diǎn)上的力,則受驗(yàn)節(jié)點(diǎn)也可以進(jìn)而提供在子集的成員上的力。因此,在整個(gè)圖上的所有力可以根據(jù)點(diǎn)的位置取消。

在一個(gè)示例中,邊緣(例如,彈簧)具有期望的長(zhǎng)度,所述長(zhǎng)度可以為恒定的(例如,圖中的所有邊緣為1.0)。當(dāng)連接的點(diǎn)太近時(shí),邊緣也可以排斥(例如,通過(guò)類似于Hooke定律的函數(shù)),并且當(dāng)連接的點(diǎn)太遠(yuǎn)時(shí),邊緣也可以吸引。當(dāng)組元具有太多點(diǎn)(例如,組元的點(diǎn)大于100)時(shí),替代使用N*N計(jì)算,調(diào)節(jié)模塊2614可以構(gòu)建預(yù)定大小(例如,20)的組元的平衡樣品。在調(diào)節(jié)模塊2614使用樣品時(shí),調(diào)節(jié)模塊2614可以通過(guò)計(jì)算由sample[x]中關(guān)于x的每個(gè)點(diǎn)施加的通常“重”力,并且接著將該力乘以(N-1)/(sample[x]中的#)來(lái)計(jì)算點(diǎn)x上的重力。當(dāng)調(diào)節(jié)模塊2614采樣時(shí),針對(duì)所有x的sample[x]的大小可以是相同的,但是sample[x]具有重復(fù)的值是可能的(除x可能不在sample[x]中以外)。

在各種實(shí)施例中,調(diào)節(jié)模塊2614構(gòu)建[0,modulus-1]的大小“平衡樣品”的集合。返回值sample[][]可以是int[modulus][size],其中sample[i]為[0,modulus-1]的“隨機(jī)”子集。樣品可以被平衡在于,如果A在sample[B]中出現(xiàn)n次,則B在sample[A]中出現(xiàn)相同次數(shù),并且在[0,modulus-1]中的X在所有樣品中精確地出現(xiàn)大小(size)的次數(shù)。

在一些實(shí)施例中,平衡意味著在組元上的凈力可以為0,并且它在該組元周圍展開(kāi)對(duì)。如果組元的大小為N,并且樣品的大小為K,則調(diào)用調(diào)節(jié)模塊2614可以使力乘以(N-1)/K以調(diào)節(jié)用于看到更少的點(diǎn)(換句話說(shuō),實(shí)際上是看到的點(diǎn)的數(shù)量與在非采樣情況下將看到的多少的比率)。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,形成這些平衡樣品的一種方式是使“列”通過(guò)不具有固定點(diǎn)的集合的排列給出(例如,沒(méi)有點(diǎn)可以推動(dòng)自身),并且確保該排列及其逆均被包括(因此我們?nèi)拥糇苑?self-inverse))??梢员苊饩哂卸萄h(huán)的排列(如果存在排列保持固定的小子集,則在該集合中的所有內(nèi)容可以忽略組元的其余部分)。

在一些實(shí)施例中,由調(diào)節(jié)模塊2614使用的特定排列可以通過(guò)x->(A*x+B)%N映射來(lái)自[0,N)的元素,其中,B是非零并且A與N互素。它們可以是簡(jiǎn)單的并且可以似乎具有相對(duì)長(zhǎng)的周期。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,調(diào)節(jié)模塊2614可以隨機(jī)選擇排列或以其它方式構(gòu)建它們。在各種實(shí)施例中,沒(méi)有必要使用排列。

在一些實(shí)施例中,與現(xiàn)有技術(shù)需要的n*n個(gè)位置或計(jì)算相對(duì),布局引擎1804僅將n log n個(gè)位置和/或計(jì)算存儲(chǔ)在存儲(chǔ)裝置中。因此,在一些實(shí)施例中,本文所討論的技術(shù)可以比現(xiàn)有技術(shù)的那些技術(shù)更具計(jì)算效率。

圖27為在一些實(shí)施例中的用于初始圖布局的方法的流程圖。在步驟2702中,數(shù)據(jù)采集模塊2602接收至圖的數(shù)據(jù)。在一些實(shí)施例中,數(shù)據(jù)可以是表格或包括與點(diǎn)和邊緣相關(guān)聯(lián)的信息的其它數(shù)據(jù)結(jié)構(gòu)。在一個(gè)示例中,數(shù)據(jù)結(jié)構(gòu)包括頂點(diǎn)和相鄰頂點(diǎn)的列表。在各種實(shí)施例中,數(shù)據(jù)采集模塊2602可以被配置成將以任何格式或格式的組合的數(shù)據(jù)轉(zhuǎn)換為表格或點(diǎn)和邊緣的其它數(shù)據(jù)結(jié)構(gòu)。

在步驟2704中,點(diǎn)選擇模塊2604可以選擇第一預(yù)定數(shù)量的點(diǎn)(稱為核心)。在一些實(shí)施例中,核心點(diǎn)可以貫穿整個(gè)圖被間隔。點(diǎn)可以被隨機(jī)選擇。在一些實(shí)施例中,后續(xù)選擇的點(diǎn)也可以是隨機(jī)的或部分基于距先前選擇的點(diǎn)的距離來(lái)選擇。因此,后續(xù)點(diǎn)的布置也可以跨圖被間隔。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,每個(gè)后續(xù)的點(diǎn)集合可以圍繞核心和先前定位的點(diǎn)來(lái)構(gòu)建。

在步驟2706中,定位模塊2608可以確定第一預(yù)定數(shù)量的點(diǎn)中的每個(gè)之間的初始距離。第一預(yù)定數(shù)量的點(diǎn)中的每個(gè)的位置和/或距離可以基于接收的數(shù)據(jù)來(lái)確定。在一些實(shí)施例中,針對(duì)第一預(yù)定數(shù)量的點(diǎn)的點(diǎn)的選擇可以同時(shí)或近乎同時(shí)發(fā)生。例如,雖然核心的第一點(diǎn)可以隨機(jī)被選擇,但是第二點(diǎn)可以距第一選擇的點(diǎn)最遠(yuǎn)距離(例如,通過(guò)邊緣數(shù)量所測(cè)量的)來(lái)選擇。因此,第二核心點(diǎn)的位置可以被確定為點(diǎn)選擇的過(guò)程的一部分。下一個(gè)選擇的點(diǎn)可以是距第一和第二選擇的點(diǎn)最遠(yuǎn)的距離。過(guò)程可以以相似方式繼續(xù)直到核心點(diǎn)被選擇。下一預(yù)定數(shù)量的點(diǎn)可以部分基于核心點(diǎn)的位置來(lái)定位。第三預(yù)定數(shù)量的點(diǎn)中的每個(gè)可以部分基于核心點(diǎn)的位置以及第二預(yù)定數(shù)量的點(diǎn)的位置來(lái)定位。該過(guò)程可以繼續(xù)直到所有點(diǎn)被選擇。在一些實(shí)施例中,所有點(diǎn)被隨機(jī)選擇。

在一些實(shí)施例中,核心點(diǎn)可以使用本征向量方法來(lái)選擇和/或定位,其中前兩個(gè)本征值分別與x軸和y軸相關(guān)聯(lián)。本征向量可以用計(jì)算有效的方式來(lái)定位核心點(diǎn)。一旦核心點(diǎn)被選擇,后續(xù)點(diǎn)就可以基于如本文所述的FADO來(lái)選擇和/或定位。雖然本征向量方法對(duì)于有限使用可能是有效的,但是這些方法可能不能有效縮放,此外,如果圖被改變(例如,通過(guò)用戶選擇和拖動(dòng)一個(gè)或多個(gè)點(diǎn)來(lái)改變以改善布局),本征向量方法可能引起繪制的圖的明顯變化。

在步驟2708中,分層模型模塊2606可以構(gòu)建更快近似距離oracle(FADO)。FADO可以是參考表格或包括點(diǎn)標(biāo)識(shí)符和至少一些位置和/或點(diǎn)之間的距離的其它數(shù)據(jù)結(jié)構(gòu)。可以確定FADO的核心的點(diǎn)之間的距離和/或點(diǎn)的位置。在FADO中被存儲(chǔ)和被確定的位置和/或距離可以是近似值,從而潛在地提高計(jì)算效率。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,F(xiàn)ADO可以輔助圖的初始布局。FADO可以包含點(diǎn)標(biāo)識(shí)符以及與點(diǎn)相關(guān)聯(lián)的信息,所述信息允許確定或計(jì)算一個(gè)或多個(gè)點(diǎn)的位置和/或一個(gè)或多個(gè)點(diǎn)之間的距離。

在一些實(shí)施例中,F(xiàn)ADO是可選的。例如,距離和位置可以如本文所討論的基于后續(xù)放置的點(diǎn)來(lái)確定,而無(wú)需參考先前存儲(chǔ)的信息的數(shù)據(jù)結(jié)構(gòu)。

在步驟2710中,點(diǎn)選擇模塊2604可以選擇點(diǎn)的另一子集。每個(gè)后續(xù)的點(diǎn)的子集可以大于先前的子集。在一些實(shí)施例中,在初始子集之后選擇的點(diǎn)的每個(gè)子集可以包含被隨機(jī)選擇的點(diǎn)。在一些實(shí)施例中,點(diǎn)可以以類似于第一子集的點(diǎn)的選擇的方式(例如,基于距先前選擇的點(diǎn)的位置和/或距離)來(lái)選擇。

在步驟2712中,距離校正模塊2610確定在其它預(yù)定數(shù)量的點(diǎn)和所有其它選擇的和先前選擇的點(diǎn)之間的圖形距離。新選澤的點(diǎn)的位置可以至少部分基于含有FADO的信息。例如,點(diǎn)選擇模塊2604、分層模型模塊2606和/或位置模塊2608可以檢索或計(jì)算在新選則的子集的每個(gè)點(diǎn)之間的圖形距離以及在每個(gè)新選則的點(diǎn)和先前選擇的點(diǎn)之間的圖形距離。圖形距離中的一個(gè)或多個(gè)可以被近似和/或基于先前的近似值。

在步驟2714中,距離校正模塊2610可以至少部分基于圖形距離計(jì)算達(dá)到其它預(yù)定數(shù)量的點(diǎn)的勢(shì)誤差。在一個(gè)示例中,點(diǎn)選擇模塊2604、分層模型模塊2606和/或位置模塊2608確定兩個(gè)或多個(gè)點(diǎn)之間的拓?fù)渚嚯x。在一些實(shí)施例中,拓?fù)渚嚯x可以被存儲(chǔ)在FADO中。距離校正模塊2610可以比較圖形距離與拓?fù)渚嚯x以確定和/或計(jì)算勢(shì)誤差。如果不存在誤差或誤差在預(yù)定誤差容限內(nèi),則在該過(guò)程中不計(jì)算勢(shì)誤差,可以繼續(xù)步驟2720。在一些實(shí)施例中,勢(shì)誤差可以被表述為勢(shì)(例如,kk勢(shì))。

如果在兩個(gè)或多個(gè)點(diǎn)之間的圖形距離和拓?fù)渚嚯x不相等,則距離校正模塊2610可以基于勢(shì)誤差的最小化或近似最小化來(lái)確定點(diǎn)的正確位置。在一個(gè)示例中,距離校正模塊2610最小化勢(shì)(例如,kk勢(shì))或近似所述勢(shì)的最小化。

在步驟2718中,位置模塊2608和/或布局模塊2612可以至少部分基于校正來(lái)調(diào)節(jié)至少一個(gè)點(diǎn)的位置。在各種實(shí)施例中,對(duì)位置和/或距離的調(diào)節(jié)被存儲(chǔ)在FADO中。在一些實(shí)施例中,調(diào)節(jié)的點(diǎn)的位置被顯示和/或被存儲(chǔ)在任何數(shù)據(jù)結(jié)構(gòu)中。

在步驟2720中,點(diǎn)選擇模塊2604確定是否存在來(lái)自圖數(shù)據(jù)的任何未選擇的點(diǎn)。如果沒(méi)有,所有點(diǎn)已被選擇并且它們的位置或距離被確定,方法可以在步驟2710中繼續(xù),其中點(diǎn)選擇模塊2604可以選擇點(diǎn)的另一子集。

在步驟2722中,布局模塊2612顯示初始布局。在各種實(shí)施例中,布局模塊2612同時(shí)或近乎同時(shí)地顯示所有的點(diǎn)和邊緣。在一個(gè)示例中,當(dāng)具有勢(shì)誤差的所有位置已被調(diào)節(jié)時(shí),布局模塊2612示出初始的布局。在一些實(shí)施例中,如果不存在勢(shì)誤差或在勢(shì)誤差校正之后,布局模塊2612示出圖的每個(gè)點(diǎn)。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,任何數(shù)量的點(diǎn)可以在任何時(shí)間被顯示。例如,在預(yù)定數(shù)量的點(diǎn)的位置和/或距離已被確定和/或校正之后,布局模塊2612可以顯示任何數(shù)量的點(diǎn)。在一些實(shí)施例中,初始位置一被確定,布局模塊2612就顯示每個(gè)點(diǎn)。隨后,布局模塊2612根據(jù)需要可視地調(diào)節(jié)點(diǎn)的位置。

圖28為在一些實(shí)施例中的用于調(diào)節(jié)圖布局的方法的流程圖。在步驟2802中,布局引擎1804接收與初始布局相關(guān)聯(lián)的數(shù)據(jù)。在一些實(shí)施例中,該步驟為可選的。例如,布局引擎1804可能已生成初始布局,并且因此,不檢索或以其他方式接收與初始布局相關(guān)聯(lián)的數(shù)據(jù)。在一些實(shí)施例中,布局引擎1804可以生成初始布局并將該初始布局提供給一個(gè)或多個(gè)數(shù)字裝置、處理器、存儲(chǔ)裝置和/或緩沖器。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,布局引擎1804可以從一個(gè)或多個(gè)源檢索初始圖布局。在一些各種中,存在多個(gè)圖布局引擎,所述多個(gè)圖布局引擎包含準(zhǔn)備初始圖布局的第一引擎而第二引擎執(zhí)行調(diào)節(jié)。

在步驟2804中,點(diǎn)選擇模塊2604和/或調(diào)節(jié)模塊2614可以針對(duì)初始布局的每個(gè)點(diǎn)識(shí)別點(diǎn)的子集。初始布局的每個(gè)點(diǎn)可以與不同的點(diǎn)子集(subset of points)相關(guān)聯(lián)。子集的點(diǎn)可以被稱為“反重力”點(diǎn)。在一些實(shí)施例中,一個(gè)或多個(gè)點(diǎn)可以至少部分相對(duì)于一個(gè)或多個(gè)反重力點(diǎn)被定位,好像存在施加力的邊緣一樣。例如,點(diǎn)可以通過(guò)三個(gè)邊緣被耦合至三個(gè)其它點(diǎn)。圖可以具有四個(gè)反重力點(diǎn)。點(diǎn)可以經(jīng)受三個(gè)邊緣的力以及如果點(diǎn)通過(guò)附加邊緣被耦合到反重力點(diǎn)將被導(dǎo)出的力。(多個(gè))子集的點(diǎn)可以被定位在貫穿圖的不同位置(例如,以類似于在初始布局期間被初始選擇的核心點(diǎn)的方式)。

可以存在與至少一個(gè)其它點(diǎn)相關(guān)聯(lián)的任何數(shù)量的反重力點(diǎn)。例如,可以存在向一個(gè)另外點(diǎn)施加力的100個(gè)反重力點(diǎn)。在一些實(shí)施例中,第一點(diǎn)可以充當(dāng)100個(gè)點(diǎn)的反重力點(diǎn),該100個(gè)點(diǎn)進(jìn)而用來(lái)作為反重力點(diǎn)提供到第一點(diǎn)的力。

在各種實(shí)施例中,初始布局的一個(gè)或多個(gè)點(diǎn)可以受反重力點(diǎn)的不同子集影響。施加的力可以是對(duì)稱的。例如,如果兩個(gè)點(diǎn)被邊緣耦合,則該兩個(gè)點(diǎn)將受邊緣的力影響。類似地,如果第一點(diǎn)用作第二點(diǎn)的反重力點(diǎn),則第二點(diǎn)可以用作第一點(diǎn)的反重力點(diǎn)。

在步驟2806中,調(diào)節(jié)模塊2614識(shí)別初始布局的每個(gè)點(diǎn)的邊緣和力(如果有的話)。在步驟2808中,調(diào)節(jié)模塊2614基于反重力點(diǎn)的相關(guān)聯(lián)的子集和識(shí)別的邊緣計(jì)算每個(gè)點(diǎn)上的力。在各種實(shí)施例中,調(diào)節(jié)模塊2614可以實(shí)施與近似的(例如,沒(méi)有預(yù)定距離閾值)點(diǎn)和/或?qū)嶋H邊緣相關(guān)聯(lián)的力。例如,調(diào)節(jié)模塊2614可以確定作用于點(diǎn)(如包含該點(diǎn)的實(shí)際邊緣)的力以及在近似的一個(gè)或多個(gè)反重力點(diǎn)(例如,所有反重力點(diǎn)中的一個(gè)或子集)之間的力。

在步驟2810中,調(diào)節(jié)模塊2614可以確定作用于所有點(diǎn)的所有力是否平衡。如果它們沒(méi)有平衡,那么在步驟2812中,調(diào)節(jié)模塊2614可以基于接近所識(shí)別的點(diǎn)的子集(例如,核心)的距離和預(yù)定邊緣來(lái)調(diào)節(jié)一個(gè)或多個(gè)點(diǎn)的位置。在一些實(shí)施例中,布局模塊2612示出在位置被調(diào)節(jié)期間或在位置被調(diào)節(jié)之后的調(diào)節(jié)。過(guò)程在步驟2808中繼續(xù),其中調(diào)節(jié)模塊2614可以部分基于一個(gè)或多個(gè)點(diǎn)的新位置來(lái)重新計(jì)算力,該力基于接近關(guān)聯(lián)的點(diǎn)的子集的距離和預(yù)定邊緣。替代地,如果作用于所有點(diǎn)的力平衡,則該方法可以結(jié)束。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在一些實(shí)施例中,所有點(diǎn)被評(píng)估并且同時(shí)或近乎同時(shí)對(duì)點(diǎn)的位置或距離進(jìn)行改變。在一些實(shí)施例中,一個(gè)點(diǎn)或點(diǎn)的子集被選擇。對(duì)于每個(gè)選擇的點(diǎn),調(diào)節(jié)模塊2614可以識(shí)別點(diǎn)和邊緣、基于邊緣以及至反重力點(diǎn)的假設(shè)邊緣計(jì)算力,并且進(jìn)行改變。隨后,先前未選擇的點(diǎn)的另一子集可以類似地被評(píng)估和被調(diào)節(jié),等等。

圖29示出根據(jù)各種實(shí)施例的示例性界標(biāo)模塊1902,其被配置成識(shí)別近似或表示較大的數(shù)據(jù)點(diǎn)集合的界標(biāo)點(diǎn)。在該示例中,界標(biāo)模塊1902包括界標(biāo)選擇模塊2902、距離計(jì)算模塊2904、界標(biāo)距離識(shí)別模塊2906、界標(biāo)距離存儲(chǔ)模塊2908、界標(biāo)距離比較模塊2910和界標(biāo)分配模塊2912。

界標(biāo)選擇模塊2902可以被配置成隨機(jī)選擇數(shù)據(jù)點(diǎn)的第一子集以分配為界標(biāo)點(diǎn)的初始集合。例如,界標(biāo)選擇模塊2902可以將來(lái)自有限量度空間的初始點(diǎn)集合選擇為界標(biāo)集合L。將認(rèn)識(shí)到,界標(biāo)選擇模塊2902可以偽隨機(jī)(例如,在軟件或計(jì)算機(jī)實(shí)施方式的限度內(nèi)隨機(jī)地)和/或與其它方法組合(例如,在有限量度空間的部分內(nèi)隨機(jī)地或部分基于信息的密度)來(lái)選擇點(diǎn)。界標(biāo)選擇模塊2902可以用任意種方式來(lái)選擇點(diǎn)。

距離計(jì)算模塊2904可以被配置成計(jì)算在相應(yīng)的非界標(biāo)數(shù)據(jù)點(diǎn)和在有限參考空間中的每個(gè)界標(biāo)點(diǎn)之間的距離。在一些實(shí)施例中,距離計(jì)算模塊2904存儲(chǔ)一些或全部信息以便以后使用。例如,距離計(jì)算模塊2904可以計(jì)算以后由透鏡生成模塊1802使用的距離。

界標(biāo)距離識(shí)別模塊2906可以被配置成識(shí)別來(lái)自在相應(yīng)的非界標(biāo)數(shù)據(jù)點(diǎn)和每個(gè)界標(biāo)之間的距離之中的最短距離。在非界標(biāo)數(shù)據(jù)點(diǎn)和界標(biāo)數(shù)據(jù)點(diǎn)之間的最短距離可以指示至該特定非界標(biāo)數(shù)據(jù)點(diǎn)的最近界標(biāo)。

界標(biāo)距離存儲(chǔ)模塊2908可以被配置成將相應(yīng)的非界標(biāo)數(shù)據(jù)點(diǎn)的最短數(shù)據(jù)點(diǎn)距離存儲(chǔ)為該數(shù)據(jù)點(diǎn)的界標(biāo)距離。界標(biāo)距離比較模塊2910可以被配置成確定來(lái)自至每個(gè)數(shù)據(jù)點(diǎn)的最近界標(biāo)的最短距離(例如,由界標(biāo)距離存儲(chǔ)模塊2908存儲(chǔ))之中的最長(zhǎng)界標(biāo)距離。

界標(biāo)分配模塊2912可以被配置成將與最長(zhǎng)界標(biāo)距離相關(guān)聯(lián)的數(shù)據(jù)點(diǎn)添加到界標(biāo)點(diǎn)的初始集合(例如,從而添加新界標(biāo))。

如本文所述,界標(biāo)(L)是在有限量度空間中的集合數(shù)據(jù)點(diǎn)的子集。界標(biāo)可以被選擇使得子集表示或近似接收的數(shù)據(jù)。在一些實(shí)施例中,界標(biāo)被選擇以反映在空間中的數(shù)據(jù)點(diǎn)的“平均”和“極端”表現(xiàn)這兩者,并且因此對(duì)界標(biāo)集合執(zhí)行的分析和其它操作作為整個(gè)量度空間(X)的表現(xiàn)的近似。在一些實(shí)施例中,當(dāng)僅通過(guò)對(duì)空間的子集進(jìn)行操作來(lái)對(duì)大的數(shù)據(jù)集合工作時(shí),界標(biāo)點(diǎn)可以被用作提高尺度(scale)和性能的手段。

圖30為示出在一些實(shí)施例中的用于從數(shù)據(jù)集生成一組界標(biāo)點(diǎn)的示例性方法的流程圖3000。以下關(guān)于圖30中的步驟的論述將參考圖31A-D和圖32來(lái)描述。在步驟3002中,界標(biāo)模塊1902接收定義有限量度空間的一組數(shù)據(jù)點(diǎn)。例如,接收數(shù)據(jù)可以包含界標(biāo)模塊1902訪問(wèn)數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含非常大體積的多維數(shù)據(jù),如圖31A所示。

圖31A示出根據(jù)各種實(shí)施例的包含數(shù)據(jù)的示例性量度空間3200。由于在量度空間3200中示出的和由本文所述的方法和算法處理的數(shù)據(jù)量可能是大的(例如,大約2億+個(gè)數(shù)據(jù)點(diǎn)),量度空間3200的子集3202將被用于討論目的。因此,圖31B示出根據(jù)一些實(shí)施例的由個(gè)體數(shù)據(jù)點(diǎn)3204組成的子集3202。

在步驟3004,界標(biāo)選擇模塊2902將個(gè)體數(shù)據(jù)點(diǎn)3204的隨機(jī)子集選擇為界標(biāo)點(diǎn)的第一集合。為說(shuō)明該步驟,圖31C示出已從子集3202隨機(jī)選擇的示例性隨機(jī)界標(biāo)R1、R2、R3和R4。由于量度空間3200是大的(例如,2億+個(gè)數(shù)據(jù)點(diǎn)),隨機(jī)選擇的點(diǎn)趨向位于高密度區(qū)域,這在嘗試選擇表示較大空間的特性的點(diǎn)的子集時(shí)是有益的。例如,對(duì)于約2億個(gè)數(shù)據(jù)點(diǎn)的量度空間,隨機(jī)選擇的界標(biāo)點(diǎn)的數(shù)量可以為約5,000個(gè)點(diǎn)。因此,隨機(jī)選擇的界標(biāo)的顯著部分可能最終成為異常值的概率可能是相當(dāng)?shù)偷?,并且隨機(jī)選擇的界標(biāo)最終位于較高密度數(shù)據(jù)點(diǎn)區(qū)域中。

在步驟3006,距離計(jì)算模塊2904計(jì)算在隨機(jī)界標(biāo)和在量度空間3100中的所有其它非界標(biāo)點(diǎn)之間的距離。如本文所用,在界標(biāo)點(diǎn)和個(gè)體數(shù)據(jù)點(diǎn)3204之間的距離被稱為數(shù)據(jù)點(diǎn)距離。因此,圖31D示出對(duì)應(yīng)于針對(duì)三個(gè)點(diǎn)(P1、P2和P3)的至每個(gè)界標(biāo)的數(shù)據(jù)點(diǎn)距離的線。應(yīng)理解,還計(jì)算針對(duì)除P1、P2和P3以外的所有其它點(diǎn)和界標(biāo)的數(shù)據(jù)點(diǎn)距離,但是為了清楚和說(shuō)明的目的,在圖31D中示出的線僅針對(duì)P1、P2和P3被繪制。因此,在該示例中,在P1和R1、R2、R3以及R4之間的每個(gè)距離被計(jì)算,在P2和R1、R2、R3以及R4之間的每個(gè)距離被計(jì)算等,直到在每個(gè)非界標(biāo)點(diǎn)和所有界標(biāo)之間的距離被計(jì)算。圖32A-32B更詳細(xì)地示出該過(guò)程。

圖32A示出在點(diǎn)P1和隨機(jī)界標(biāo)R1、R2、R3以及R4之間的示例性數(shù)據(jù)點(diǎn)距離。在該示例中,在P1和R1之間的距離d1為3,在P1和R2之間的距離d2為5,在P1和R3之間的距離d3為7,以及在P1和R4之間的距離d4為6。如本文所用,相應(yīng)非界標(biāo)點(diǎn)的界標(biāo)距離被定義為至其最近界標(biāo)的最短距離或最短數(shù)據(jù)點(diǎn)距離。因此,距離d1、d2、d3和d4被彼此比較以確定哪個(gè)是最短的(即,從P1至界標(biāo)的最短距離)。在該示例中,在P1和R1之間的距離d1為最短距離,并且因此被定義為P1的界標(biāo)距離3302。因此,R1是至P1的最近界標(biāo),其中具有對(duì)應(yīng)的界標(biāo)距離3302(即,d1=3)。

類似地,圖32B示出在點(diǎn)P2和隨機(jī)界標(biāo)R1、R2、R3以及R4之間的示例性距離。在該示例中,在P2和R1之間的距離d5為5,在P2和R2之間的距離d6為5,在P2和R3之間的距離d7為9,以及在P2和R4之間的距離d8為8。如上所述,距離d5、d6、d7和d8被彼此比較以確定哪個(gè)是至P2的最近界標(biāo)的最短距離,該最短距離為距離d5。因此,在P2和R1之間的距離d5為界標(biāo)距離3304。因此,在該示例中,R1也是至P2的在界標(biāo)距離3304(即,d5=5)處的最近界標(biāo)。

因此,在圖32A和圖32B中描述的距離計(jì)算因此被計(jì)算用于P3,并且在量度空間3200中的每個(gè)其它非界標(biāo)點(diǎn)和距離計(jì)算沿此方式被存儲(chǔ)。例如,圖32C示出其中針對(duì)每個(gè)點(diǎn)的距離被存儲(chǔ)的示例性表格3250。在該示例中,僅示出點(diǎn)P1和P2的距離,但是應(yīng)認(rèn)識(shí)到,此表格或陣列將包含每個(gè)非界標(biāo)點(diǎn)的距離。因此,在一個(gè)實(shí)施例中,表格3250存儲(chǔ)每個(gè)點(diǎn)至量度空間3100中的每個(gè)界標(biāo)的距離。從這些距離,每個(gè)點(diǎn)的界標(biāo)距離(例如,至最近界標(biāo)的最短距離)被識(shí)別并被比較以生成第二組界標(biāo)點(diǎn)。該過(guò)程關(guān)于圖33A-33D進(jìn)一步討論。

在步驟3008,界標(biāo)距離識(shí)別模塊2906從存儲(chǔ)在表格3250中的數(shù)據(jù)點(diǎn)距離中識(shí)別最短數(shù)據(jù)點(diǎn)距離。圖33A示出點(diǎn)P1、P2和P3至界標(biāo)R1的示例性界標(biāo)距離,該距離可以被用于展示附加界標(biāo)點(diǎn)的選擇。例如,界標(biāo)距離識(shí)別模塊2906針對(duì)每個(gè)點(diǎn)確定哪個(gè)界標(biāo)點(diǎn)是該相應(yīng)點(diǎn)的最近界標(biāo)點(diǎn)。這可以包含例如,比較針對(duì)每個(gè)點(diǎn)的來(lái)自表格3250的距離值dn以確定哪個(gè)距離dn是最短的。因此,在該示例中,從P1至界標(biāo)點(diǎn)(界標(biāo)點(diǎn)R1)的最短距離為3,從P2至界標(biāo)點(diǎn)(也至界標(biāo)點(diǎn)R1)的最短距離為5。

此類操作可以使用X的索引狀態(tài)(即,諸如在量度空間3100中的P1、P2和P3的點(diǎn))、L的索引陣列(例如,L[1]是在第1界標(biāo)的X中的索引),其中每個(gè)隨機(jī)界標(biāo)點(diǎn)Rn和隨后確定的界標(biāo)點(diǎn)在L中,和記錄在X[x](即,P1、P2、P3等)和相應(yīng)最近界標(biāo)點(diǎn)之間的最短距離的dClosest[x],以及inL[],如果x在L中,inL[]為真。

在步驟3010,界標(biāo)距離存儲(chǔ)模塊2908將從每個(gè)非界標(biāo)點(diǎn)至界標(biāo)點(diǎn)的最短距離(或至最近界標(biāo)的距離)存儲(chǔ)在陣列中,諸如圖33B所示的表格3350。在步驟3012,界標(biāo)距離比較模塊2910確定每個(gè)界標(biāo)距離之中的每個(gè)最短數(shù)據(jù)點(diǎn)距離(或最長(zhǎng)界標(biāo)距離)之中的最長(zhǎng)界標(biāo)距離。例如,返回至圖33A,隨機(jī)界標(biāo)點(diǎn)R1為最接近點(diǎn)P1、P2和P3的界標(biāo),并且因此,針對(duì)這些點(diǎn)中的每個(gè)點(diǎn)的界標(biāo)距離ln(即,至最近界標(biāo)的距離)是至R1的其相應(yīng)距離,該距離被存儲(chǔ)在表格3350中。因此,在該示例中,P1的界標(biāo)距離為l1=3,P2的界標(biāo)距離為l2=5以及P3的界標(biāo)距離為l3=4。因此,界標(biāo)距離比較模塊2910比較這些距離以識(shí)別最長(zhǎng)距離,在該示例中,該最長(zhǎng)距離是在圖33B的用圓示出的l2=5,屬于點(diǎn)P2。

因此,通過(guò)最長(zhǎng)界標(biāo)距離,P2相對(duì)于其它非界標(biāo)點(diǎn)距隨機(jī)界標(biāo)最遠(yuǎn),并且在步驟3014中,界標(biāo)分配模塊2912將P2添加到隨機(jī)界標(biāo)點(diǎn)(或種界標(biāo))集合以生成界標(biāo)點(diǎn)集合。因此,存在隨機(jī)選擇的界標(biāo)點(diǎn)(R)的初始集合,并且沿此方式計(jì)算的最大-最小界標(biāo)點(diǎn)(MM)隨后被添加到R以生成界標(biāo)集合(L)。因此,圖33C示出作為新MM界標(biāo)點(diǎn)L1的點(diǎn)P2

在各種實(shí)施例中,該過(guò)程在L1已被添加到隨機(jī)選擇界標(biāo)點(diǎn)(R)的初始集合之后啟動(dòng)以識(shí)別和添加第二最大遠(yuǎn)離的點(diǎn)到界標(biāo)點(diǎn)的集合。因此,在確定每個(gè)點(diǎn)的界標(biāo)距離時(shí),步驟3002至3014可以被重復(fù),其中L1被包含在界標(biāo)點(diǎn)(L)的集合。因此,圖33D示出具有作為現(xiàn)有界標(biāo)的L1的子集3202,其中在各個(gè)點(diǎn)之間的距離已被計(jì)算。在該示例中,在包含L1的情況下,R1不再是至點(diǎn)P1和P3的最近界標(biāo)。例如,P1現(xiàn)在是距其最近界標(biāo)L1的距離d1’=2,并且最近界標(biāo)也為L(zhǎng)1的P3現(xiàn)在是距L1的距離d3′=2。如圖33D進(jìn)一步所示,在P4和R1之間的距離d4’=3,以及在點(diǎn)P4和新添加的MM界標(biāo)點(diǎn)L2之間的距離d5’=4,由此(since)d5’大于d4’、d3’和d1’。

在一個(gè)示例中,用于生成界標(biāo)點(diǎn)集合的方法可以利用稱為PROCESS_x_AND_1(X,1)的過(guò)程,例如,該過(guò)程確定在每個(gè)點(diǎn)和每個(gè)界標(biāo)點(diǎn)之間的距離、識(shí)別每個(gè)點(diǎn)的最近界標(biāo)(dClosest[])并且更新每個(gè)點(diǎn)的dClosest[]陣列。隨后,稱為FIND_NEXT_L(1)的過(guò)程可以將在1處的新MM界標(biāo)添加到界標(biāo)集合(L)。例如,PROCESS_x_AND_1(x,1)可以被實(shí)現(xiàn)如下:

double dist=distance(x,L[1]);

if(dist<dClosest[x])dClosest[x]=dist;

FIND_NEXT_L(1)可以被實(shí)現(xiàn)如下:

因此,返回參考圖33D,用于生成界標(biāo)點(diǎn)集合的方法可以通過(guò)首先選擇隨機(jī)界標(biāo)R1、R2、R3和R4,并且此后針對(duì)量度空間3200中的每個(gè)點(diǎn)(例如,對(duì)在L中的每1的在X中的每個(gè)x)調(diào)用PROCESS_x_AND_1(x,1)。因此,用于生成界標(biāo)點(diǎn)集合的方法的第一部分可以實(shí)現(xiàn)如下:

一旦完成第一部分,剩余的界標(biāo)點(diǎn)就可以一次被循環(huán)一個(gè)以在該方法的第二部分中發(fā)現(xiàn)下一個(gè)MM界標(biāo):

圖37是示例性數(shù)字裝置3700的框圖。數(shù)字裝置3700包括處理器3702、存儲(chǔ)器系統(tǒng)3704、存儲(chǔ)系統(tǒng)3706、通信網(wǎng)絡(luò)接口3708、I/O接口3710以及通信地耦接到總線3714的顯示接口3712。處理器3702可以被配置成執(zhí)行可執(zhí)行的指令(例如,程序)。在某些實(shí)施例中,處理器3702包括能夠處理可執(zhí)行指令的電路或任何處理器。

存儲(chǔ)器系統(tǒng)3704為被配置成存儲(chǔ)數(shù)據(jù)的任何存儲(chǔ)器。存儲(chǔ)器系統(tǒng)3704的一些示例為存儲(chǔ)器件,諸如RAM或ROM。存儲(chǔ)器系統(tǒng)3704可以包括ram高速緩沖存儲(chǔ)器。在各種實(shí)施例中,數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器系統(tǒng)3704中。在存儲(chǔ)器系統(tǒng)3704內(nèi)的數(shù)據(jù)可以被清除或最終被轉(zhuǎn)移到存儲(chǔ)系統(tǒng)3706。

存儲(chǔ)系統(tǒng)3706為被配置成檢索和存儲(chǔ)數(shù)據(jù)的任何存儲(chǔ)。存儲(chǔ)系統(tǒng)3706的一些示例是閃存驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器和/或磁帶。在一些實(shí)施例中,數(shù)字裝置3700包括RAM形式的存儲(chǔ)器系統(tǒng)3704和閃存數(shù)據(jù)形式的存儲(chǔ)系統(tǒng)3706。存儲(chǔ)器系統(tǒng)3704和存儲(chǔ)系統(tǒng)3706兩者包括計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以存儲(chǔ)可由包括處理器3702的計(jì)算機(jī)處理器執(zhí)行的指令或程序。

通信網(wǎng)絡(luò)接口(通信網(wǎng)絡(luò)接口)3708可以通過(guò)鏈路3716被耦合到數(shù)據(jù)網(wǎng)絡(luò)(例如,數(shù)據(jù)網(wǎng)絡(luò)504或514)。通信網(wǎng)絡(luò)接口3708可以例如通過(guò)以太網(wǎng)連接、串聯(lián)連接、并聯(lián)連接或ATA連接支持通信。通信網(wǎng)絡(luò)接口3708還可以支持無(wú)線通信(例如,802.11a/b/g/n,WiMax)。本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,通信網(wǎng)絡(luò)接口3708可以支持許多有線和無(wú)線標(biāo)準(zhǔn)。

可選輸入/輸出(I/O)接口3710是接收來(lái)自用戶的數(shù)據(jù)和輸出數(shù)據(jù)的任何裝置??蛇x的顯示接口3712是可以被配置成向顯示器輸出圖形和數(shù)據(jù)的任何裝置。在一個(gè)示例中,顯示接口3712為圖形適配器。

本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,數(shù)字裝置3700的硬件元件并不限于在圖37中示出的這些元件。數(shù)字裝置3700可以包括比所示出的元件更多或更少的硬件元件。此外,硬件元件可以共享功能并且仍然在本文所述的各種實(shí)施例的范圍內(nèi)。在一個(gè)示例中,編碼和/或解碼可以由處理器3702和/或位于GPU上的協(xié)處理器執(zhí)行。

以上描述的功能和組件可以由存儲(chǔ)在存儲(chǔ)介質(zhì)(例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì))上的指令組成。該指令可以被處理器檢索和執(zhí)行。指令的一些示例為軟件、程序代碼和固件。存儲(chǔ)介質(zhì)的一些示例為存儲(chǔ)器件、磁帶、磁盤(pán)、集成電路和服務(wù)器。在指令被處理器(例如,數(shù)據(jù)處理裝置)執(zhí)行時(shí),指令可操作以引導(dǎo)處理器根據(jù)本文所述的實(shí)施例來(lái)運(yùn)行。本領(lǐng)域的技術(shù)人員熟悉指令、(多個(gè))處理器和存儲(chǔ)介質(zhì)。

本文所述的實(shí)施例已參考示例實(shí)施例在以上進(jìn)行了描述。對(duì)應(yīng)本領(lǐng)域的技術(shù)人員將是明顯的是,在沒(méi)有脫離(多個(gè))本發(fā)明的廣泛范圍的情況下,可以進(jìn)行各種改變并且可以使用其它實(shí)施例。因此,對(duì)示例實(shí)施例的這些和其它變更可以被本文的討論涵蓋。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
台北县| 尼木县| 分宜县| 樟树市| 富蕴县| 宝兴县| 抚松县| 长治市| 南雄市| 确山县| 德钦县| 靖边县| 古浪县| 桃园县| 漯河市| 镇赉县| 荣昌县| 汾阳市| 正宁县| 察雅县| 莱芜市| 凯里市| 航空| 台州市| 安阳县| 松潘县| 苗栗市| 开江县| 鹤峰县| 咸丰县| 连山| 宿松县| 鄂伦春自治旗| 昂仁县| 开江县| 萨迦县| 安远县| 宁晋县| 马公市| 松阳县| 临猗县|