關於高斯過程(Gaussian process,下稱 GP)通常長這樣:
高斯分佈推廣到無限維,就是高斯過程。它由平均值函數和共變異數函數決定。核決定了函數的形狀。觀測資料後可以得到後驗。
每句話都對,但讀完之後其實什麼也沒學到——因為沒有一句話是可以驗證的。“推廣到無限維”具體是怎麼推的?“核決定形狀”能不能算出來?後驗憑什麼有閉式解?
這篇文章的目標是把這幾件事全部算到底。核心論點只有一個:
GP 裡幾乎所有東西,都是多元高斯的條件化公式的直接後果。
所以我們不急著定義 GP。先花足夠的篇幅把多元高斯的條件分佈推匯出來,之後你會發現剩下的部分幾乎不需要新想法。
1. 一切都從條件化開始
1.1 多元高斯與它的幾何
d 維隨機向量 x∼N(μ,Σ) 的密度為
p(x)=(2π)−d/2∣Σ∣−1/2exp(−21(x−μ)⊤Σ−1(x−μ))(1)
指數里的二次型 (x−μ)⊤Σ−1(x−μ)=c 是一個橢球。對 Σ=UΛU⊤ 做特徵分解,U 的列給出橢球主軸方向,λi 給出對應半軸長度。

三張圖的邊緣分佈完全相同,都是 N(0,1)。唯一的差別是相關係數。相關性越強,機率雲越被壓成一條細帶——也就是說,一旦知道 x1,x2 的可能取值範圍就被大幅收窄。
這句話就是 GP 全部預測能力的來源。請記住它。
1.2 邊緣化:把行和列摳出來
從 x∼N(μ,Σ) 中取子集 xA,其餘變數積掉,結果是
xA∼N(μA, ΣAA)(2)
不需要算任何積分,直接摳出對應的行列即可。
一個快速的證明:任何高斯向量的線性變換仍是高斯的(這是特徵函數的一行計算),而”取子集”就是乘一個只含 0/1 的選擇矩陣 S:xA=Sx,於是 xA∼N(Sμ,SΣS⊤),展開就是 (2)。
這條性質看著平淡,但第 2 節會看到,它是 GP 能夠存在的唯一理由。
1.3 條件化:完整推導
這是全文最重要的一步,所以我們不抄結論,而是推一遍。
把變數分成兩塊:
(x1x2)∼N((μ1μ2),(Σ11Σ21Σ12Σ22))
配方法(completing the square)當然可行,但代數很髒。有一個乾淨得多的技巧:先構造一個與 x2 無關的殘差。
令 A=Σ12Σ22−1,定義
z=x1−Ax2
計算它與 x2 的共變異數:
Cov(z,x2)=Σ12−AΣ22=Σ12−Σ12Σ22−1Σ22=0
A 這個係數就是特意為了讓共變異數歸零而選的。而 (z,x2) 是 (x1,x2) 的線性變換,所以它們聯合高斯;對聯合高斯而言,不相關 ⇒ 獨立。於是
z⊥⊥x2⟹p(z∣x2)=p(z)
z 的邊緣分佈直接算:
E[z]=μ1−Aμ2,Var(z)=Σ11−AΣ21−Σ12A⊤+AΣ22A⊤=Σ11−Σ12Σ22−1Σ21
最後,給定 x2 時 x1=z+Ax2,其中 Ax2 是常數,所以
x1∣x2∼N(μ1+Σ12Σ22−1(x2−μ2),Σ11−Σ12Σ22−1Σ21)(3)
推導結束。整個過程只用到”線性變換保高斯”和”聯合高斯下不相關即獨立”兩件事。
1.4 從公式裡讀出四件事
(a) 條件分佈仍是高斯。 高斯族對條件化封閉,所以後驗永遠有閉式解——不需要 MCMC,不需要變分近似。這在貝葉斯方法裡是極稀有的待遇。
(b) 平均值被”拉動”的幅度正比於 Σ12。 若 Σ12=0,後驗平均值就等於先驗平均值,觀測毫無用處。學習的本質就是”通過相關性傳遞資訊”。
(c) 後驗共變異數是 Schur 補,且變異數一定不增:
Σ11−Σ12Σ22−1Σ21 ⪯ Σ11
因為 Σ12Σ22−1Σ21=AΣ22A⊤⪰0。直觀解釋:Ax2 是 x1 在 x2 張成空間上的最優線性預測,而 Var(z) 就是預測不掉的那部分殘差變異數。
(d) 後驗共變異數不依賴觀測到的具體數值 x2。 它只依賴觀測點的位置。這有點反直覺,但從推導裡看得很清楚:Var(z) 的表示式里根本沒有 x2。
這條性質是貝葉斯最佳化和主動學習的地基:你還沒去測量,就已經知道測完之後不確定性會降到多少,因此可以提前挑選最值得測的點。
(一個誠實的補充:這隻在超參數固定時成立。若你要從資料裡學 ℓ,σf,觀測值就會通過超參數間接影響變異數。)
1.5 二維情形看一眼
取 Σ=(10.850.851),觀測 x1=1.6:

