走進大數(shù)據(jù)之拓撲數(shù)據(jù)分析方法
文 | 楊曉東
拓撲數(shù)據(jù)分析(TDA),顧名思義,就是把拓撲學與數(shù)據(jù)分析結合的一種分析方法,用于深入研究大數(shù)據(jù)中潛藏的有價值的關系。
相比于主成分分析、聚類分析這些常用的方法,TDA不僅可以有效地捕捉高維數(shù)據(jù)空間的拓撲信息,而且擅長發(fā)現(xiàn)一些用傳統(tǒng)方法無法發(fā)現(xiàn)的小分類。這種方法也因此曾在基因與癌癥研究領域大顯身手。
1.什么是拓撲數(shù)據(jù)分析
拓撲學研究的是一些特殊的幾何性質(zhì),這些性質(zhì)在圖形連續(xù)改變形狀后還能繼續(xù)保持不變,稱為“拓撲性質(zhì)”。而在復雜的高維數(shù)據(jù)內(nèi)部也存在著類似的結構性質(zhì),我們可以形象地稱之為數(shù)據(jù)的形狀(特征)。
和通常研究的成對關系相比,這種相互關系的形狀之中可能潛藏了巨大的研究價值。要理解數(shù)據(jù)的形狀,就必須求助于拓撲學。TDA所做的就是抽取這種形狀并進行分析。
那么到底如何來刻畫數(shù)據(jù)的形狀呢?下圖是一個簡單的例子:
左邊是一只手的采樣數(shù)據(jù)點,宏觀看來像一只手。右邊則是經(jīng)過拓撲數(shù)據(jù)分析得到的圖,有點像一只手的骨架。從左邊到右邊,就是一次形狀重構的過程。這種重構用了很少量的點和邊去刻畫原始數(shù)據(jù)集,同時保留了原始數(shù)據(jù)的基本特征。
2.拓撲數(shù)據(jù)分析的三個要點
1)TDA的輸入可以是一個距離矩陣,表示任意兩數(shù)據(jù)點之間的距離。
它研究的是與坐標無關的形狀,完全不受坐標的限制。這也意味著拓撲形狀的構建依賴于距離函數(shù)的定義,或者說相似度概念的定義。坐標無關的特性,使得TDA可以整合來自不同平臺的數(shù)據(jù),盡管這些數(shù)據(jù)的結構不太一樣,你只需要給出合理的距離函數(shù)。這是TDA的一個優(yōu)點,通用性。
舉個例子,TDA在癌癥分析領域的成功,這種通用性是一個重要原因。因為不同癌癥數(shù)據(jù)集的指標、結構都不盡相同,而TDA可以輕松整合。
2)TDA研究的數(shù)據(jù)形狀,可以容忍數(shù)據(jù)小范圍的變形與失真。
想象在一塊橡皮上寫了一個字母”A”,你用力擠壓拉扯這塊橡皮,字母”A”雖然有點扭曲變形,但是“一個三角形帶兩個腳”這樣的基本特征仍然存在。從上面“手”的例子也可以看出,TDA對小誤差的容忍度很大。
3)如果我們要粗略的描繪一個湖泊輪廓,最簡潔的就是使用一個多邊形。
拓撲處理的是抽象的形狀,最典型的例子就是用六邊形來表示圓,這只需要用到6個點和6條邊。
TDA使用這種形式壓縮數(shù)據(jù),用有限的點和邊來表示大量的數(shù)據(jù),并且保留了數(shù)據(jù)重要的特征。
3.拓撲數(shù)據(jù)分析的主要步驟
用一個濾波函數(shù)對每個數(shù)據(jù)點計算一個濾波值。這個濾波函數(shù)可以是數(shù)據(jù)矩陣的線性投影,比如PCA。也可以是距離矩陣的密度估計或者中心度指標,比如L-infinity(L-infinity的取值是該點到離它最遠的點的距離,是一個中心度指標)。
數(shù)據(jù)點按照其濾波值,從小到大被分到不同的濾波值區(qū)間里。參照下圖中“手”被切成等寬的塊。但需要注意的是,相鄰的濾波值區(qū)間設置有一定的重疊區(qū)域,也就是重疊區(qū)域的點同時屬于兩個區(qū)間(這一點很重要)。
對每個區(qū)間里的數(shù)據(jù)分別做聚類。
把上一步驟中各區(qū)間聚類的得到的小類放在一起,每一個小類用一個大小不同的圓表示。若兩個類之間存在相同的原始數(shù)據(jù)點(這就是區(qū)間需要相互重疊的原因),則在它們之間加上一條邊。
對上述圓和邊組成的圖形施加一層力學布局,讓其達到平衡,就得到最終的“數(shù)據(jù)圖形”。
下圖是一個簡單的示意圖,便于理解:
4.案例:ayasdi公司關于NBA球員的研究
有一份關于NBA球員的數(shù)據(jù)集,這份數(shù)據(jù)集編碼了球員在場上表現(xiàn)的各個方面,包括籃板、助攻、失誤、搶斷、封鎖、犯規(guī)、得分等各項指標的每分鐘頻率。對這份數(shù)據(jù)集進行拓撲化后,得到了下面這張圖。
籃球運動員的位置一般分為控球后衛(wèi)、得分后衛(wèi)、小前鋒、大前鋒、中鋒。然而在上圖的網(wǎng)絡中,我們看到了比傳統(tǒng)的五個位置更為精細的結構。比如在網(wǎng)絡的左側,守衛(wèi)被細分成了三個組,攻擊守衛(wèi)、防守守衛(wèi)、擊球守衛(wèi)。在網(wǎng)絡的中下部我們可以看到三個比較小的塊,其中有“NBA全明星”(Allstar NBA) 和“NBA全明星第二梯隊”(Allstar NBA 2nd Team)。
“NBA全明星”這個組幾乎由NBA歷史上最優(yōu)秀的球員組成,“第二梯隊”雖然也都是由全能的優(yōu)秀球員組成但表現(xiàn)上可能不如全明星組。
有意思的是,在全明星組中還有一些不太知名的球員,這些球員也許就是潛在的未來明星球員。
寫在最后
拓撲數(shù)據(jù)分析作為一種強大的工具,已經(jīng)開始被廣泛的應用。在未來基于TDA的算法肯定會不斷的提出和完善。目前關于TDA詳細的中文資料比較少,附上一份簡單的python實現(xiàn)以供交流 >>>
End.
轉(zhuǎn)載請注明來自36大數(shù)據(jù)(36dsj.com): 36大數(shù)據(jù) ? 走進大數(shù)據(jù)之拓撲數(shù)據(jù)分析方法