動機
一項特徵可以有很大變異,卻無助區分類別。假設兩類數據的水平中心不同,但兩類都在垂直方向廣泛分散。PCA 可能保留垂直方向,因為它解釋了大部分總體變異;若目的是區分類別,我們更應比較類別中心的距離與各類內部的變異。
Fisher 判別分析把這個比較寫成明確的目標。它利用類別標籤區分兩種變異,再尋找一個線性分數,令類間變異相對於類內變異盡量大。分數仍是原有特徵的線性組合;與 PCA 不同的是選取組合的準則。
相應的幾何亦會改變。PCA 以歐幾里得長度規範方向,Fisher 方向則自然地以類內變異規範。將類內變異白化後,問題會化成普通的對稱特徵值問題,同時解釋最大比值與多個方向之間的正交條件。
定義
設 x 1 , … , x n ∈ R d x_1,\ldots,x_n\in\mathbb R^d x 1 , … , x n ∈ R d 是帶有已知標籤的列向量。索引集合 I 1 , … , I K I_1,\ldots,I_K I 1 , … , I K 把觀測分為 K ≥ 2 K\ge2 K ≥ 2 個非空類別,記 n c = ∣ I c ∣ n_c=|I_c| n c = ∣ I c ∣ 、p c = n c / n p_c=n_c/n p c = n c / n 。數據矩陣 X ∈ R n × d X\in\mathbb R^{n\times d} X ∈ R n × d 的第 i i i 行為 x i ⊤ x_i^\top x i ⊤ 。
定義
類別平均與經驗類別協方差 類別平均、總體平均及類別協方差矩陣分別為
μ c = 1 n c ∑ i ∈ I c x i , μ = 1 n ∑ i = 1 n x i = ∑ c = 1 K p c μ c , \mu_c=\frac1{n_c}\sum_{i\in I_c}x_i,\qquad
\mu=\frac1n\sum_{i=1}^n x_i=\sum_{c=1}^Kp_c\mu_c, μ c = n c 1 i ∈ I c ∑ x i , μ = n 1 i = 1 ∑ n x i = c = 1 ∑ K p c μ c , Σ c = 1 n c ∑ i ∈ I c ( x i − μ c ) ( x i − μ c ) ⊤ . \Sigma_c=\frac1{n_c}\sum_{i\in I_c}
(x_i-\mu_c)(x_i-\mu_c)^\top. Σ c = n c 1 i ∈ I c ∑ ( x i − μ c ) ( x i − μ c ) ⊤ .
本節一律使用經驗分母,而不作自由度修正。每筆觀測有相同權重時,類別大小便是加權的一部分:觀測數目多一倍的類別,對總和的貢獻亦多一倍。只有一筆觀測的類別,其經驗協方差是零,因為該觀測正好等於本類平均。
定義
類內、類間與總體變異 定義
Σ W = ∑ c = 1 K p c Σ c = 1 n ∑ c = 1 K ∑ i ∈ I c ( x i − μ c ) ( x i − μ c ) ⊤ , Σ B = ∑ c = 1 K p c ( μ c − μ ) ( μ c − μ ) ⊤ , Σ T = 1 n ∑ i = 1 n ( x i − μ ) ( x i − μ ) ⊤ . \begin{aligned}
\Sigma_W
&=\sum_{c=1}^Kp_c\Sigma_c
=\frac1n\sum_{c=1}^K\sum_{i\in I_c}
(x_i-\mu_c)(x_i-\mu_c)^\top,\\
\Sigma_B
&=\sum_{c=1}^Kp_c(\mu_c-\mu)(\mu_c-\mu)^\top,\\
\Sigma_T
&=\frac1n\sum_{i=1}^n(x_i-\mu)(x_i-\mu)^\top.
\end{aligned} Σ W Σ B Σ T = c = 1 ∑ K p c Σ c = n 1 c = 1 ∑ K i ∈ I c ∑ ( x i − μ c ) ( x i − μ c ) ⊤ , = c = 1 ∑ K p c ( μ c − μ ) ( μ c − μ ) ⊤ , = n 1 i = 1 ∑ n ( x i − μ ) ( x i − μ ) ⊤ . 相應的未歸一化散布矩陣為 S W = n Σ W S_W=n\Sigma_W S W = n Σ W 及 S B = n Σ B S_B=n\Sigma_B S B = n Σ B 。
方向 u ∈ R d u\in\mathbb R^d u ∈ R d 給觀測 i i i 的中心化分數是 u ⊤ ( x i − μ ) u^\top(x_i-\mu) u ⊤ ( x i − μ ) ,其類別平均為 u ⊤ ( μ c − μ ) u^\top(\mu_c-\mu) u ⊤ ( μ c − μ ) 。因此,u ⊤ Σ W u u^\top\Sigma_Wu u ⊤ Σ W u 量度各類內部分數方差的平均,u ⊤ Σ B u u^\top\Sigma_Bu u ⊤ Σ B u 則量度類別分數平均的加權方差。兩個散布矩陣同乘一個常數,不會改變它們的比值。
與 PCA 比較時,若總體樣本協方差採用分母 n − 1 n-1 n − 1 ,得到的矩陣只是 Σ T \Sigma_T Σ T 的 n / ( n − 1 ) n/(n-1) n / ( n − 1 ) 倍,特徵向量不變。以下的分解則在三個矩陣中一致使用分母 n n n 。
定理/命題
定理
變異分解與類別平均的維度限制 Σ W \Sigma_W Σ W 及 Σ B \Sigma_B Σ B 均為半正定矩陣,而且
Σ T = Σ W + Σ B , rank ( Σ B ) ≤ min ( d , K − 1 ) . \Sigma_T=\Sigma_W+\Sigma_B,\qquad
\operatorname{rank}(\Sigma_B)\le\min(d,K-1). Σ T = Σ W + Σ B , rank ( Σ B ) ≤ min ( d , K − 1 ) . 因此,類間變異至多包含 K − 1 K-1 K − 1 個獨立方向。若類別平均落在更小的仿射子空間,獨立方向數目還會更少。
現在假設 Σ W \Sigma_W Σ W 正定,即每個非零特徵方向都有正的合併類內方差。Fisher 比值為
J ( u ) = u ⊤ Σ B u u ⊤ Σ W u , u ≠ 0. J(u)=\frac{u^\top\Sigma_Bu}{u^\top\Sigma_Wu},
\qquad u\ne0. J ( u ) = u ⊤ Σ W u u ⊤ Σ B u , u = 0.
把 u u u 乘以任意非零常數,比值都不變。因此可限制 u ⊤ Σ W u = 1 u^\top\Sigma_Wu=1 u ⊤ Σ W u = 1 ,再最大化分子。這個規範為分數選定尺度,而不改變方向。
定理
以白化求最優 Fisher 方向 對正定的 Σ W \Sigma_W Σ W ,定義對稱矩陣
C = Σ W − 1 / 2 Σ B Σ W − 1 / 2 . C=\Sigma_W^{-1/2}\Sigma_B\Sigma_W^{-1/2}. C = Σ W − 1/2 Σ B Σ W − 1/2 . 設 v j v_j v j 是 C C C 的正交規一特徵向量,特徵值依次為
λ 1 ≥ ⋯ ≥ λ d ≥ 0 \lambda_1\ge\cdots\ge\lambda_d\ge0 λ 1 ≥ ⋯ ≥ λ d ≥ 0 ,並令
u j = Σ W − 1 / 2 v j . u_j=\Sigma_W^{-1/2}v_j. u j = Σ W − 1/2 v j . 則
Σ B u j = λ j Σ W u j , u i ⊤ Σ W u j = δ i j . \Sigma_Bu_j=\lambda_j\Sigma_Wu_j,\qquad
u_i^\top\Sigma_Wu_j=\delta_{ij}. Σ B u j = λ j Σ W u j , u i ⊤ Σ W u j = δ ij . J J J 的最大值是 λ 1 \lambda_1 λ 1 。其後的方向在與先前方向保持 Σ W \Sigma_W Σ W -正交的限制下,依次最大化比值。正判別特徵值的數目為
rank ( Σ B ) ≤ min ( d , K − 1 ) \operatorname{rank}(\Sigma_B)\le\min(d,K-1) rank ( Σ B ) ≤ min ( d , K − 1 ) 。
選取 r r r 個方向,令 U = [ u 1 ⋯ u r ] U=[u_1\ \cdots\ u_r] U = [ u 1 ⋯ u r ] 。單筆數據的低維表示為 U ⊤ ( x − μ ) U^\top(x-\mu) U ⊤ ( x − μ ) ,整張數據表則為 ( X − 1 μ ⊤ ) U (X-\mathbf1\mu^\top)U ( X − 1 μ ⊤ ) U 。這些是分數座標;U U ⊤ UU^\top U U ⊤ 一般不是歐幾里得正交投影矩陣,因為 U U U 的列向量是在 Σ W \Sigma_W Σ W 幾何中規範的。
這個規範在分數空間中有直接意義:
U ⊤ Σ W U = I r , U ⊤ Σ B U = diag ( λ 1 , … , λ r ) , U ⊤ Σ T U = I r + diag ( λ 1 , … , λ r ) . U^\top\Sigma_WU=I_r,\qquad
U^\top\Sigma_BU=\operatorname{diag}(\lambda_1,\ldots,\lambda_r),
\qquad
U^\top\Sigma_TU=I_r+\operatorname{diag}(\lambda_1,\ldots,\lambda_r). U ⊤ Σ W U = I r , U ⊤ Σ B U = diag ( λ 1 , … , λ r ) , U ⊤ Σ T U = I r + diag ( λ 1 , … , λ r ) .
每個選定分數都有單位合併類內方差,其特徵值則量度相對於這個共同基準的類間方差。不同分數在分解的兩部分之中,交叉協方差均為零。所以規範不只是簡化公式;它令不同判別分數具有可比較的單位。較大特徵值表示較大的標準化類間對比,而不是較長的係數向量。
方向的正負號仍可自由選取。反號會同時反轉分數及類別分數平均,卻保留所有方差與比值。重複特徵值亦容許在相應的白化特徵空間內轉換正交基底。因此,等價的計算可以產生不同的個別係數向量;比較時應看規範後的幾何、特徵值,以及基底不唯一時所選取的子空間。
證明思路
對類別 c c c 中的觀測,先分解位移:
x i − μ = ( x i − μ c ) + ( μ c − μ ) . x_i-\mu=(x_i-\mu_c)+(\mu_c-\mu). x i − μ = ( x i − μ c ) + ( μ c − μ ) .
展開外積並在類內求和。由 ∑ i ∈ I c ( x i − μ c ) = 0 \sum_{i\in I_c}(x_i-\mu_c)=0 ∑ i ∈ I c ( x i − μ c ) = 0 ,兩項交叉項均消失。其餘項再對全部類別求和,便得到 Σ T = Σ W + Σ B \Sigma_T=\Sigma_W+\Sigma_B Σ T = Σ W + Σ B 。每個二次型都是平方項的加權總和,亦證明了半正定性。
Σ B \Sigma_B Σ B 的每一列都在中心化類別平均的張成空間內。這 K K K 個向量滿足
∑ c = 1 K p c ( μ c − μ ) = 0. \sum_{c=1}^Kp_c(\mu_c-\mu)=0. c = 1 ∑ K p c ( μ c − μ ) = 0.
由於每個 p c p_c p c 都是正數,它們張成的空間維度至多為 K − 1 K-1 K − 1 。這個維度還可能更小:增加類別數目,未必會為類別平均增加新的獨立方向。
在最佳化問題中,作變數替換 z = Σ W 1 / 2 u z=\Sigma_W^{1/2}u z = Σ W 1/2 u ,則
J ( u ) = z ⊤ C z z ⊤ z . J(u)=\frac{z^\top Cz}{z^\top z}. J ( u ) = z ⊤ z z ⊤ C z .
普通 Rayleigh 商在 C C C 的最大特徵值所對應的特徵向量取得最大值。把該向量轉回原座標,便得到 u 1 u_1 u 1 。v j v_j v j 之間的正交性變成 u i ⊤ Σ W u j = v i ⊤ v j u_i^\top\Sigma_Wu_j=v_i^\top v_j u i ⊤ Σ W u j = v i ⊤ v j ,同時給出後續受限制最大化所需的度量正交。
另一方法是對 u ⊤ Σ B u − λ ( u ⊤ Σ W u − 1 ) u^\top\Sigma_Bu-\lambda(u^\top\Sigma_Wu-1) u ⊤ Σ B u − λ ( u ⊤ Σ W u − 1 ) 微分,得到駐點方程
2 Σ B u − 2 λ Σ W u = 0. 2\Sigma_Bu-2\lambda\Sigma_Wu=0. 2 Σ B u − 2 λ Σ W u = 0.
雖然可寫成 Σ W − 1 Σ B u = λ u \Sigma_W^{-1}\Sigma_Bu=\lambda u Σ W − 1 Σ B u = λ u ,但這個矩陣一般不是歐幾里得內積下的對稱矩陣。白化矩陣 C C C 才是對稱的;先求它的正交規一特徵基底,再轉回原座標,也能在重複特徵值的子空間內作出一致選擇。
類內協方差何時可能非奇異
數據量亦會限制類內協方差。建立殘差矩陣 R R R ,把每筆觀測減去其所屬類別 c ( i ) c(i) c ( i ) 的平均:
R i , : = ( x i − μ c ( i ) ) ⊤ , Σ W = 1 n R ⊤ R , rank ( Σ W ) ≤ min ( d , n − K ) . R_{i,:}=(x_i-\mu_{c(i)})^\top,\qquad
\Sigma_W=\frac1nR^\top R,\qquad
\operatorname{rank}(\Sigma_W)\le\min(d,n-K). R i , : = ( x i − μ c ( i ) ) ⊤ , Σ W = n 1 R ⊤ R , rank ( Σ W ) ≤ min ( d , n − K ) .
各類的殘差行向量總和都是零。因各類索引互不重疊,K K K 個類別指示向量給出獨立的行限制,因而得到上述秩界。若殘差自由度少於 d d d ,正定性便不可能成立。有至少 d d d 個自由度是必要條件;要真正正定,殘差還必須張成整個特徵空間。
這解釋了高維數據中的一種常見情況:特徵可以很多,獨立的類內殘差方向卻相對較少。下方的奇異例題會把這個幾何寫清楚,再明確指定正則化後解的是哪一個目標。
二分類只有一個平均對比方向
對兩個類別,令 δ = μ 1 − μ 2 \delta=\mu_1-\mu_2 δ = μ 1 − μ 2 ,並假設 δ ≠ 0 \delta\ne0 δ = 0 。由平均公式可得
Σ B = p 1 p 2 δ δ ⊤ . \Sigma_B=p_1p_2\delta\delta^\top. Σ B = p 1 p 2 δ δ ⊤ .
設 a = Σ W − 1 / 2 δ a=\Sigma_W^{-1/2}\delta a = Σ W − 1/2 δ 、z = Σ W 1 / 2 u z=\Sigma_W^{1/2}u z = Σ W 1/2 u 。Cauchy–Schwarz 不等式給出
J ( u ) = p 1 p 2 ( z ⊤ a ) 2 z ⊤ z ≤ p 1 p 2 a ⊤ a . J(u)=p_1p_2\frac{(z^\top a)^2}{z^\top z}
\le p_1p_2\,a^\top a. J ( u ) = p 1 p 2 z ⊤ z ( z ⊤ a ) 2 ≤ p 1 p 2 a ⊤ a .
當 z z z 與 a a a 成比例時等號成立,所以
u ⋆ ∝ Σ W − 1 ( μ 1 − μ 2 ) , J max = p 1 p 2 δ ⊤ Σ W − 1 δ . u_\star\propto\Sigma_W^{-1}(\mu_1-\mu_2),
\qquad
J_{\max}=p_1p_2\delta^\top\Sigma_W^{-1}\delta. u ⋆ ∝ Σ W − 1 ( μ 1 − μ 2 ) , J m a x = p 1 p 2 δ ⊤ Σ W − 1 δ .
這就是經類內變異調整的類別平均差。某項特徵的平均差即使很大,若它在類內亦有很大變異,調整後的貢獻仍可能較小。若兩類平均相同,則 Σ B = 0 \Sigma_B=0 Σ B = 0 ,所有有定義的 Fisher 比值都是零。
例題
例題
1. 大的垂直變異掩蓋了水平類別差異 取兩個類別
S 1 = { ( − 3 , − 3 ) , ( − 3 , 3 ) , ( − 1 , − 3 ) , ( − 1 , 3 ) } , S 2 = { ( 1 , − 3 ) , ( 1 , 3 ) , ( 3 , − 3 ) , ( 3 , 3 ) } . \begin{aligned}
S_1&=\{(-3,-3),(-3,3),(-1,-3),(-1,3)\},\\
S_2&=\{(1,-3),(1,3),(3,-3),(3,3)\}.
\end{aligned} S 1 S 2 = {( − 3 , − 3 ) , ( − 3 , 3 ) , ( − 1 , − 3 ) , ( − 1 , 3 )} , = {( 1 , − 3 ) , ( 1 , 3 ) , ( 3 , − 3 ) , ( 3 , 3 )} . 其平均為 μ 1 = ( − 2 , 0 ) ⊤ \mu_1=(-2,0)^\top μ 1 = ( − 2 , 0 ) ⊤ 與 μ 2 = ( 2 , 0 ) ⊤ \mu_2=(2,0)^\top μ 2 = ( 2 , 0 ) ⊤ 。兩類大小相同,故 μ = 0 \mu=0 μ = 0 。各類內中心化後的水平值為 ± 1 \pm1 ± 1 ,垂直值為 ± 3 \pm3 ± 3 ,而交叉乘積互相抵消。因此
Σ W = [ 1 0 0 9 ] , Σ B = [ 4 0 0 0 ] , Σ T = [ 5 0 0 9 ] . \Sigma_W=\begin{bmatrix}1&0\\0&9\end{bmatrix},\qquad
\Sigma_B=\begin{bmatrix}4&0\\0&0\end{bmatrix},\qquad
\Sigma_T=\begin{bmatrix}5&0\\0&9\end{bmatrix}. Σ W = [ 1 0 0 9 ] , Σ B = [ 4 0 0 0 ] , Σ T = [ 5 0 0 9 ] . 由 9 > 5 9>5 9 > 5 ,第一 PCA 方向是垂直方向。但兩類的垂直分數完全相同,不能表達類別中心的差異。第一 Fisher 方向則是水平的:u 1 = ( 1 , 0 ) ⊤ u_1=(1,0)^\top u 1 = ( 1 , 0 ) ⊤ 給出 J ( u 1 ) = 4 J(u_1)=4 J ( u 1 ) = 4 ,垂直方向的比值為零。兩類的水平分數分別是 { − 3 , − 1 } \{-3,-1\} { − 3 , − 1 } 與 { 1 , 3 } \{1,3\} { 1 , 3 } ,直接顯示了類別差異。即使把總體協方差的分母改成 n − 1 n-1 n − 1 ,PCA 仍會選取垂直方向。
以下 NumPy 程式由觀測建立三個協方差矩陣,再求解對稱的白化問題。程式選定正負號,令水平方向朝右;反號會反轉所有分數,但保留 Fisher 比值。
import numpy as np
X = np.array([
[-3, -3], [-3, 3], [-1, -3], [-1, 3],
[1, -3], [1, 3], [3, -3], [3, 3]
], dtype=float)
labels = np.repeat([0, 1], 4)
n = len(X)
mu = X.mean(axis=0)
W = np.zeros((2, 2))
B = np.zeros((2, 2))
for label in np.unique(labels):
group = X[labels == label]
mean = group.mean(axis=0)
residual = group - mean
W += residual.T @ residual / n
difference = mean - mu
B += len(group) / n * np.outer(difference, difference)
eigenvalues_W, V = np.linalg.eigh(W)
inverse_root = (V / np.sqrt(eigenvalues_W)) @ V.T
C = inverse_root @ B @ inverse_root
eigenvalues, directions = np.linalg.eigh(C)
u = inverse_root @ directions[:, -1]
if u[0] < 0:
u = -u
T = (X - mu).T @ (X - mu) / n
assert np.allclose(T, W + B)
assert np.allclose(B @ u, eigenvalues[-1] * (W @ u))
print("W =", W.tolist())
print("B =", B.tolist())
print("direction =", u.tolist())
print("ratio =", float((u @ B @ u) / (u @ W @ u)))
print("W_norm =", float(u @ W @ u))
輸出為
W = [[1.0, 0.0], [0.0, 9.0]]
B = [[4.0, 0.0], [0.0, 0.0]]
direction = [1.0, 0.0]
ratio = 4.0
W_norm = 1.0
例題
2. 類別大小不同,權重亦不同 現在取
S 1 = { ( − 1 , 0 ) , ( 1 , 0 ) } , S 2 = { ( 2 , − 1 ) , ( 2 , 1 ) , ( 4 , − 1 ) , ( 4 , 1 ) } . S_1=\{(-1,0),(1,0)\},\qquad
S_2=\{(2,-1),(2,1),(4,-1),(4,1)\}. S 1 = {( − 1 , 0 ) , ( 1 , 0 )} , S 2 = {( 2 , − 1 ) , ( 2 , 1 ) , ( 4 , − 1 ) , ( 4 , 1 )} . 兩類平均為 ( 0 , 0 ) ⊤ (0,0)^\top ( 0 , 0 ) ⊤ 與 ( 3 , 0 ) ⊤ (3,0)^\top ( 3 , 0 ) ⊤ ,但由於 p 1 = 1 / 3 p_1=1/3 p 1 = 1/3 、p 2 = 2 / 3 p_2=2/3 p 2 = 2/3 ,總體平均是 ( 2 , 0 ) ⊤ (2,0)^\top ( 2 , 0 ) ⊤ 。類別協方差為 Σ 1 = diag ( 1 , 0 ) \Sigma_1=\operatorname{diag}(1,0) Σ 1 = diag ( 1 , 0 ) 及 Σ 2 = diag ( 1 , 1 ) \Sigma_2=\operatorname{diag}(1,1) Σ 2 = diag ( 1 , 1 ) ,故
Σ W = diag ( 1 , 2 / 3 ) , Σ B = diag ( 2 , 0 ) , Σ T = diag ( 3 , 2 / 3 ) . \Sigma_W=\operatorname{diag}(1,2/3),\qquad
\Sigma_B=\operatorname{diag}(2,0),\qquad
\Sigma_T=\operatorname{diag}(3,2/3). Σ W = diag ( 1 , 2/3 ) , Σ B = diag ( 2 , 0 ) , Σ T = diag ( 3 , 2/3 ) . 例如類間矩陣的水平項為 1 3 ( 0 − 2 ) 2 + 2 3 ( 3 − 2 ) 2 = 2 \frac13(0-2)^2+\frac23(3-2)^2=2 3 1 ( 0 − 2 ) 2 + 3 2 ( 3 − 2 ) 2 = 2 ,最大 Fisher 比值亦為 2 2 2 ,由水平方向取得。若改為給兩個類別平均相同權重,會得到平均 3 / 2 3/2 3/2 及類間水平項 9 / 4 9/4 9/4 。那是另一個採用類別平衡權重的經驗問題;要令六筆觀測具有相同權重,便須全程保留 1 / 3 1/3 1/3 與 2 / 3 2/3 2/3 。
例題
3. 奇異類內協方差與新的正則化目標 取 S 1 = { ( − 2 , − 1 ) , ( − 2 , 1 ) } S_1=\{(-2,-1),(-2,1)\} S 1 = {( − 2 , − 1 ) , ( − 2 , 1 )} 及 S 2 = { ( 2 , − 1 ) , ( 2 , 1 ) } S_2=\{(2,-1),(2,1)\} S 2 = {( 2 , − 1 ) , ( 2 , 1 )} ,則
Σ W = diag ( 0 , 1 ) , Σ B = diag ( 4 , 0 ) . \Sigma_W=\operatorname{diag}(0,1),\qquad
\Sigma_B=\operatorname{diag}(4,0). Σ W = diag ( 0 , 1 ) , Σ B = diag ( 4 , 0 ) . 各類內沒有水平變異,但兩類的水平平均不同。方向 u = ( 1 , 0 ) ⊤ u=(1,0)^\top u = ( 1 , 0 ) ⊤ 的比值沒有定義,因為分母是零。對 u = ( 1 , t ) ⊤ u=(1,t)^\top u = ( 1 , t ) ⊤ 、t ≠ 0 t\ne0 t = 0 ,比值為 4 / t 2 4/t^2 4/ t 2 ,當 t t t 趨近零時無上界。
選取 ρ > 0 \rho>0 ρ > 0 ,另定義正則化準則
J ρ ( u ) = u ⊤ Σ B u u ⊤ ( Σ W + ρ I ) u = u ⊤ Σ B u u ⊤ Σ W u + ρ ∥ u ∥ 2 2 . J_\rho(u)=\frac{u^\top\Sigma_Bu}
{u^\top(\Sigma_W+\rho I)u}
=\frac{u^\top\Sigma_Bu}
{u^\top\Sigma_Wu+\rho\|u\|_2^2}. J ρ ( u ) = u ⊤ ( Σ W + ρ I ) u u ⊤ Σ B u = u ⊤ Σ W u + ρ ∥ u ∥ 2 2 u ⊤ Σ B u . 取 ρ = 1 / 2 \rho=1/2 ρ = 1/2 ,分母矩陣為 diag ( 1 / 2 , 3 / 2 ) \operatorname{diag}(1/2,3/2) diag ( 1/2 , 3/2 ) ,現在是正定的。最大值為 8 8 8 ,由水平方向取得;一個規範後的方向為 u = ( 2 , 0 ) ⊤ u=(\sqrt2,0)^\top u = ( 2 , 0 ) ⊤ 。這解的是上式明確寫出的正則化問題。新增項在分母懲罰方向的歐幾里得長度,所以改變了準則,並非只是為原問題實作逆矩陣。取 ρ = 2 \rho=2 ρ = 2 時,最大值會變為 2 2 2 。
如何解讀低維表示
有資訊的維度由類別中心控制,而不只是由特徵數目控制。即使每筆觀測有數百個特徵,兩個類別仍只提供一個平均對比。多分類時,第一方向捕捉最大的標準化類間對比,其後的方向在類內正交限制下捕捉額外對比。零特徵值不會增加類間方差。
標籤用於估計類別平均及類內殘差。方向固定之後,新觀測便使用同一線性分數公式;已擬合的平均與方向尺度都是這個映射的一部分。若把每筆新觀測各自中心化,會把其座標消去;減去單一已擬合的總體平均,才會一致地平移所有類別分數,並保留其差異。
所以 PCA 與 Fisher 分析是在同一數據表上回答不同問題:前者以歐幾里得正交保留總體變異,後者相對於類內變異保留有標籤的平均對比。協方差分解清楚交代了兩種準則的共同部分與差異。
常見錯誤
常見錯誤
把 Fisher 方向一律當作歐幾里得正交 限制是 u i ⊤ Σ W u j = 0 u_i^\top\Sigma_Wu_j=0 u i ⊤ Σ W u j = 0 ,一般不是 u i ⊤ u j = 0 u_i^\top u_j=0 u i ⊤ u j = 0 。白化後的 v j v_j v j 具有歐幾里得正交性,轉回原座標便改變了度量。對稱特徵值問題屬於 C C C ,一般不屬於 Σ W − 1 Σ B \Sigma_W^{-1}\Sigma_B Σ W − 1 Σ B 。
常見錯誤
混用協方差分母或類別權重 Σ T = Σ W + Σ B \Sigma_T=\Sigma_W+\Sigma_B Σ T = Σ W + Σ B 來自一致的經驗加權。若只把類別協方差分母換成 n c − 1 n_c-1 n c − 1 ,或省略不等大小類別的 p c p_c p c 權重,便會改變矩陣。應先把每個加權總和寫清楚,再作簡化。
總結
類內變異描述各類圍繞本類平均的分散程度,類間變異則描述類別平均的加權差異,兩者之和就是總體變異。類內協方差正定時,白化把 Fisher 比值轉為對稱 Rayleigh 商。所得方向在類內度量中正交,正判別特徵值至多有 K − 1 K-1 K − 1 個。二分類平均不同時,方向是以類內協方差的逆調整平均差;若協方差奇異,ridge 項則定義了一個明確修改的目標。
練習
思考檢查
1. 設 p 1 = 1 / 4 p_1=1/4 p 1 = 1/4 、p 2 = 3 / 4 p_2=3/4 p 2 = 3/4 、μ 1 = ( − 1 , 0 ) ⊤ \mu_1=(-1,0)^\top μ 1 = ( − 1 , 0 ) ⊤ 、μ 2 = ( 3 , 0 ) ⊤ \mu_2=(3,0)^\top μ 2 = ( 3 , 0 ) ⊤ 、Σ W = diag ( 2 , 5 ) \Sigma_W=\operatorname{diag}(2,5) Σ W = diag ( 2 , 5 ) 。求 μ \mu μ 、Σ B \Sigma_B Σ B 、最大 Fisher 比值及一個規範後的最大化方向。 使用經驗權重,並限制 u ⊤ Σ W u = 1 u^\top\Sigma_Wu=1 u ⊤ Σ W u = 1 。
思考檢查
2. 取 Σ W = [ 2 1 1 1 ] \Sigma_W=\begin{bmatrix}2&1\\1&1\end{bmatrix} Σ W = [ 2 1 1 1 ] 、u = ( 1 , 0 ) ⊤ u=(1,0)^\top u = ( 1 , 0 ) ⊤ 、v = ( 1 , − 2 ) ⊤ v=(1,-2)^\top v = ( 1 , − 2 ) ⊤ 。計算 u ⊤ v u^\top v u ⊤ v 與 u ⊤ Σ W v u^\top\Sigma_Wv u ⊤ Σ W v ,並把兩個向量按類內度量規範。
思考檢查
3. 在 R 5 \mathbb R^5 R 5 中有 K = 4 K=4 K = 4 個類別,且 Σ W \Sigma_W Σ W 正定。正判別特徵值最多有多少個?若四個類別平均都在同一仿射直線上,答案又如何?
思考檢查
4. 對例題 3 的奇異協方差,取 ρ = 2 \rho=2 ρ = 2 。求 J ρ J_\rho J ρ 的最大值及一個規範後的最大化方向。新增了哪一項,令這個目標有別於原 Fisher 比值? 使用矩陣 Σ W + 2 I = diag ( 2 , 3 ) \Sigma_W+2I=\operatorname{diag}(2,3) Σ W + 2 I = diag ( 2 , 3 ) 。
解答
解答 · 1. 先對平均加權,再規範方向 總體平均為 μ = ( 2 , 0 ) ⊤ \mu=(2,0)^\top μ = ( 2 , 0 ) ⊤ ,Σ B = diag ( 3 , 0 ) \Sigma_B=\operatorname{diag}(3,0) Σ B = diag ( 3 , 0 ) 。水平方向的比值為 3 / 2 3/2 3/2 ,垂直分子為零,故最大值是 3 / 2 3/2 3/2 。一個具有單位類內長度的最大化方向是 u = ( 1 / 2 , 0 ) ⊤ u=(1/\sqrt2,0)^\top u = ( 1/ 2 , 0 ) ⊤ 。
解答 · 2. 正交性隨度量改變 歐幾里得內積為 u ⊤ v = 1 u^\top v=1 u ⊤ v = 1 。由 Σ W v = ( 0 , − 1 ) ⊤ \Sigma_Wv=(0,-1)^\top Σ W v = ( 0 , − 1 ) ⊤ ,類內內積為零。兩個類內長度的平方均為 2 2 2 :
u ⊤ Σ W u = v ⊤ Σ W v = 2 u^\top\Sigma_Wu=v^\top\Sigma_Wv=2 u ⊤ Σ W u = v ⊤ Σ W v = 2 。因此 u / 2 u/\sqrt2 u / 2 與 v / 2 v/\sqrt2 v / 2 在類內度量中正交規一,但歐幾里得內積仍為 1 / 2 1/2 1/2 。
解答 · 3. 類別平均的幾何可以收緊上界 一般上界為 min ( 5 , 4 − 1 ) = 3 \min(5,4-1)=3 min ( 5 , 4 − 1 ) = 3 。若所有類別平均都在一條仿射直線上,中心化後的平均都是同一向量的倍數,故 rank ( Σ B ) ≤ 1 \operatorname{rank}(\Sigma_B)\le1 rank ( Σ B ) ≤ 1 ,至多一個判別特徵值為正。類別平均不全相同時有一個;全部相同時則一個也沒有。
解答 · 4. Ridge 改變分母及最優值 對 u = ( a , b ) ⊤ u=(a,b)^\top u = ( a , b ) ⊤ ,
J 2 ( u ) = 4 a 2 / ( 2 a 2 + 3 b 2 ) ≤ 2 J_2(u)=4a^2/(2a^2+3b^2)\le2 J 2 ( u ) = 4 a 2 / ( 2 a 2 + 3 b 2 ) ≤ 2 。當 b = 0 b=0 b = 0 、a ≠ 0 a\ne0 a = 0 時等號成立;一個規範後的方向為 ( 1 / 2 , 0 ) ⊤ (1/\sqrt2,0)^\top ( 1/ 2 , 0 ) ⊤ 。分母現在多了 2 ∥ u ∥ 2 2 2\|u\|_2^2 2∥ u ∥ 2 2 ,這個懲罰項令它成為與未正則化比值不同的目標。
可接着閱讀 SVD 與主成分 、
古典與非度量 MDS 、
中心化核與核 PCA ,
或查看課程閱讀書目 。