代入 (3):平均值 0→ρx1=1.36,變異數 1→1−ρ2=0.28。在聯合密度上豎著切一刀,截面歸一化後仍是鐘形。
2. “函數上的分佈”到底是什麼意思
現在做推廣。有兩條路,它們最後會合到同一個地方,但給出的直覺完全不同,兩條都值得走一遍。
2.1 路線一:把維數加密
我們習慣把二維高斯的樣本畫成平面上一個點 (x1,x2)。換個畫法:橫軸放下標,縱軸放取值,把 x1,x2 畫成兩個點然後連起來。
這個視角一換,維數就可以隨便加了。取 d 個位置 t1<⋯<td,把共變異數按”位置越近相關越強”來構造:Σij=exp(−(ti−tj)2/2ℓ2),然後從 N(0,Σ) 取樣並連線:

d=2 是一條線段,d=200 看起來就是光滑函數。但我們自始至終只做了一件事:從多元高斯里取樣。 所謂”函數上的分佈”,是把維數推到無窮、把折線畫密之後的觀感。
這條路直觀,但它沒解釋”無窮維極限存在嗎”,也沒解釋核是從哪來的。
2.2 路線二:權重空間——核是被推匯出來的
從熟悉的貝葉斯線性迴歸出發。取一組固定的基函數 ϕ(x)=(ϕ1(x),…,ϕm(x))⊤,模型是
f(x)=ϕ(x)⊤w,w∼N(0,Σp)
現在問:f 作為一個隨機函數,服從什麼分佈?
任取有限個位置 x1,…,xn,則 (f(x1),…,f(xn))⊤=Φw,其中 Φ 的第 i 行是 ϕ(xi)⊤。這是高斯向量的線性變換,所以一定是高斯的。於是
E[f(x)]=0,Cov(f(x),f(x′))=ϕ(x)⊤Σpϕ(x′)(4)
核不是憑空規定的,它是從基函數和權重先驗裡算出來的。
現在取一個具體的基:把寬度為 ℓ 的高斯凸包在實軸上均勻鋪開,中心為 c,
ϕc(x)=exp(−2ℓ2(x−c)2)
設中心間距為 Δ,權重先驗變異數取 s2Δ(這樣當 Δ→0 時求和收斂為積分)。代入 (4):
k(x,x′)=s2∫−∞∞exp(−2ℓ2(x−c)2)exp(−2ℓ2(x′−c)2)dc
配方。記 mˉ=2x+x′,用恆等式
(x−c)2+(x′−c)2=2(c−mˉ)2+21(x−x′)2
於是被積函數分離成 exp(−(c−mˉ)2/ℓ2)⋅exp(−(x−x′)2/4ℓ2),而 ∫exp(−(c−mˉ)2/ℓ2)dc=ℓπ,所以
k(x,x′)=s2ℓπexp(−4ℓ2(x−x′)2)(5)
這正是 squared exponential 核,lengthscale 為 2ℓ,變異數為 s2ℓπ。

