【多元统计分析】15.Fisher判别法

十五、Fisher判别法

1.Fisher判别法概述

在直接判别法中,如果我们假象每个类 G i G_i Gi R m \R^m Rm占据一个空间,那么我们判别样本属于其中的某一类,就以马氏距离(或广义马氏距离)作为标准,换言之,我们可以想象成每一个 G i G_i Gi具有某种“吸引力”,将距离它比较近的样本“拉”过来,这种拉力将 R m \R^m Rm分成 k k k个互不相交的区域。如果每个类占据的空间比较近,它们的“拉力界限”会比较模糊,判别的结果就会比较差。

如果存在某种变换,能将不同的类占据的空间分散开来,对样本也施加这种变换后,判别就发生在变换后的空间上,变成界限清晰的判别,这就是Fisher判别的基本思想。由于线性函数在实际应用中最方便,所以我们会使用一个线性函数 a = ( a 1 , ⋯   , a m ) a=(a_1,\cdots,a_m) a=(a1,,am)进行投影。

我们可以将Fisher判别法视为距离判别法的补充,因为我们之前说过,距离判别对于均值相近的总体效果较差;如果使用投影函数,将原来的总体映射到一个均值能被拉开的一元空间或多元空间上,就能提高分辨的效率。

2.如何寻找线性函数 a a a

