JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

在流形上分類:MDM、Karcher 平均與切空間技巧

把幾何變成解碼器的兩條路:最近平均法(MDM)幾乎不需資料或調參,而切空間投影則解鎖了整個線性分類器工具箱。

最近平均法(MDM)

最簡單的流形分類器直接得近乎令人難為情。訓練時,為每個類別算出一個平均共變異數。要分類一段新試次的共變異數時,就把它指派給 AIRM 距離最近的那個類別平均。這就是整個最近平均法(MDM)演算法——沒有空間濾波器要學、沒有特徵要挑、沒有正則化參數要網格搜尋。

\hat{y} = \arg\min_{k \in \{1,\dots,K\}} \; \delta_R\big( C, \, \bar{C}_k \big)

MDM 決策規則:以黎曼距離下最近的類別平均共變異數為試次貼標籤。

最簡單的流形分類器:先各算一次每個類別的平均共變異數,再以新試次最接近哪個類別平均來貼標籤——用彎曲的黎曼距離來量。

C
待分類試次的共變異數。
\bar{C}_k
類別 k 的平均共變異數。
\delta_R
用來判斷接近程度的黎曼距離。
\hat{y}
預測出的類別標籤。

這個最小距離至平均規則,除了計算各類別平均外不需任何訓練。

兩個動作想像類別以 SPD 流形上的共變異數點呈現,各自被分到最近的 Fréchet 平均。切換歐氏與黎曼距離,觀察彎曲的決策邊界——以及黎曼版乾淨了多少。

因為 AIRM 是仿射不變的,MDM 便免費繼承了這份不變性:它不需要 CSP、不需要重新參考、不需要各場次的增益正規化。這正是為何裸的 MDM 作為基準如此難以超越,且對極小訓練集如此寬容——每個類別只要寥寥幾個試次,你就已能估出一個堪用的平均。

Fréchet(Karcher)平均

MDM 藏了一個真正微妙之處:一組共變異數矩陣的平均是什麼?不是算術平均(會膨脹、幾何錯誤)。正確的物件是 Fréchet 平均——它是使「到所有樣本之測地線距離平方和」最小的那個點。這是「最能代表這團點雲的位置」在流形上的版本。

\bar{C} = \arg\min_{C \succ 0} \; \sum_{i=1}^{N} \delta_R^2\big( C, \, C_i \big)

Fréchet/Karcher 平均把質心推廣到 SPD 流形。一般沒有封閉形式(除非 N=2 或矩陣彼此可交換)。

彎曲空間上的「平均」共變異數,是使到所有試次的平方黎曼距離總和最小的那一點——就像普通平均使平方距離最小,只是這裡尊重幾何。通常靠迭代求得。

C_i
被平均的各個試次共變異數。
\bar{C}
它們在流形上的 Fréchet/Karcher 平均。
\delta_R^2
被加總的平方黎曼距離。

Karcher 平均一般沒有封閉形式,除非只有兩個矩陣、或矩陣彼此可交換。

與平坦平均不同,這裡沒有封閉形式,但有一個簡單快速的定點迭代:反覆以目前估計白化、在(平坦的)切空間中平均樣本、再把結果映射回流形。它只需寥寥幾次迭代就收斂,因為 SPD 流形具非正曲率,保證了唯一的平均。

  1. 以共變異數的算術平均初始化平均值。
  2. 以目前平均把每個樣本白化並取矩陣對數——這些就是目前估計處的切向量。
  3. 平均這些切向量(既然它們已是平坦的,就是普通的歐氏平均)。
  4. 把平均後的切向量映射回流形(矩陣指數,再解白化)以更新平均值。
  5. 重複直到切空間步長的範數低於容忍值——通常只需幾輪。
def karcher_mean(Cs, tol=1e-9, max_iter=50):
    Cbar = mean(Cs, axis=0)              # arithmetic-mean init
    for _ in range(max_iter):
        E  = sqrtm(Cbar); Einv = inv(E)  # Cbar^{1/2}, Cbar^{-1/2}
        # average the tangent vectors at Cbar
        S = mean([logm(Einv @ Ci @ Einv) for Ci in Cs], axis=0)
        Cbar = E @ expm(S) @ E           # exp-map back to the manifold
        if norm(S) < tol:
            break
    return Cbar
Fréchet 平均的 Karcher-flow 定點迭代——正是 MDM 與重新置中的運算核心。

切空間技巧

MDM 穩健但僵硬——它只比較到各平均的距離。要把線性分類器的完整武器庫(LDA、邏輯斯迴歸、SVM)帶到共變異數特徵上,我們利用一個觀察:彎曲流形放大來看是平的。挑一個參考點——所有訓練資料的 Fréchet 平均——把每個共變異數投影到那裡的平坦切空間。投影後的點又變回普通的歐氏向量,於是任何分類器都能上場。

\mathbf{s}_i = \operatorname{vech}_{\!*}\!\Big( \log\!\big( \bar{C}^{-1/2} C_i \, \bar{C}^{-1/2} \big) \Big) \; \in \; \mathbb{R}^{\,n(n+1)/2}

在參考平均 C̄ 處的切空間投影:白化、取對數,再把上三角向量化(非對角元以 √2 加權以保持範數)。

把平均附近的彎曲流形攤平成一個普通的向量空間,如此就能接上 LDA 或 SVM 等標準分類器。以平均白化、取對數,再把矩陣展開成向量。

\bar{C}^{-1/2} C_i \, \bar{C}^{-1/2}
以參考平均白化每個試次。
\log(\cdot)
從彎曲流形映射到平坦的切空間。
\operatorname{vech}_{\!*}
把上三角向量化,非對角元以 \sqrt{2} 加權以保持範數。
\mathbf{s}_i
試次 i 由此得到的平坦特徵向量。

這個切空間投影讓你保有流形的好處,同時能用任何現成的分類器。

同一張流形圖,現在以切空間投影來讀:彎曲錐面上的共變異數被壓平到參考平均處的切平面,化為可供標準分類器使用的向量。

投影向量的維度是 n(n+1)/2——22 個通道就是 253 個特徵,對正則化邏輯斯迴歸或 收縮 LDA 而言是舒適的規模。這條「切空間+線性分類器」流程,常稱為切空間分類器,是黎曼 BCI 的準確度主力。線性化只在參考點附近準確,但這無妨:你的資料點雲就落在自身平均周圍,而第四篇的重新置中會讓每個場次都停靠在那裡。

MDM 還是切空間——如何選

一條務實的經驗法則。資料稀少、需要許多類別、可解釋性與穩健性比最後幾個百分點的準確度更重要、以及成本微不足道的線上使用場合,就用 MDM。當你有足夠試次來妥善擬合一個正則化線性模型、且追求最高準確度時,就用切空間分類器。介於兩者之間的是 Fisher 測地線 MDM(FgMDM),它插入一個測地線濾波/LDA 步驟以銳化類別分離,同時保留 MDM 的結構。