中間那張圖是數值驗證:m=8 時隱含的核還是”坑坑窪窪”的(而且不平穩,因為基函數鋪得太稀),m=20 已經很接近,m=80 與解析極限 (5) 重合。
這條路徑回答了兩個關鍵問題:
- “非參數”到底是什麼意思。 不是”沒有參數”,而是參數有無窮多個,並且已經被積分積掉了。SE 核背後是無窮多個 RBF 基函數。
- 為什麼 GP 比有限基模型強。 右圖裡 m=4 的樣本很僵硬——它只能生成一個 4 維的函數族,在基函數覆蓋不到的地方直接塌成零。m→∞ 才有足夠的表達力。
反過來看 (4) 也有用:若 m<n,則 K=ΦΣpΦ⊤ 的秩最多是 m,一定奇異。核矩陣滿秩,等價於背後的特徵空間維數足夠高。
2.3 定義,以及為什麼它是合法的
現在給定義。隨機過程 {Xt}t∈T 稱為 Gaussian process,如果對任意有限多個索引 t1,…,tn∈T,隨機向量 (Xt1,…,Xtn) 都服從多元高斯分佈。
這個定義只談有限維分佈,從不試圖一次寫出無窮維物件。這既是技術上必需的(無限維空間上沒有 Lebesgue 測度,密度 (1) 根本寫不出來),也是實踐上夠用的——我們本來就只在有限個點上預測。
但這裡有個真問題:這一族互相重疊的有限維分佈,能不能拼成一個真正存在的隨機過程?
答案由 Kolmogorov 延拓定理給出:只要這族有限維分佈是相容的——即對任意超集邊緣化後,與直接在子集上定義的分佈吻合——就存在唯一的過程與之對應。
而 1.2 節告訴我們,高斯分佈的邊緣化就是摳行列,從更大的 K 裡摳出的子塊,恰好等於直接在子集上算出的 K。相容性自動成立。 這就是為什麼 GP 是”免費”的,而換成別的分佈族(比如把每個位置設為 t 分佈)通常拼不起來。
於是過程完全由兩個函數刻畫:
m(t)=E[Xt],k(s,t)=Cov(Xs,Xt),X(t)∼GP(m(t),k(s,t))(6)
對一般隨機過程,平均值和共變異數只是低階統計量,遠不足以刻畫全貌。對 GP 而言,它們完全決定所有有限維分佈,因而完全決定整個過程。
實踐中通常取 m≡0。這不是因為相信函數平均值為零,而是因為資料可以先中心化,且後驗平均值完全由核和資料生成(見 4.3 節)——先驗平均值一般不是瓶頸。
3. 核:那些可以被驗證的性質
核不是”選個 RBF 就完事”的設定項,它是你對函數的全部先驗假設。這一節講三件能真正算出來、驗證得了的事。
3.1 正定性是硬約束,不是技術細節
k 必須正定:對任意有限點集,Kij=k(ti,tj) 必須半正定。原因顯然——K 要當共變異數矩陣用,而任何線性組合的變異數 a⊤Ka 不能為負。
很多人以為”只要是個遞減的相似度函數就行”。反例很容易造。取 kp(s,t)=exp(−∣s−t∣p),在 [0,3] 上取 12 個等距點:
| p | K 的最小特徵值 |
|---|
| 1 | +0.1378 |
| 2 | +0.0000 |
| 3 | −0.2534 |
| 4 | −0.4876 |
exp(−∣r∣p) 只在 0<p≤2 時是合法核。p=3 時最小特徵值已經是 −0.25——這意味著存在一個方向,“變異數”是負的。用它會發生什麼?Cholesky 分解直接失敗,預測變異數可能算出負數,整個模型沒有機率意義。
p=2 恰好卡在邊界上(最小特徵值是 10−17 量級的數值零),這也是 SE 核在數值上格外容易病態的原因,後面 4.6 節會再提。
3.2 光滑度不是形容詞,是一個冪次
“SE 核很光滑、Matérn 1/2 很粗糙”——這話能不能量化?能,而且只要一行計算。
對零平均值平穩 GP,
Ef(t+h)−f(t)2=2[k(0)−k(h)](7)
(展開 E[f(t+h)2]−2E[f(t+h)f(t)]+E[f(t)2] 即得。)
所以樣本的粗糙度完全由核在原點附近的行為決定。把各個核在 h→0 時展開:
- SE:k(h)=1−2ℓ2h2+O(h4),故 (7) ∼h2
- Matérn 3/2:k(h)=1−2ℓ23h2+O(∣h∣3),故 (7) ∼h2
- Matérn 1/2:k(h)=1−ℓ∣h∣+O(h2),故 (7) ∼∣h∣
- 布朗運動:E∣Bt+h−Bt∣2=h
指數為 2 意味著均方意義下可微一次;指數為 1 意味著處處不可微。但 SE 和 Matérn 3/2 在一階差分上無法區分——它們的差別要看二階差分 E∣f(t+h)−2f(t)+f(t−h)∣2=6k(0)−8k(h)+2k(2h)。

