7.2 判别分析

判别事实上就是机器学习中的分类问题.

1 距离判别

G1,G2 是两个不同的总体, 有密度 f1,f2. 要判别 y 属于何者, 相当于检验 H0:f=f1H1:f=f2.
在判别问题中要求两种假设地位对等, 从而误判概率 p12=p21.[1]

λ=f1(y)f2(y). 从而给出判别域 (1.0)D1={y|f1(y)f2(y)C},D2={y|f1(y)f2(y)>C}.yDiyGi, i=1,2.

1.1 正态同协方差阵情形

此时 GiNp(μi,Σ), μ1μ2. 于是 fi(y)=C(detΣ)12exp{12(yμi)TΣ1(yμi)}lnλ=lnf1(y)f2(y)=12[(yμ2)TΣ1(yμ2)(yμ1)TΣ1(yμ1)].
W(y)=lnλ判别函数, 它给出判别 (1.1)D1={y|W(y)lnC},D2={y|W(y)>lnC}.
简单计算得 W(y)=(μ1μ2)TΣ1(yμ), 其中 μ=12(μ1+μ2).

当两个假设地位对等时, 可取 C=1, 则分界线是 W(y)=lnC=0.[2]

从 (1.1) 推广出一个重要概念: Mahalanobis 距离 d(x,y)=[(xy)TΣ1(xy)]12||xy||Σ. 这个概念在 聚类方法因果推断重随机化 中也出现了. 这里我们把 Σ 称为权矩阵.

