动机
一项特征可以有很大变异,却无助于区分类别。假设两类数据的水平中心不同,但两类都在垂直方向广泛分散。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 ,
或查看课程阅读书目 。