在資料科學的應用場景中,經常需要通過降低資料的維度來理解和可視化複雜的資料集。本文將簡單比較兩種流行的降維技術:DeepTDA(Deep Targeted Discriminant Analysis)和UMAP(Uniform Manifold Approximation and Projection),討論它們各自的優缺點以及最佳使用情境。
優點:
缺點:
優點:
缺點:
DTA is an example of unsupervised machine learning, meaning you don’t need to label your data prior to analysis.
以下翻譯補充參考自2023。Luigi Bonati et. al.。mlcolvar。Deep-TDA: Deep Targeted Discriminant Analysis
DeepTDA(Deep Targeted Discriminant Analysis)是一種用於監督學習的方法,它專門從有限的亞穩態(metastable states)信息出發,學習一種稱為集體變量(discriminant-based collective variables,CVs)的特殊變數。
Physical descriptors
在圖中提到的"Physical descriptors"指的是用於描述系統狀態的物理特徵。在化學和物理的脈絡中,這些描述符可能是原子的位置、角度、速度、能量狀態等,它們提供了對系統微觀狀態的詳細資訊。在DeepTDA模型中,這些物理描述符作為輸入資料被輸入到神經網絡,神經網絡會學習如何從這些高維度的物理資料中提取重要的特徵,並將其轉換成有用的低維度集體變量(CV),這些變量有助於區分不同的亞穩態或化學狀態。
Metastable states
在物理學中,亞穩態(metastable states)是指一種比最穩定態(即系統能量最低的態)稍微不穩定的狀態。雖然這個狀態不是最穩定的,但它需要一定的外部能量或擾動才能轉變到更穩定的態。這就像是一個球放在一個小坑里,而不是放在最深的大坑里;它可以留在那個小坑裡很長時間,直到有足夠的力使它出坑並最終滾到最深的那個坑裡。在化學反應中,亞穩態可能是某些中間產物的狀態,這些中間產物最終會變成更穩定的產物。在材料科學中,某些材料結構的亞穩態可能擁有獨特的性質,這使得它們在特定應用中非常有用,即便它們不是最穩定形態
亞穩態就像是遊戲中的不同關卡,而集體變量就是幫助識別這些關卡的特殊標誌
DeepTDA模型中的這些檢查點(metastable states)這裡可以看作是分群(clustering)的邊界,每個群體代表了系統中的一個特定狀態或階段。這些檢查點定義了資料點應該分類到哪一個群組中的規則,並且這些群組在整個資料集中是互相區分開的。
因此,當用DeepTDA來學習如何區分不同的亞穩態時,就像是在用分群算法來識別和劃定數據點應該屬於哪個群組的邊界。這種類比有助於理解亞穩態在動態系統中的角色,以及它們如何與分群算法中定義群組邊界的概念相似。
Discriminant-based Collective variables,CVs
「discriminant-based collective variables(基於判別的集體變數)」這個詞可以這樣理解:想像有一堆物質或狀態,它們在一個很大很複雜的空間裡,比如說在化學反應中,每種物質都有好多好多的原子,而且每個原子都在不停地動。這些動來動去的原子就好像是在很大的空間裡的一堆點。現在,想要用一個簡單的方法來描述這個複雜的動態,這就需要「集體變數」出場了。
集體變數其實就是一種特殊的變數,能夠幫把這一大堆的原子動態簡化成幾個重要的特點,只需要關注幾個變數就好了。而基於判別的集體變數,就是設計來區分不同物質或狀態的這些變數。例如,如果想要區分水和冰,基於判別的集體變數就會是描述水和冰在分子層面上的差異的那些關鍵特點。
數學上,可以用一個簡單的公式來表示這種基於判別的集體變數
這裡的
在這裡可以把「基於判別的集體變數」理解為一種編碼(Encoding)的概念。在資訊科學和資料處理中,編碼通常指的是將大量資料或複雜信息轉換成更簡潔、更易於處理的格式。這種轉換過程保留了原始資料中最重要的特徵,同時減少了資料的複雜性。
在DeepTDA中,「基於判別的集體變數」的編碼過程涉及使用神經網絡從高維資料中學習到能夠反映不同物質或狀態特性的低維表示。這些變數捕捉了區分這些狀態所需的關鍵資訊,就像是編碼器把一串複雜的資料編碼成一組更簡潔、更有意義的代碼,讓能夠更容易地進行分析和處理。
在DeepTDA中,使用一種叫神經網絡(NN)的工具來處理大量的描述資料
In DeepTDA these CVs are built imposing a target that is a linear superimposition of multivariate Gaussians with diagonal covariances.
在DeepTDA裡面,我們設定一個目標,來建立一些特殊的變數(CVs),幫助我們區分不同的狀態。這個目標是由幾個多變量高斯函數組成的,這些高斯函數疊加在一起。想像高斯函數就像是不同大小和形狀的山丘,它們彼此重疊,形成了一個有起伏的地形圖。
- 「Diagonal covariances」
這個術語意味著在這些高斯函數形成的地形圖中,每座山丘的寬度和方向都是獨立的,它們不會互相影響。在數學上,這表示我們在計算這些山丘的形狀時,只考慮了每個方向上的擴散程度,而沒有考慮不同方向之間的關聯。简而言之,每個變量都是獨立變化的,沒有變量之間的關聯性。
當面對多個亞穩態時,DeepTDA的應用也很直接。通常,如果有
不過,在某些情況下,如果不同的亞穩態只能按照特定的順序出現,比如在化學反應中,有穩定的中間產物,或者從相同的反應物中只能得到互斥的產品,那麼就可以減少需要的集體變量的數量。在這種情況下,DeepTDA允許僅通過設定一個目標就能建立一維的集體變量,這個目標會尊重這些狀態的順序。
舉例來說,在遊戲中有很多不同的階段或「關卡」(metastable states)。每個關卡都有自己的特點,而DeepTDA就像是一個特殊的指南,能幫找到從一個關卡到另一個關卡的路徑。如果遊戲有
這些指南是根據一些規則設計的,這些規則就像是一堆覆蓋在關卡上的多變量高斯函數,每一個函數都有一個「中心點」和「擴散範圍」,這幫助清楚地看到每個關卡的位置和大小。
但有時候,遊戲的設計是讓你必須按照一定的順序通過這些關卡,比如你必須先通過「森林」關卡才能進入「沙漠」關卡。在這種情況下,你不需要那麼多的指南,因為關卡之間的路徑是固定的。DeepTDA允許只用一條路徑或指南,就能按照正確的順序通過所有關卡,這條指南就是設定的一維集體變量,它尊重了關卡的通過順序。
每個狀態在訓練過程中都會貢獻兩個數值,一個是中心位置的數值,一個是分布寬度的數值。神經網絡的目標是調整這些數值,使其盡可能接近事先設定的目標值。
就好像你在玩一個射擊遊戲,你的槍每次射擊後都有一個散佈範圍,你要通過調整瞄準器,讓你的子彈盡可能打在靶心,同時確保子彈散佈的範圍也要盡可能小,這樣你射出的子彈就可以更精準地命中目標。
在數學公式中,用
最後,把所有狀態和所有維度上的這些數值加起來,得到一個總損失函數
總損失函數的數學公式如下:
這個公式簡單地說就是把所有狀態和維度上的數值加起來,得到一個總分,神經網絡要努力讓損失函數越小越好。
在分群演算法中,每個群組通常會有一個「群中心點」,這代表了該群組所有數據點的中心或平均位置。同樣地,
而
如何設定目標高斯函數的中心點和寬度,以便有效地學習和區分不同的亞穩態
首先,每個亞穩態都會對應一個高斯函數。需要把這些函數放在彼此之間有一定距離的位置,這樣模型才能更好地學習如何區分它們。例如,如果有兩個亞穩態對應的高斯函數中心點是
接著,高斯函數的寬度,也就是
為什麼要這樣設定呢?原因有三:
總的來說,這樣的設定可以幫助神經網絡更好地學習數據,並且確保在分辨不同亞穩態時,模型的表現是有效的。
白話來說,想像你在設計一個電子遊戲的地圖,要放置一些檢查點(就是這裡說的高斯函數,用來代表不同狀態)。要確保這些檢查點(metastable states)既不要太靠近,也不要太遠。如果它們太靠近,玩家就分不清楚現在在哪個階段;如果它們太遠,玩家可能會迷路,因為大部分地圖都沒有檢查點。而且檢查點的大小也不能太大或太小,要剛剛好,這樣玩家才能明確知道自己是否已經達到那個階段。
數學上,會給這些檢查點設定一個中心位置(比如說
這樣設定目標的理由是要讓神經網絡在學習時不至於太困難,也不會學得不夠準確。如果這些目標設定得好,那麼神經網絡就能更好地學習如何區分不同的遊戲階段,並幫助玩家順利通過。
TPI-Deep-TDA 是 Deep-TDA 的一種進階版,它加入了 Transition Path Informed (TPI) 的概念。簡單來說,這個方法不只是學習亞穩態(就像是不同的遊戲關卡),還學習這些關卡之間的過渡路徑,也就是從一個狀態到另一個狀態的轉變。
在這個進階的模型中,我們把過渡路徑當作一個獨立的類別來處理。這樣做的好處是它不僅提高了模擬的收斂速度,還改善了模型的性能,因為它提供了更多關於亞穩態之間關係的資訊。
整個過程可以想像成以下步驟:
在實際操作中,TPE 數據是通過修剪反應軌跡來收集的,這些軌跡可以用 OPES-Flooding 方案輕易生成,這就像是用一個已知的地圖來預測其他地圖的情況。這樣,TPE 就被加入到 Deep-TDA CV 中,作為一個更寬廣的狀態,用 ( \sigma_{TPE} = 1.0/2.0 ) 來表示,確保它與其他亞穩態之間的重疊是可以忽略不計的。
最通俗直白的一篇,推薦從這篇看起
TDA (DataRefiner) visualisation for the time-series dataset
拓撲資料分析(Topological Data Analysis,TDA)是一種應用拓撲技術分析數據集的方法,特別是在處理高維、不完整和噪聲數據時顯得非常有用。TDA提供了一個一般性的框架,可以不受特定度量影響地分析數據,並提供降維和對噪聲的穩固性
Topological Data Analysis (TDA) | An introduction