定义 y 到总体 Gi 的距离为 d(y,Gi)=||yμi||Σ, 从而判别规则改为 (1.2){d(y,G1)<d(y,G2):yG1,d(y,G1)d(y,G2):yG2. 把这称为距离判别.
把集合 {y|d(y,G1)=d(y,G2)} 称为判别的边界. 在正态同协方差阵的情况下, 这个边界是过 μ 的超平面.

下面对 C>0 讨论误判概率. 记 b=Σ12(μ1μ2). 当 yG1: W(y)Np(12||b||2,||b||2),p21=P(W(y)lnC)=P(W(y)EW(y)Var(W(y))lnC12||b||2||b||)=Φ(lnC12||b||2||b||).
类似地 p12=1Φ(lnC+12||b||2||b||).
注意到 p21,p12 都关于 ||b|| 严格下降, 而 ||b||2=bTb=(μ1μ2)TΣ1(μ1μ2)d2(G1,G2) 可以看作两个总体的 Mahalanobis 距离, 因此两个总体较远时误判概率就会变小; 否则 p12+p211, 且 {C=1:p21=p12,C>0:p21>p12,C<0:p21<p12.
在实际中, 我们需要估计 μ1,μ2,Σ. 一般地, Gi 中取容量为 ni 的样本 Y(i). 用估计(参考这里) μ^i=1niYT(i)1ni,Σ^=1n1+n22i=12YT(i)P1niY(i) 代替 μi,Σ, 得 W^(y)=(μ^1μ^2)TΣ^1(yμ^1+μ^22).
这就是基于样本观察值的距离判别.
它的误判概率的研究相当复杂, 这里不讨论.

1.2 分布自由同协方差阵情形

现在只假设 Gi 的协方差阵都是 Σ, 均值 μ1μ2. 注意到前面的判别规则只和分布的二阶矩有关, 所以这个判别在一般分布也同样适用, 但误差概率需要通过实践来检验.
下面讨论 Euclide 距离和 Mahalanobis 距离的优劣. 容易看出 Mahalanobis 距离的一个优点是没有量纲, 更加合理, 且把方差也考虑在内了.

1.3 协方差阵不等的情形

Gi(μi,Σi), Σ1Σ2. 令判别函数 W(y)=12[(yμ2)TΣ21(yμ2)(yμ1)TΣ11(yμ1)].
依然用判别规则 (1.1). 此时 W(y) 不再是线性函数, 判别边界是 p 维空间的二次曲面. 现仅讨论 p=1, 总体分布正态的情形. 不妨设 μ1>μ2, y(μ2,μ1). 由 d(y,G1)=d(y,G2)yμ2σ2=μ1yσ1yC=μ1σ2+μ2σ1σ1+σ2μ. 这里 yC 是判别的阈值. 判别为 {yyC,yG2,y>yC,yG1.
σ2>σ1, 阈值接近 μ1; 否则接近 μ2. 算出误判概率p12=a(2πσ12)12exp{(yμ1)22σ12}dy=b(2π)12exp{x22}dx=Φ(μ2μ1σ1+σ2), 这里 a=μ1σ2+μ2σ1σ1+σ2, b=μ2μ1σ1+σ2. 类似地 p21=1Φ(μ1μ2σ1+σ2)=p12.
对于 k 个总体, 设 Gi(μi,Σi). 记 d(y,Gi)=||yμi||Σi, 令 Di={y|d(y,Gi)=min1jkd(y,Gj)},i=1,,k 为判别区域, 判别规则是 yDi:yGi.

2 Fisher 判别函数

2.1 最优线性判别函数

Fisher 把问题限定到判断线性判别函数 aTy 得优劣. 如果一个判别函数是"好"的, 则它在各个总体中求均值所得的 k 个数应该有较大的利差. 令 Δ(a)=i=1k[Ei(aTy)1ki=1kEi(aTy)]2i=1kVari(aTy), 它被称为Fisher 准则.

最优线性判别函数

如果 uTy 满足 Δ(u)=maxaRpΔ(a), 则 uTy最优线性判别函数.

Δ(a) 写成矩阵形式: Δ(a)=aTi=1k(μiμ)(μiμ)TaaT(i=1kΣi)aaTMaaTΣa.
显然它只依赖 a 的方向而非长度. 这里 μ=1ki=1kμi, Σ=i=1kΣi, M=i=1k(μiμ)(μiμ)T. 令 b=Σ12, 不妨设 ||b||=1, 从而 Δ(a)=Δ(Σ12b)=bTΣ12MΣ12b.
根据 这里, max||b||=1bTΣ12MΣ12b=λ1(Σ1M)=λ1, 极大值点为 Σ12MΣ12 对应 λ1 的特征向量 c1, 因此 a1=Σ12ciΣ1M 对应 λ1 的特征向量, 得到最优线性判别函数 W1(y)=a1Ty, 称 λ1W1(y)判别效率.

此时判别规则是: 计算 d(W1(y),W1(μi))=|a1Tya1Tμi|(a1TΣia1)12,i=1,,k, 然后把 y 判给上式最小的那个 Gi.

由于 μi 不全相同, Σ12MΣ12 至少有一个正特征值. 对 Σ1M, 记特征值为 λ1λr>0, 可以相继引进 Wi(y)=aiTy, 用 r 个综合指标来判别 y. 记 A=(a1,,ar), 则 d2(ATy,ATμi)=(yμi)TA(ATΣiA)1AT(yμi).

2.2 准则和其他判别的关系

k=2 时, Δ(a)=12aT(μ1μ2)(μ1μ2)Ta2aTΣa, 其中 Σ=Σ1+Σ22, 因此 Σ1M=12Σ1(μ1μ2)(μ1μ2)T, 有唯一特征值 12(μ1μ2)TΣ1(μ1μ2)=12||μ1μ2||Σ2, 相应特征向量为 a1=Σ1(μ1μ2), 得最优线性判别函数 W1(y)=(μ1μ2)TΣ1y, 因此 Σ1=Σ2 时判别和 (1.2) 一致.

如果把 aTy 换成任意可测的 a(y), 设 k=2, Gifi(y), 则 Eia(y)=a(y)fi(y)dy, 得 (2.1)Δ(a(y))={a(y)[f1(y)f2(y)]dy}2[a(y)E1a(y)]2f1(y)dy+[a(y)E2a(y)]2f2(y)dy.
设极大值点为 a0(y), 令 a(y)=a0(y)+λb(y), λR, 则记 Δ(a(y))=Δ(a0(y),λ,b(y)). 则 Δ(a(y)) 关于 λλ=0 时极大: Δ(a(y))λ|λ=0=0.
Ei0=a0(y)fi(y)dy,Di0=[a0(y)Ei0]2fi(y)dy, 则计算得 {(D10+D20)(f1f2)(E10E20)[(a0E10)f1+(a0E20)f2]}b(y)dy=0.b(y) 的任意性: (D10+D20)(f1f2)(E10E20)[(a0E10)f1+(a0E20)f2]=0, 解得 a0(y)=(d+E10)f1(dE20)f2f1+f2, 其中 d=D10+D20E10E20.
(2.1) 看出, 如果 a0(y) 是极大值点, 则 αa0(y)+β 也是 (2.1) 的极大值点.

πiGi 的先验概率, 即混合总体中 Gi 的比重是 πi, π1+π2=1. 用待定系数法可以算出 α=π1+π22d+E10E20,β=π2(dE20)π1(d+E10)2d+E10E20
αa0(y)+β=π2f1(y)π1f2(y)f1(y)+f2(y)a(y) 是 (2.1) 的极大值点, 即它是最优判别函数. 所以有判别域D1={y|a(y)>0}={y|f1(y)>π1π2f2(y)},D2={y|a(y)0}={y|f1(y)π1π2f2(y)}, 这和 (1.0)C=π1π2 时相同!

此外还和 (3.1) 相同.

3 Bayes 判别

Bayes 判别也是判别分析最常用的方法之一. 它的基本思想参考 5.1 Bayes统计推断.

在判别问题中, θk 个值, 代表 k 个总体的密度 fi. 不妨认为 θ{1,,k}. 设 πj=P(θ=j) 是先验概率, 把 Gj 误判给 Gi 的损失记为 L(i,j), 发生概率是 pij=Difj(y)dy=fi(y)χDi(y)dy, 这里 Di 是判别域, 所以平均损失 ( 风险函数 ):

i=1kL(i,j)χDi(y)fj(y)dy.

这时判别函数实质上是一组判别域 D={D1,,Dk}: i=1kDi=Rp,Ph(DiDj)=0,ij;i,j,h=1,,k.
yDi, 判 yGi.
由先验分布 π, 得 Bayes 风险为Rπ(D)=j=1kπji=1kL(i,j)χDi(y)fj(y)dy=j=1kχDi(y)j=1kπjL(i,j)fj(y)dy.
hi(y)=j=1kπjL(i,j)fj(y). 目标是求 D 来最小化 Rπ(D), 把 D 称为Bayes 判别.

Di={y|hi(y)=min1jkhj(y)}, i=1,,k. 下面证明 D 就是 Bayes 解.

现在设 L(i,j)=δij (也即 0-1 损失函数), 则 Bayes 判别域为 Di={y|jiπjfj(y)=min1lkjlπjfj(y)}.
k=2 时, D1={y|f1(y)>π1π2f2(y)},(3.1)D2={y|f1(y)π1π2f2(y)}, 这就是 (1.0)!


  1. pij 表示实际来自 Gj 却被判给 Gi. ↩︎

  2. W(y)=0 在连续型分布中概率为 0, 判给哪一边都行. ↩︎