數值驗證與理論完全吻合:
| 核 | 一階差分斜率 | 二階差分斜率 | 均方可微次數 |
|---|
| SE | 2 | 4 | ∞ |
| Matérn 3/2 | 2 | 3 | 1 |
| Matérn 1/2 | 1 | 1 | 0 |
| Brownian | 1 | 1 | 0 |
一般規律:Matérn-ν 的樣本均方可微 ⌈ν⌉−1 次,ν→∞ 時退化為 SE。
這直接影響建模決策。 SE 假設函數無窮次可微——這是極強的假設,現實資料幾乎沒有這麼聽話。Matérn 3/2 或 5/2 通常是更誠實的預設選擇,Rasmussen 與 Williams 在書裡也是這麼建議的。
3.3 lengthscale:多遠算近

ℓ 定義相關性的衰減尺度。ℓ 小則只有極近的點相關,曲線擺動快;ℓ 大則遠處也相關,曲線平緩。σf2 單獨控制縱向振幅。
一個有用的經驗:SE 核的樣本在長度 L 的區間上大約有 L/(2πℓ) 個”零點級別”的起伏。所以 ℓ 應當和你認為的函數變化尺度同量級。
3.4 常見核與它們的樣子
| 名稱 | 表示式(r=∣s−t∣) | 特點 |
|---|---|---|
| Squared Exponential | σf2exp(−r2/2ℓ2) | 無窮次可微,最光滑 |
| Matérn 3/2 | σf2(1+ℓ3r)e−3r/ℓ | 一次可微 |
| Matérn 1/2 (OU) | σf2e−r/ℓ | 連續但處處不可微,馬爾可夫 |
| Periodic | σf2exp(−2sin2(πr/p)/ℓ2) | 嚴格週期 p |
| Brownian | min(s,t) | 非平穩,變異數隨 t 增長 |

上排是共變異數矩陣熱圖,下排是對應先驗樣本。對應關係很直白:亮帶越寬 ⇒ 遠處仍相關 ⇒ 曲線越光滑。Periodic 出現平行條紋是因為相隔一個週期的點強相關。Brownian 的熱圖不是帶狀而是”角狀”——min(s,t) 只依賴較小的那個座標,這是非平穩性的直接視覺化。
3.5 核可以搭積木
正定性在加法和乘法下保持(和是顯然的;積用 Schur 乘積定理),所以:
- k1+k2:結構疊加
- k1×k2:結構同時滿足
- k(g(x),g(x′)):先對輸入做變換

四張圖用的是同一組隨機數,只換了共變異數矩陣。趨勢項、季節項、短期波動各自取樣,相加後得到最後那條既有趨勢又有周期還有毛刺的曲線。
注意 kper×kSE 的效果:週期性不再是永遠精確重複,而是會緩慢漂移。這在建模真實季節資料時比純 periodic 有用得多。經典例子是 Mauna Loa 的 CO₂ 序列,用「長期 SE + 年週期 × SE + 中期 Rational Quadratic + 噪聲」的和式能把各個成分分解得很乾淨。
4. GP 迴歸
4.1 推導
設訓練輸入 X={xi}i=1n,觀測帶獨立高斯噪聲:
yi=f(xi)+εi,εi∼N(0,σn2)
先驗 f∼GP(0,k)。要預測測試點 X∗ 上的 f∗。
關鍵一步:把訓練輸出和測試函數值寫成一個聯合高斯。 由於 y=f+ε 且噪聲獨立,
(yf∗)∼N(0,(K+σn2IK∗⊤K∗K∗∗))
其中 K=K(X,X),K∗=K(X,X∗),K∗∗=K(X∗,X∗)。
第二步:這就是 (3) 的形式,直接代。
fˉ∗cov(f∗)=K∗⊤(K+σn2I)−1y=K∗∗−K∗⊤(K+σn2I)−1K∗(8)
沒有別的了。 所謂”訓練”就是解一個 n×n 線性方程組:沒有梯度下降,沒有迭代,沒有局部極小。
4.2 一個能手算的例子
具體化:k(x,x′)=exp(−2(x−x′)2),σn2=0.1,兩個觀測點
x1=−1, y1=0.5,x2=1, y2=−0.3
預測 x∗=0。
第一步,寫出各個矩陣。 k(−1,1)=e−2=0.1353,所以
K+σn2I=(1.10.13530.13531.1),k∗=(e−0.5e−0.5)=(0.60650.6065)
第二步,解 α=(K+σn2I)−1y。 行列式為 1.21−0.0183=1.1917,得
α=(0.4956−0.3337)
第三步,代入 (8)。
fˉ∗=k∗⊤α=0.6065×(0.4956−0.3337)=0.0982
Var(f∗)=1−k∗⊤(K+σn2I)−1k∗=1−0.5956=0.4044(標準差0.636)
值得停下來看幾眼:
- 後驗平均值 0.098 落在 0.5 和 −0.3 之間,但並不是簡單平均 0.1。因為兩個觀測點各距 x∗ 有 1 個 lengthscale,且彼此還有微弱的正相關,權重被重新分配了。
- 後驗變異數 0.404 比先驗變異數 1 小,但遠沒有降到 0——兩個點都不在 x∗ 上,e−0.5=0.61 的相關性只夠消掉六成變異數。
- 注意 0.4044 的計算裡完全沒用到 y,印證了 1.4(d)。
4.3 讀法一:後驗平均值是核函數的加權和
把 (8) 展開成分量形式:
fˉ(x∗)=i=1∑nαik(x∗,xi),α=(K+σn2I)−1y(9)
後驗平均值永遠是以資料點為中心的核函數的線性組合。 無論先驗多複雜,最後落到的函數空間只有 n 維(representer 定理的高斯版本)。

