【編者按】拓撲數據分析(TDA)和機器學習(ML)的區別與聯繫讓不熟悉TDA的人撲朔迷離,本文通過兩個定義,解釋了TDA和ML的不同,以及TDA和ML如何相互促進,為何會相互促進,並通過一個設備故障分析的案例(5000個樣本,複雜度適中,48個連續特徵)來進行證明。
對拓撲數據分析(TDA)不熟悉的人,經常會問及一些類似的問題:「機器學習和TDA兩者之間的區別?」,這種問題的確難以回答,部分原因在於你眼中的機器學習(ML)是什麼。
下面是維基百科關於機器學習的說明:
機器學習研究算法學習和構造,能從數據中進行學習並做出預測。這種算法通過從輸入實例中建立模型,目的是根據數據做出預測或決策,而不是嚴格地遵循靜態程序指令。
大多數人可能會認為TDA是機器學習的一種形式,但我覺得,在這些領域工作的人可能都不會贊成這一說法。
機器學習的具體實例比任何一個TDA的例子更像機器學習。同樣,TDA的實例比任何一個機器學習的例子看起來更像是TDA。
為了解釋TDA和ML兩者的不同,更重要的是證明TDA和ML是如何相互促進以及為何會相互促進,我將給出兩個非常簡單的定義,然後用一個真實的實例進行說明。
在這種觀點中,ML模型更加具體和詳細,而且模型的成功取決於它對未知數據的擬合程度。它的優勢是,當數據能很好的擬合模型時,其結果尤為突出——幾乎能夠完美的理解那些有明顯噪聲的數據。
TDA的優點是它的通用性。
對於TDA,任何相似性概念都可以拿來使用。相反,對於ML,你需要一個(或更多)強化的相似性概念,與其它任何方法一起發揮作用。
例如,給你一長串的名字,你是無法根據它來預測出身高和體重。你需要更多的信息。
主要因素是拓撲算法對小誤差的容忍度很大——即便你的相似性概念在某種程度上存在缺陷,只要它存在「幾分相似」,TDA算法一般就會產生一些有用的東西。
TDA方法的通用性還有另一個優於ML技術的地方,當ML方法擬合效果很好的時候,TDA方法仍然有效——即ML方法經常創建詳細的能生成相似性概念的內部狀態,使TDA和ML能夠更深層次的洞悉數據。
聽起來還不錯,但是這通常會走向極端(或者如果你覺得小誤差的容忍度偏低,或是模糊度不夠),這意味著一切都有可能發生。
那麼,來舉個特例吧。
隨機森林分類器是一個組合學習方法,在訓練過程中,建立大量的決策樹並在這些「森林」(決策樹集合)的基礎上使用「多數規則」對非訓練數據進行分類。
儘管建立樹的過程相當有趣並且也很靈活,但它們沒有相關的細節。對於隨機森林,你只要記住,它通過把一系列決策樹的集合應用到已知數據點上,然後返回一系列的「葉節點」(決策樹中,到輸入"下落"的葉子)。
在正常的操作下,每棵樹的每個葉子節點都有一個相關的類別C,可以解釋為「當一個數據點位於樹的該節點時,在很大程度上它就屬於該類別C」。隨機森林分類器通過從每棵樹上統計「葉節點類別投票總數」來選出勝出者。儘管在大規模的數據類型上高度有效,但該過程會丟掉大量的信息。
如果你關心的是對數據類別的最佳猜測,那麼你不會想看到額外的信息,但有時候你會需要更多的信息。這種「無關的」信息可以轉換成一個距離函數,通過把兩個數據點之間的距離定義為它們各自「葉節點」之間差異的倍數。
兩個數據點的距離函數是一個很好的度量(事實上,是在轉換後的數據集上的漢明距離),而且這樣我們可以把TDA應用到上面。
例如,讓我們來看看從下面連結的樣本中隨機選取的5000個樣本點:https://archive.ics.uci.edu/ml/datasets/Dataset+for+Sensorless+Drive+Diagnosis.
該數據集複雜度適中,有48個連續特徵,這些特徵似乎是硬碟驅動中無法解釋的電流信號。數據還包括一個類別列,它有11個可能的取值,描述的是光碟驅動組件不同的狀況(故障模式,也許吧?)。很明顯可以在特徵列上計算歐幾裡得距離,然後通過類來給圖形著色。由於我們對於特徵項一無所知,所以首先要嘗試的事情就是查看鄰近晶狀體情況。其結果是一個普通的斑點。
這讓人有些失望!
接著,使用一些內部的調試功能,我看到鄰近晶狀體的一個散點圖,我知道為什麼如此糟糕了——它看起來像是一顆聖誕樹。
很顯然,在歐氏度量中沒有類的定位。
然而,如果你在數據集上建立一個隨機森林,分類器會有一個非常小的out-of-bag誤差,這強烈的表明了分類器性能的可靠性。
因此,我嘗試使用隨機森林的漢明距離來作圖,這種度量下的鄰近晶狀體如下圖所示:
這看起來很不錯。只要確定我們也看到了鄰近晶狀體的散點圖就行,上圖的結果表明:
很明顯,從線圖和散點圖可以看出,隨機森林「看」複雜結構的能力要低於分類的標準水平,並被TDA給證實了。原因就是RF沒有充分使用「不相關的」數據——而TDA充分的利用了這些數據並且從這些信息中得到了大量的好處。
然而,一些人可能會說,這種結構是虛構的——這也許是我們在系統的某處使用算法人工生成的?在這種數據集下,我們不能真正識別它,因為對於該類別的其它信息我們一無所知。
不過,基於設備老化時收集的數據,我們在消費者數據上使用隨機森林來度量分析成千上萬的複雜設備可能的故障模式。類別是基於設備因為不同的原因(並不是所有的原因都是由故障導致的)而返廠的事後分析完成的。
在這個例子中,我們發現隨機森林度量標準在故障識別層面做的很好,並且我們得到的圖片特徵和上面這些也相似。更重要的是,我們發現在給定的故障模式中的特定組,有時有不同的原因。
在這些情況下得出的結論是:我們在使用TDA和RF時沒有做進一步的空間分解,這些原因可能會更難發現。
我們剛才看到的例子表明,TDA與機器學習可以一起使用,並且得到的效果比使用單個技術更好。
這就是我們所說的ML&TDA:同時使用更好。
原文連結:How TDA and Machine Learning Enhance Each Other(譯者/劉帝偉 審校/劉翔宇、朱正貴、李子健 責編/仲浩)
譯者簡介:劉帝偉,中南大學軟體學院在讀研究生,關注機器學習、數據挖掘及生物信息領域。
本文為CSDN編譯整理,未經允許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)