要鉴别是否将不同的类分开,可以运用方差分析的方法,即对比组内平方和与组间平方和的差距。现假设从 G t G_t Gt中抽取的总体是 X ( α ) ( t ) , 1 ≤ α ≤ n t X_{(\alpha)}^{(t)},1\le \alpha \le n_t X(α)(t),1αnt,则组内离差阵和组间离差阵是
A = ∑ t = 1 k ∑ α = 1 n t ( X ( α ) ( t ) − X ˉ ( t ) ) ( X ( α ) ( t ) − X ˉ ( t ) ) ′ , B = ∑ t = 1 k n t ( X ˉ ( t ) − X ˉ ) ( X ˉ ( t ) − X ˉ ) ′ ; A=\sum_{t=1}^k\sum_{\alpha=1}^{n_t}(X_{(\alpha)}^{(t)}-\bar X^{(t)})(X_{(\alpha)}^{(t)}-\bar X^{(t)})', \\B = \sum_{t=1}^k n_t(\bar X^{(t)}-\bar X)(\bar X^{(t)}-\bar X)'; A=t=1kα=1nt(X(α)(t)Xˉ(t))(X(α)(t)Xˉ(t)),B=t=1knt(Xˉ(t)Xˉ)(Xˉ(t)Xˉ);
经过线性变换 a ′ a' a的处理后,离差阵变成平方和,即
A 0 = a ′ A a , B 0 = a ′ B a ; A_0=a'Aa, \\B_0=a'Ba; A0=aAa,B0=aBa;
所以,根据方差分析的思想(参见《十一、回归方程与回归系数的显著性检验》:1.平方和分解),如果分组足够开,组间平方和 B 0 B_0 B0与组内平方和 A 0 A_0 A0的商应该会比较大,即定义
Δ ( a ) = B 0 A 0 = a ′ B a a ′ A a , \Delta(a)=\frac{B_0}{A_0}=\frac{a'Ba}{a'Aa}, Δ(a)=A0B0=aAaaBa,
要求的结果是 max ⁡ Δ ( a ) \max \Delta(a) maxΔ(a),为了对 a a a作出限制,增添一个条件 a ′ A a = 1 a'Aa=1 aAa=1,这样问题就变成了
max ⁡ Δ ( a ) = a ′ B a , s.t.  a ′ A a = 1. \max \Delta (a)=a'Ba,\quad \text{s.t. }a'Aa=1. maxΔ(a)=aBa,s.t. aAa=1.
这是一个带约束求最值问题,使用Lagrange乘数法,得到Lagrange函数是
φ ( a ) = a ′ B a − λ ( a ′ A a − 1 ) , { ∂ φ ∂ a = 2 ( B − λ A ) a = 0 , ∂ φ ∂ λ = a ′ A a − 1 = 0. \varphi(a)=a'Ba-\lambda(a'Aa-1),\\ \left\{ \begin{array}l \dfrac{\partial \varphi}{\partial a}=2(B-\lambda A)a=0, \\ \dfrac{\partial \varphi}{\partial \lambda}=a'Aa-1=0. \end{array} \right. φ(a)=aBaλ(aAa1),aφ=2(BλA)a=0,λφ=aAa1=0.
由此, λ \lambda λ A − 1 B A^{-1}B A1B的特征根, a a a是相应的特征向量,且 Δ a = a ′ B a = a ′ λ A a = λ \Delta a=a'Ba=a'\lambda Aa=\lambda Δa=aBa=aλAa=λ,也就是说 Δ a \Delta a Δa的最大化问题,实际上是求 A − 1 B A^{-1}B A1B最大特征值相应特征向量的问题。所以,我们最终结论是:

Fisher线性判别结论:在Fisher准则下,线性判别函数 u ( X ) = a ′ X u(X)=a'X u(X)=aX的解 a a a,是特征方程 ∣ A − 1 B − λ I ∣ = 0 |A^{-1}B-\lambda I|=0 A1BλI=0的最大特征根 λ 1 \lambda_1 λ1所对应的特征向量 l 1 l_1 l1,满足 l 1 ′ A l 1 = 1 l_1'Al_1=1 l1Al1=1,且相应的判别效率为
Δ ( l 1 ) = l 1 ′ B l 1 = λ 1 . \Delta(l_1)=l_1'Bl_1=\lambda_1. Δ(l1)=l1Bl1=λ1.

如果一个线性判别函数不能很好区分 k k k个总体,就选择第二大的特征值 λ 2 \lambda_2 λ2对应的特征向量 l 2 l_2 l2,以此类推到第三个、第四个……称线性判别函数 u 1 ( X ) , ⋯   , u l ( X ) u_1(X),\cdots,u_l(X) u1(X),,ul(X)的累计判别能力为
P ( l ) = λ 1 + ⋯ + λ l λ 1 + ⋯ + λ r . P_{(l)}=\frac{\lambda_1+\cdots+\lambda_l}{\lambda_1+\cdots+\lambda_r}. P(l)=λ1++λrλ1++λl.
这里 r r r是非零特征值总数, λ 1 ≥ λ 2 ≥ ⋯ ≥ λ r > 0 \lambda_1\ge \lambda_2\ge \cdots \ge\lambda_r>0 λ1λ2λr>0

3.Fisher判别准则

如果 A − 1 B A^{-1}B A1B的非零特征值是 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ r > 0 \lambda_1\ge \lambda_2\ge \cdots \ge\lambda_r>0 λ1λ2λr>0,对应的特征向量是 l 1 , l 2 , ⋯   , l r l_1,l_2,\cdots,l_r l1,l2,,lr。这里 r ≤ min ⁡ ( m , k − 1 ) r\le \min(m,k-1) rmin(m,k1),则我们可以建立线性投影函数 l ′ X l'X lX,将 m m m元数据投影到一维直线上,但此时又应该如何判别?

先考虑 k = 2 k=2 k=2的时候,此时 r = 1 r=1 r=1,线性判别函数只有一个: u ( X ) = l ′ X u(X)=l'X u(X)=lX,现在要求出特征根与特征向量。接下来是特征值求值的推导
B = n 1 ( X ˉ ( 1 ) − X ˉ ) ( X ˉ ( 1 ) − X ˉ ) ′ + n 2 ( X ˉ ( 2 ) − X ˉ ) ( X ˉ ( 2 ) − X ˉ ) ′ = n 1 ( X ( 1 ) − n 1 X ˉ ( 1 ) + n 2 X ˉ ( 2 ) n 1 + n 2 ) ( X ( 1 ) − n 1 X ˉ ( 1 ) + n 2 X ˉ ( 2 ) n 1 + n 2 ) ′ + n 2 ( X ( 2 ) − n 1 X ˉ ( 1 ) + n 2 X ˉ ( 2 ) n 1 + n 2 ) ( X ( 2 ) − n 1 X ˉ ( 1 ) + n 2 X ˉ ( 2 ) n 1 + n 2 ) ’ = n 1 n 2 n 1 + n 2 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ ; A − 1 B = A − 1 n 1 n 2 n 1 + n 2 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ ; \begin{aligned} B=&n_1(\bar X^{(1)}-\bar X)(\bar X^{(1)}-\bar X)'+n_2(\bar X^{(2)}-\bar X)(\bar X^{(2)}-\bar X)' \\ =&n_1\left(X^{(1)}-\frac{n_1\bar X^{(1)}+n_2\bar X^{(2)}}{n_1+n_2} \right)\left(X^{(1)}-\frac{n_1\bar X^{(1)}+n_2\bar X^{(2)}}{n_1+n_2} \right)' + \\ &n_2\left(X^{(2)}-\frac{n_1\bar X^{(1)}+n_2\bar X^{(2)}}{n_1+n_2} \right)\left(X^{(2)}-\frac{n_1\bar X^{(1)}+n_2\bar X^{(2)}}{n_1+n_2} \right)’ \\ =&\frac{n_1n_2}{n_1+n_2}(\bar X^{(1)}-\bar X^{(2)})(\bar X^{(1)}-\bar X^{(2)})'; \\ \\ A^{-1}B=& A^{-1}\frac{n_1n_2}{n_1+n_2}(\bar X^{(1)}-\bar X^{(2)})(\bar X^{(1)}-\bar X^{(2)})'; \end{aligned} B===A1B=n1(Xˉ(1)Xˉ)(Xˉ(1)Xˉ)+n2(Xˉ(2)Xˉ)(Xˉ(2)Xˉ)n1(X(1)n1+n2n1Xˉ(1)+n2Xˉ(2))(X(1)n1+n2n1Xˉ(1)+n2Xˉ(2))+n2(X(2)n1+n2n1Xˉ(1)+n2Xˉ(2))(X(2)n1+n2n1Xˉ(1)+n2Xˉ(2))n1+n2n1n2(Xˉ(1)Xˉ(2))(Xˉ(1)Xˉ(2));A1n1+n2n1n2(Xˉ(1)Xˉ(2))(Xˉ(1)Xˉ(2));
由于 A B AB AB B A BA BA的特征值相同,所以 A − 1 B A^{-1}B A1B的特征值与 n 1 n 2 n 1 + n 2 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) \frac{n_1n_2}{n_1+n_2}(\bar X^{(1)}-\bar X^{(2)})'A^{-1}(\bar X^{(1)}-\bar X^{(2)}) n1+n2n1n2(Xˉ(1)Xˉ(2))A1(Xˉ(1)Xˉ(2))相同,即
det ⁡ [ n 1 n 2 n 1 + n 2 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) − λ I ] = 0 , ⇓ λ = n 1 n 2 n 1 + n 2 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) = d n 1 n 2 n 1 + n 2 d 2 . \det\left[\frac{n_1n_2}{n_1+n_2}(\bar X^{(1)}-\bar X^{(2)})'A^{-1}(\bar X^{(1)}-\bar X^{(2)})-\lambda I \right]=0, \\ \Downarrow \\ \lambda=\frac{n_1n_2}{n_1+n_2}(\bar X^{(1)}-\bar X^{(2)})'A^{-1}(\bar X^{(1)}-\bar X^{(2)})\stackrel {\rm d}=\frac{n_1n_2}{n_1+n_2}d^2. det[n1+n2n1n2(Xˉ(1)Xˉ(2))A1(Xˉ(1)Xˉ(2))λI]=0,λ=n1+n2n1n2(Xˉ(1)Xˉ(2))A1(Xˉ(1)Xˉ(2))=dn1+n2n1n2d2.
这里 d 2 = ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) d^2=(\bar X^{(1)}-\bar X^{(2)})'A^{-1}(\bar X^{(1)}-\bar X^{(2)}) d2=(Xˉ(1)Xˉ(2))A1(Xˉ(1)Xˉ(2)) A A A是组内离差阵。与之对应的特征向量 l l l
l = 1 d A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) , l=\frac 1dA^{-1}(\bar X^{(1)}-\bar X^{(2)}), l=d1A1(Xˉ(1)Xˉ(2)),
它满足 A − 1 B l = λ l A^{-1}Bl=\lambda l A1Bl=λl l ′ A l = 1 l'Al=1 lAl=1。可以注意到,这种情况与同协方差阵的直接判别法有很强的联系:同协方差阵情况下, S = 1 n 1 + n 2 − 2 A S=\frac{1}{n_1+n_2-2}A S=n1+n221A,判别系数为 S − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) S^{-1}(\bar X^{(1)}-\bar X^{(2)}) S1(Xˉ(1)Xˉ(2)),与这里的特征向量恰好差了一个倍数。