虛線是各個 αik(x,xi),實線是它們的和。這也解釋了 2.3 節末尾那句話:先驗平均值 m≡0 並不會限制表達力,因為後驗平均值是由核和資料現場生成的。
順帶一提,(9) 和核嶺迴歸的解完全一致,令 λ=σn2 即可。所以:GP 迴歸 = 核嶺迴歸 + 一個免費的誤差棒。區別在於 GP 給出的 σn2 有機率解釋,而且可以通過邊際似然自動定。
4.4 讀法二:它是一個線性平滑器
換個括號位置:
fˉ(x∗)=w(x∗)⊤k∗⊤(K+σn2I)−1y=i∑wi(x∗)yi
預測是觀測值的加權平均,且權重 w(x∗) 只依賴輸入位置。這把 GP 放進了和核迴歸、樣條、局部多項式同一個家族(linear smoother)。
有意思的是這些權重可以是負的,而且不侷限於近鄰——這正是 GP 能自動做外推和去噪的原因,也是它可能”過度自信”的原因。有效自由度可以定義為 tr(K(K+σn2I)−1),介於 0 和 n 之間,隨 σn2 增大而減小。
4.5 效果

從左到右觀測點遞增:
- 0 個:後驗就是先驗,平均值恆零,不確定性在區間上均勻展開
- 1 個:曲線被”釘”在觀測點附近,變異數驟降,遠處迅速回到先驗寬度
- 3 個:點之間被合理插值,但仍有明顯的”腰”
- 8 個:後驗帶收緊貼合真值,而外推區域(兩端)不確定性重新張開
最後這一點是 GP 最值得稱道的地方:它會誠實地承認自己在資料之外不知道。絕大多數點估計模型做不到。
注意噪聲項讓後驗平均值不必嚴格穿過每個觀測點。σn2→0 時退化為嚴格插值,σn2 大則強烈平滑。
4.6 實現時真正會踩的坑
永遠不要顯式求逆。 標準做法是 Cholesky 分解 A=K+σn2I=LL⊤:
L = cholesky(K + σn² I) # n³/6 次运算,比求逆快一倍
α = L⁻ᵀ (L⁻¹ y) # 两次三角回代
mean = k*ᵀ α
v = L⁻¹ k*
var = k** − vᵀv # 保证非负
log|A| = 2 Σ log Lᵢᵢ # 边际似然要用,且数值稳定
求逆不僅慢一倍,還會放大誤差;而 k** - vᵀv 的形式天然保證變異數非負。
病態是常態。 SE 核的譜衰減極快,K 的條件數隨 ℓ 迅速爆炸。同樣 12 個點:
| ℓ | cond(K) |
|---|
| 0.5 | 2.0×105 |
| 1 | 3.9×1011 |
| 2 | 5.2×1017 |
| 4 | 6.7×1017 |
雙精度只有約 1016 的動態範圍,所以 ℓ=2 時 K 在數值上已經是奇異的。標準補救是加 jitter:K+ϵI,ϵ∼10−6σf2。在有噪聲的迴歸裡 σn2 本身就充當了 jitter,這也是無噪聲 GP 插值反而更難做的原因。
5. 超參數:邊際似然與 Occam’s razor
ℓ,σf,σn 不是細枝末節:

