拓撲資料分析與機器學習的相互促進

2021-07-05 18:35:17 字數 2791 閱讀 8520

摘要:很多人認為拓撲資料分析是機器學習的一種形式,而這兩者之間的區別在於你對機器學習的理解與認知,而這篇文章就為你解析拓撲資料分析的一切問題。

【編者按】拓撲資料分析(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個樣本點:

該資料集複雜度適中,有48個連續特徵,這些特徵似乎是硬碟驅動中無法解釋的電流訊號。資料還包括乙個類別列,它有11個可能的取值,描述的是光碟驅動元件不同的狀況(故障模式,也許吧?)。很明顯可以在特徵列上計算歐幾里得距離,然後通過類來給圖形著色。由於我們對於特徵項一無所知,所以首先要嘗試的事情就是檢視鄰近晶狀體情況。其結果是乙個普通的斑點。

這讓人有些失望!

接著,使用一些內部的除錯功能,我看到鄰近晶狀體的乙個散點圖,我知道為什麼如此糟糕了——它看起來像是一顆聖誕樹。

很顯然,在歐氏度量中沒有類的定位。

然而,如果你在資料集上建立乙個隨機森林,分類器會有乙個非常小的out-of-bag誤差,這強烈的表明了分類器效能的可靠性。

因此,我嘗試使用隨機森林的漢明距離來作圖,這種度量下的鄰近晶狀體如下圖所示:

這看起來很不錯。只要確定我們也看到了鄰近晶狀體的散點圖就行,上圖的結果表明:

很明顯,從線圖和散點圖可以看出,隨機森林「看」複雜結構的能力要低於分類的標準水平,並被tda給證實了。原因就是rf沒有充分使用「不相關的」資料——而tda充分的利用了這些資料並且從這些資訊中得到了大量的好處

然而,一些人可能會說,這種結構是虛構的——這也許是我們在系統的某處使用演算法人工生成的?在這種資料集下,我們不能真正識別它,因為對於該類別的其它資訊我們一無所知。

不過,基於裝置老化時收集的資料,我們在消費者資料上使用隨機森林來度量分析成千上萬的複雜裝置可能的故障模式。類別是基於裝置因為不同的原因(並不是所有的原因都是由故障導致的)而返廠的事後分析完成的。

在這個例子中,我們發現隨機森林度量標準在故障識別層面做的很好,並且我們得到的特徵和上面這些也相似。更重要的是,我們發現在給定的故障模式中的特定組,有時有不同的原因。

在這些情況下得出的結論是:我們在使用tda和rf時沒有做進一步的空間分解,這些原因可能會更難發現。

我們剛才看到的例子表明,tda與機器學習可以一起使用,並且得到的效果比使用單個技術更好。

這就是我們所說的ml&tda:同時使用更好。

譯者簡介:劉帝偉,中南大學軟體學院在讀研究生,關注機器學習、資料探勘及生物資訊領域。

機器學習基礎 資料分析

1 問題定義 2 資料獲取 3 資料預處理 4 資料分析與建模 5 資料視覺化及資料報告的撰寫 貢獻度分析又稱帕累託分析,它的原理是帕累託法則又稱2 8定律。即累積效應達80 的前幾個因素。用統計指針對定量資料進行統計描述,常從集中趨勢和離中趨勢兩個方面進行分析。1 集中趨勢度量 均值 中位數 眾數...

資料分析和機器學習的區別

從資料本身來看 資料分析 處理的資料是交易資料 eg 使用者訂單 使用者訪問款 使用者的通話簡訊 使用的少量資料 取樣分析 資料量過大可採用取樣分析 機器學習 使用的海量資料 ps 關注 行為資料 導致資料量劇增 所以就普通資料公司變成大資料公司了。23333333 全量分析 通過全量分析對使用者的...

資料分析與機器學習學習筆記 聚類演算法

聚類演算法分屬與機器學習中的無監督學習型別,由於無監督學習大多是根據距離進行分類所以其準確性遠不及有監督學習,但是聚類演算法用於資料預處理還是有很大作用的。例如我們拿到乙個資料集後通過聚類演算法生成3個類別,在此基礎上將第一次分類產生的標籤用於接下來進一步的有監督學習 典型的stacking模型思想...