接下来,就可以按照距离判别法对两个类进行判别(参见《十三、直接判别法》),记样本 X X X经过变换后变成 u = u ( X ) = l ′ X u=u(X)=l'X u=u(X)=lX。投影后 G t G_t Gt的样本方差是 σ ^ 2 = l ′ S t l \hat \sigma^2=l'S_tl σ^2=lStl,判别阈值点可以取成
u ˉ = 1 2 ( u ˉ ( 1 ) + u ˉ ( 2 ) ) 或 u ∗ = σ ^ 2 u ˉ ( 1 ) + σ ^ 1 u ˉ ( 2 ) σ ^ 1 + σ ^ 2 . \bar u=\frac12(\bar u^{(1)}+\bar u^{(2)})或u^*=\frac{\hat\sigma_2\bar u^{(1)}+\hat\sigma_1\bar u^{(2)}}{\hat \sigma_1+\hat \sigma_2}. uˉ=21(uˉ(1)+uˉ(2))u=σ^1+σ^2σ^2uˉ(1)+σ^1uˉ(2).
这里两种阈值点分别对应转换后方差相等于不等的情况。设 u ˉ ( 1 ) > u ˉ ( 2 ) \bar u^{(1)}>\bar u^{(2)} uˉ(1)>uˉ(2),如果 u ( X ) u(X) u(X)大于阈值点,就判给 G 1 G_1 G1;否则判给 G 2 G_2 G2