同樣的資料、同樣的公式 (8),超參數不同結果天差地別。
5.1 邊際似然
標準做法是最大化邊際似然(也叫 evidence)——注意它是把 f 積掉之後關於超參數的似然:
logp(y∣X,θ)=資料擬合−21y⊤A−1y複雜度懲罰−21log∣A∣−2nlog2π,A=Kθ+σn2I(10)
常見的說法是”兩項自動權衡,實現 Occam’s razor”。這話對,但值得真看一眼:

複雜度項 −21log∣A∣ 單調上升:ℓ 越大模型越僵硬,∣A∣ 越小,懲罰越輕。擬合項則在 ℓ 超過約 1 之後急劇崩塌,因為模型已經僵硬到解釋不了資料的起伏。兩者相加在 ℓ≈1.40 處取到極大。
圖裡還有一個細節值得注意,它和教科書的理想化敘述略有出入:擬合項在 ℓ 很小時並沒有趨近 0,而是平在約 −13。 原因是有噪聲。當 ℓ→0 時 K→σf2I,於是
−21y⊤A−1y→−2(σf2+σn2)∥y∥2
一個與 ℓ 無關的常數。也就是說,短 lengthscale 的模型並不是”完美擬合”,而是把所有結構都當成了噪聲——它的似然不高,只是不再隨 ℓ 變化。真正阻止 ℓ 變小的是複雜度項。
5.2 需要留心的地方
(10) 一般非凸,會有多個局部極優(典型情形是”長 ℓ + 小噪聲”和”短 ℓ + 大噪聲”兩個解並存,對應把同一批起伏解釋成訊號還是噪聲)。實踐中通常多次隨機重啟後取最優。
資料量小時邊際似然本身變異數也大,此時它不比交叉驗證更可靠。它的優勢在於不用劃驗證集、而且對超參數可導,因此可以直接用 L-BFGS 最佳化。
6. 布朗運動與布朗橋:條件化公式的一次實戰
布朗運動 {Bt}t≥0 滿足 E[Bt]=0 且任意有限維分佈聯合高斯,所以它是一個 GP。共變異數可以兩行推出來:設 s<t,由獨立增量,
Cov(Bs,Bt)=Cov(Bs, Bs+(Bt−Bs))=Var(Bs)+0=s=min(s,t)
現在做一件更有意思的事:把終點固定住,即在 B1=0 的條件下看整個過程。這就是布朗橋,而我們不需要任何新工具,直接用 (3)。
取 x1=(Bs,Bt),x2=B1。則 Σ12=(Cov(Bs,B1),Cov(Bt,B1))⊤=(s,t)⊤,Σ22=1。代入:
E[Bs∣B1=0]=0+s⋅1−1⋅(0−0)=0
Cov(Bs,Bt∣B1=0)=min(s,t)−s⋅1−1⋅t=min(s,t)−st
於是布朗橋是 GP(0, min(s,t)−st),其變異數 t−t2=t(1−t) 在 t=1/2 處最大,等於 1/4。

