高斯過程
- 1. 高斯過程的定義
- 2. 協方差矩陣的構建
- 3. 協方差矩陣的性質
- 3.1. 計算挑戰
- 3.2. 解決方法
1. 高斯過程的定義
高斯過程可以看作是對函數的分布,它假定任何有限數量的函數值的集合服從一個多元高斯分布。給定輸入數據點集合 { x 1 , x 2 , … , x n } \left\{x_1, x_2, \ldots, x_n\right\} {x1?,x2?,…,xn?} ,其對應的函數值 { f ( x 1 ) , f ( x 2 ) , … , f ( x n ) } \left\{f\left(x_1\right), f\left(x_2\right), \ldots, f\left(x_n\right)\right\} {f(x1?),f(x2?),…,f(xn?)} 服從一個多元高斯分布:
f = [ f ( x 1 ) , f ( x 2 ) , … , f ( x n ) ] T ~ N ( m , K ) \mathbf{f}=\left[f\left(x_1\right), f\left(x_2\right), \ldots, f\left(x_n\right)\right]^T \sim \mathcal{N}(\mathbf{m}, \mathbf{K}) f=[f(x1?),f(x2?),…,f(xn?)]T~N(m,K)
其中, m \mathbf{m} m 是均值向量, K \mathbf{K} K 是協方差矩陣。
2. 協方差矩陣的構建
協方差矩陣 K \mathbf{K} K 的元素由協方差函數 k ( x i , x j ) k\left(x_i, x_j\right) k(xi?,xj?) 確定,即
K i j = k ( x i , x j ) \mathbf{K}_{i j}=k\left(x_i, x_j\right) Kij?=k(xi?,xj?)
協方差函數 k ( x i , x j ) k\left(x_i, x_j\right) k(xi?,xj?) 描述了輸入數據點 x i x_i xi? 和 x j x_j xj? 之間的相似性。常用的協方差函數包括:
-
徑向基函數(RBF核),又稱高斯核:
k ( x i , x j ) = σ f 2 exp ? ( ? ∥ x i ? x j ∥ 2 2 ? 2 ) k\left(x_i, x_j\right)=\sigma_f^2 \exp \left(-\frac{\left\|x_i-x_j\right\|^2}{2 \ell^2}\right) k(xi?,xj?)=σf2?exp(?2?2∥xi??xj?∥2?)其中, σ f 2 \sigma_f^2 σf2? 是信號方差, ? \ell ? 是長度尺度。 -
線性核:
k ( x i , x j ) = σ b 2 + σ f 2 ( x i T x j ) k\left(x_i, x_j\right)=\sigma_b^2+\sigma_f^2\left(x_i^T x_j\right) k(xi?,xj?)=σb2?+σf2?(xiT?xj?)其中, σ b 2 \sigma_b^2 σb2? 是偏置項, σ f 2 \sigma_f^2 σf2? 是信號方差。 -
馬氏距離核:
k ( x i , x j ) = σ f 2 exp ? ( ? ( x i ? x j ) T A ( x i ? x j ) 2 ) k\left(x_i, x_j\right)=\sigma_f^2 \exp \left(-\frac{\left(x_i-x_j\right)^T \mathbf{A}\left(x_i-x_j\right)}{2}\right) k(xi?,xj?)=σf2?exp(?2(xi??xj?)TA(xi??xj?)?)其中, A \mathbf{A} A 是對稱正定矩陣。
3. 協方差矩陣的性質
- 正定性: 協方差矩陣 K \mathbf{K} K 必須是正定的,這是因為正定矩陣確保了協方差矩陣是可逆的,并且使得該高斯分布的概率密度函數(PDF)是有效的。正定性要求對任意非零向量 z \mathbf{z} z ,有 z T K z > 0 \mathbf{z}^T \mathbf{K} \mathbf{z}>0 zTKz>0 。
- 對稱性: 協方差矩陣 K \mathbf{K} K 是對稱的,即 K i j = K j i \mathbf{K}_{i j}=\mathbf{K}_{j i} Kij?=Kji? 。
3.1. 計算挑戰
計算高斯過程的協方差矩陣的逆和行列式通常是高斯過程建模中的主要計算瓶頸。對于 n n n 個數據點,協方差矩陣是一個 n × n n \times n n×n 的矩陣,計算其逆和行列式的復雜度是 O ( n 3 ) O\left(n^3\right) O(n3) 。這使得高斯過程難以擴展到大規模數據集(通常稱為“大 n \mathrm{n} n 問題”)。
3.2. 解決方法
- 稀疏高斯過程: 通過選擇一部分誘導點來近似協方差矩陣,從而降低計算復雜度。常見的方法包括稀疏偽輸入高斯過程 (Sparse Pseudo-input Gaussian Process, SPGP)。
- 低秩近似: 使用低秩矩陣來近似協方差矩陣,從而加速計算。例如,Nystr?m方法是一種常用的低秩近似方法。
- 分布式計算: 將數據和計算任務分布到多個計算節點上,以提高計算效率。
- 變分推斷: 通過變分推斷方法,將原問題轉化為更易處理的優化問題,從而降低計算成本。