对于 r > 1 r>1 r>1的情况,如果只取一个最大的特征值对应的特征向量作为线性判别函数,则情况与上面的类似,不同之处,只是在于一维直线上聚集了多个不同的正态总体 G t G_t Gt,同样考察变换后的样本到变换后的类的马氏距离,取最小的即可,即:
min ⁡ ( u − u ˉ ( 1 ) ) 2 σ ^ i 2 , i = 1 , 2 , ⋯ k . \min\frac{(u-\bar u^{(1)})^2}{\hat \sigma_i^2},\quad i=1,2,\cdots k. minσ^i2(uuˉ(1))2,i=1,2,k.
如果有 r r r个非零特征根与相应的 r r r个线性判别函数 u 1 ( X ) , ⋯   , u r ( X ) u_1(X),\cdots,u_r(X) u1(X),,ur(X),将原来每个样本的 m m m个变量变成 r r r个新变量,这时候常常取 l ≤ r l\le r lr,且满足 ( λ 1 + ⋯ + λ l ) / ( λ 1 + ⋯ + λ r ) ≥ P 0 ( = 0.7 ) (\lambda_1+\cdots +\lambda_l)/(\lambda_1+\cdots+\lambda_r)\ge P_0(=0.7) (λ1++λl)/(λ1++λr)P0(=0.7),这样就把 m m m元总体的判别问题化成了 l l l元总体的判别问题,运用 l l l元数据的距离判别法即可。