右圖的樣本正好在中點最寬、兩端收縮到零,與 t(1−t) 吻合。
兩個引申:
- GP 不是機器學習發明的。 它是經典隨機過程論的基礎物件;布朗運動、Ornstein–Uhlenbeck 過程、布朗橋都是 GP,而且它們之間的關係(條件化、時間變換)在 GP 語言下都變成了矩陣操作。
- 不是所有 GP 都平穩。 min(s,t) 寫不成 ∣s−t∣ 的函數,變異數 Var(Bt)=t 隨時間增長。ML 裡常用的核大多平穩,但這只是習慣,不是定義。
7. 平穩性與譜
若 k(s,t)=k(s−t),則該 GP 寬平穩;若只依賴 ∣s−t∣,進一步各向同性。
對高斯過程,寬平穩自動蘊含嚴平穩——因為分佈完全由一、二階矩決定,二階矩平移不變就等於分佈平移不變。這個等價在一般過程裡並不成立,是 GP 的又一項特權。
更深一層是 Bochner 定理:連續函數 k 是平穩正定核,當且僅當它是某個有限正測度的 Fourier 變換,
k(τ)=∫eiωτdS(ω)
S 就是過程的譜密度。於是”選核”等價於”選功率譜”,而 3.2 節的光滑度結論在譜域裡有更漂亮的說法:
- SE 的譜是高斯型,高頻衰減快於任何多項式 ⇒ 各階矩都有限 ⇒ 無窮次均方可微
- Matérn-ν 的譜按 (1+ω2)−(ν+1/2) 衰減,只有前 ⌈ν⌉−1 階矩有限 ⇒ 可微次數受限
- 想建模某個特定頻率,直接在譜上放一個峰即可——這就是 Spectral Mixture 核的思路,理論上可以逼近任意平穩核
Bochner 定理還給了 3.1 節那個反例一個解釋:exp(−∣r∣p) 在 p>2 時的 Fourier 變換會取到負值,不是正測度,因此不是合法核。
8. 代價與失敗模式
誠實地說清楚 GP 什麼時候不該用:
計算。 (K+σn2I)−1 需要 O(n3) 時間、O(n2) 儲存。n 到幾萬就吃力。緩解手段包括 inducing points 稀疏近似(FITC / SVGP)、結構化核的 Kronecker 分解、隨機特徵(RFF)、KISS-GP 插值。每一種都在拿精度換速度。
維數。 SE 這類各向同性核在高維輸入下退化得很快:高維空間裡點對距離高度集中,k(x,x′) 對所有點對趨於同一個值,核矩陣接近常數矩陣,模型學不到東西。ARD(每維一個 lengthscale)能緩解但不能根治。輸入維度上到幾十就要認真考慮降維或改用結構化先驗。
模型誤設。 後驗變異數衡量的是模型自認為的不確定性,不是真實預測誤差。核選錯時,GP 完全可能給出又窄又離譜的置信帶。資料越多,錯誤的後驗只會越自信。
噪聲假設。 (8) 依賴於噪聲是獨立同分布高斯。異變異數、重尾、相關噪聲都會破壞閉式解,需要額外建模(比如把 σn2 也建成一個 GP)或改用近似推斷。
9. 小結
回到開頭那個論點,現在它應該更具體了:
- 多元高斯對邊緣化封閉 ⇒ 有限維分佈天然相容 ⇒ 由 Kolmogorov 定理,無窮維極限確實存在。這是 GP 合法性的全部來源。
- 多元高斯對條件化封閉,且條件分佈由公式 (3) 給出。這是 GP 預測能力的全部來源。
- 核不是規定的,是推匯出來的:任何基函數展開 f=ϕ⊤w 都誘導一個核 ϕ⊤Σpϕ;無窮多個 RBF 基的極限恰好是 SE 核。所謂非參數,是”參數無窮多且已被積掉”。
- 核的性質可以驗證:正定效能用特徵值查,光滑度是 2[k(0)−k(h)] 的冪次,兩者都不是形容詞。
- GP 迴歸就是把 (3) 套在大矩陣上,順帶白送一個不確定性估計;它同時是核嶺迴歸,也是一個線性平滑器。
- 邊際似然的兩項確實在對拉,但拉的方式和教科書插圖不完全一樣,值得自己畫一次。
GP 的價值不在複雜,恰恰在於它把隨機過程的聯合結構推到了一個極乾淨的形式:一個平均值函數加一個共變異數函數,就完整描述了整個過程,而所有推斷都退化成線性代數。
幾個常被搞錯的點
- “非參數所以沒有假設”:恰恰相反,核是極強的假設,只是它作用在函數空間而非參數空間。
- “後驗變異數就是預測誤差”:它是模型自認為的不確定性;模型錯了它也會錯,而且是自信地錯。
- “GP 一定平穩、一定光滑”:取決於核。min(s,t) 不平穩,Matérn 1/2 處處不可微。
- ”m(t)=0 是很強的限制”:不是。由 (9),後驗平均值是核函數的加權和,先驗平均值為零基本不影響表達力。
- “資料越多越好”:O(n3) 先到;而且模型設定錯誤時,更多資料只會讓錯誤的後驗更窄。
延伸閱讀
- Rasmussen & Williams, Gaussian Processes for Machine Learning —— 領域標準教材,可免費獲取,第 2、4、5 章基本覆蓋本文全部內容
- David Duvenaud, The Kernel Cookbook —— 核的選擇與組合,本文 3.5 節的完整版
- Distill, A Visual Exploration of Gaussian Processes —— 互動式視覺化,適合配合第 1、2 節看