回顾总结

  1. Fisher判别法的思想是,将原来距离较近的类通过某种线性判别函数的投影,分散到一个一维空间或者多维空间上,再用距离判别法来判别。

  2. 线性判别函数 l l l与其判别效率 λ \lambda λ,是 A − 1 B A^{-1}B A1B的最大特征值与对应的特征向量,这里 A A A是组内离差阵, B B B是组间离差阵,即
    A = ∑ t = 1 k ∑ α = 1 n t ( X ( α ) ( t ) − X ˉ ( t ) ) ( X ( α ) ( t ) − X ˉ ( t ) ) ′ , B = ∑ t = 1 k n t ( X ˉ ( t ) − X ˉ ) ( X ˉ ( t ) − X ˉ ) ′ . A=\sum_{t=1}^k\sum_{\alpha=1}^{n_t}(X_{(\alpha)}^{(t)}-\bar X^{(t)})(X_{(\alpha)}^{(t)}-\bar X^{(t)})', \\ B=\sum_{t=1}^k n_t(\bar X^{(t)}-\bar X)(\bar X^{(t)}-\bar X)'. A=t=1kα=1nt(X(α)(t)Xˉ(t))(X(α)(t)Xˉ(t)),B=t=1knt(Xˉ(t)Xˉ)(Xˉ(t)Xˉ).

  3. 特别当只有两组的时候,有
    λ = n 1 n 2 n 1 + n 2 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) ′ A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) = n 1 n 2 n 1 + n 2 d 2 , l = 1 d A − 1 ( X ˉ ( 1 ) − X ˉ ( 2 ) ) . \lambda=\frac{n_1n_2}{n_1+n_2}(\bar X^{(1)}-\bar X^{(2)})'A^{-1}(\bar X^{(1)}-\bar X^{(2)})=\frac{n_1n_2}{n_1+n_2}d^2, \\ l = \frac 1dA^{-1}(\bar X^{(1)}-\bar X^{(2)}). λ=n1+n2n1n2(Xˉ(1)Xˉ(2))A1(Xˉ(1)Xˉ(2))=n1+n2n1n2d2,l=d1A1(Xˉ(1)Xˉ(2)).
    此时 X X X经过变换变成 u = u ( X ) = l ’ X u=u(X)=l’X u=u(X)=lX,分离的阈值点是
    u ˉ = 1 2 ( u ˉ ( 1 ) + u ˉ ( 2 ) ) 或 u ∗ = σ ^ 2 u ˉ ( 1 ) + σ ^ 1 u ˉ ( 2 ) σ ^ 1 + σ ^ 2 . \bar u=\frac12(\bar u^{(1)}+\bar u^{(2)})或u^*=\frac{\hat\sigma_2\bar u^{(1)}+\hat \sigma_1\bar u^{(2)}}{\hat \sigma_1+\hat \sigma_2}. uˉ=21(uˉ(1)+uˉ(2))u=σ^1+σ^2σ^2uˉ(1)+σ^1uˉ(2).

  4. 如果只选择一个线性判别函数 l l l,那么就把数据映射到一维空间上,计算映射后样本到每个类的马氏距离,选择最小的那个:
    d i 2 ( u ) = ( u − u ˉ ( i ) ) 2 σ ^ i 2 . d^2_i(u)=\frac{(u-\bar u^{(i)})^2}{\hat \sigma_i^2}. di2(u)=σ^i2(uuˉ(i))2.

  5. 如果选了多个线性判别函数 l 1 , ⋯   , l l l_1,\cdots,l_l l1,,ll,一般需要满足 ( l 1 + ⋯ + l l ) / ( l 1 + ⋯ + l r ) > 0.7 (l_1+\cdots+l_l)/(l_1+\cdots +l_r)>0.7 (l1++ll)/(l1++lr)>0.7,将每一个 m m m元样本 X X X映射成 l l l元样本 u u u,再用 l l l元总体的距离判别法进行判别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值