有朋友问:为什么感觉对机器学习和神经网络,似乎总是隔着一层纱那样,不清晰,虽然能跑代码,但总是不放心,不知道自己做的是否有根据。
这是因为:和机器学习之间,缺少了一个数学。
文中比较长的公式,不知道为什么无法渲染出来。可以到我 github 仓库中下载本文,然后再本地观看。貌似这类问题在很多网站上都没有很好地解决。github.com/qiwsir/Math…
费雪的线性判别分析
1. 缘起
对于线性判别分析的介绍,在网上或者有关书籍中,均能找到不少资料。但是,诸多内容中,未能给予线性判别分析完整地讲解,本文不揣冒昧,斗胆对其中的一部分内容,即费雪的线性判别分析 进行整理,权当自己的学习笔记,在这里发布出来,供朋友们参考。
2. 费雪的线性判别分析
英国统计学家费雪(Ronald Fisher)提出的专门为含有两个类别样本的有监督的降维方法,称为“费雪的线性判别分析 (Fisher Linear Discriminant Analysis)。
费雪的线性判别分析基本思想是(如图1所示):
图 1
获得数据在某直线(超平面)上的投影,并同时要求:
多数资料中介绍线性判别分析的时候,都是按照上述费雪所提出的线性判别分析思想讲解的。
本文也首先介绍上述基本思想,而后引申出其他相关问题。
注意:以下内容是以数学推导为主,对此方面如读者有感不足,请参阅:《机器学习数学基础》 的书籍或视频课程
2.1 二分类的样本数据
设数据样本 { x 1 , ⋯ , x n } ∈ R d \{\pmb{x}_1,\cdots,\pmb{x}_n\}\in\mathbb{R}^d { x x 1 , ⋯ , x x n } ∈ R d ,样本大小为 n n n ,特征数(维数)是 d d d 。
假设此样本分为两类,类别 C 1 C_1 C 1 ,样本数为 n 1 n_1 n 1 ;类别 C 2 C_2 C 2 ,样本数量为 n 2 n_2 n 2 。并且 n = n 1 + n 2 n=n_1+n_2 n = n 1 + n 2 。
2.2 问题:投影可能重叠
设有一条直线 L ,用单位向量 w \pmb{w} w w (∥ w ∥ 2 = w T w = 1 \begin{Vmatrix}\pmb{w}\end{Vmatrix}^2=\pmb{w}^{\text{T}}\pmb{w}=1 ∥ ∥ w w ∥ ∥ 2 = w w T w w = 1 )表示此直线的方向。
若将样本中的任意一个向量 x \pmb{x} x x 向此直线投影,得到投影量 y w y\pmb{w} y w w ,其中 y y y 表示投影的大小(长度)。
由于 x − y w \pmb{x}-y\pmb{w} x x − y w w 与单位向量 w \pmb{w} w w 正交,即:w T ( x − y w ) = 0 \pmb{w}^{\text{T}}(\pmb{x}-y\pmb{w})=0 w w T ( x x − y w w ) = 0 ,所以:
y = w T x w T w = w T x (1) y=\frac{\pmb{w}^{\text{T}}\pmb{x}}{\pmb{w}^{\text{T}}\pmb{w}}=\pmb{w}^{\text{T}}\pmb{x}\tag{1} y = w w T w w w w T x x = w w T x x ( 1 )
故样本中每个样本 x 1 , ⋯ , x n \pmb{x}_1,\cdots,\pmb{x}_n x x 1 , ⋯ , x x n 在直线 L 上的投影大小 y 1 , ⋯ , y n y_1,\cdots,y_n y 1 , ⋯ , y n 为:
y i = w T x i , ( 1 ≤ i ≤ n ) (2) y_i=\pmb{w}^{\text{T}}\pmb{x}_i,\quad(1\le i\le n)\tag{2} y i = w w T x x i , ( 1 ≤ i ≤ n ) ( 2 )
将 x 1 , ⋯ , x n \pmb{x}_1,\cdots,\pmb{x}_n x x 1 , ⋯ , x x n 所在的空间称为 x x x 空间,投影 y 1 , ⋯ , y n y_1,\cdots,y_n y 1 , ⋯ , y n 所在的空间称为 y y y 空间。
根据(2)式结果,可以得到 y y y 空间的每个类别样本的投影大小的平均数:
m ^ j = 1 n j ∑ i ∈ C j y i = 1 n j ∑ i ∈ C j w T x i = w T ( 1 n j ∑ i ∈ C j x i ) , ( j = 1 , 2 ) (3) \hat{m}_j=\frac{1}{n_j}\sum_{i\in C_j}y_i=\frac{1}{n_j}\sum_{i\in C_j}\pmb{w}^{\text{T}}\pmb{x}_i=\pmb{w}^{\text{T}}\left(\frac{1}{n_j}\sum_{i\in C_j}\pmb{x}_i\right),\quad(j=1,2)\tag{3} m ^ j = n j 1 i ∈ C j ∑ y i = n j 1 i ∈ C j ∑ w w T x x i = w w T ⎝ ⎛ n j 1 i ∈ C j ∑ x x i ⎠ ⎞ , ( j = 1 , 2 ) ( 3 )
令 m j = 1 n j ∑ i ∈ C j x i \pmb{m}_j=\frac{1}{n_j}\sum_{i\in C_j}\pmb{x}_i m m j = n j 1 ∑ i ∈ C j x x i (j = 1 , 2 j=1,2 j = 1 , 2 ),代表 x x x 空间的某个类别的所有样本的平均数向量(样本平均),故(3)式可以继续表示为:
m ^ j = w T m j , ( j = 1 , 2 ) (4) \hat{m}_j = \pmb{w}^{\text{T}}\pmb{m}_j,\quad(j=1,2)\tag{4} m ^ j = w w T m m j , ( j = 1 , 2 ) ( 4 )
由于可以用均值表示数据的集中趋势[ 2 ] ^{[2]} [ 2 ] ,那么向量 m j \pmb{m}_j m m j ,就可以作为对应类别的中心的度量。则(4)式即表示将 x x x 空间的每个类别的样本平均(即该类别的中心,或称“类别中心”),投影到直线 L ,得到了 y y y 空间上每个类别样本投影的平均数(即 m ^ j \hat{m}_j m ^ j ,表示该类别样本投影的中心,或称“类别投影中心”)。
于是得到两个类别投影中心的距离:
∣ m ^ 2 − m ^ 1 ∣ = ∣ w T m 2 − w T m 1 ∣ = ∣ w T ( m 2 − m 1 ) ∣ (5) |\hat{m}_2-\hat{m}_1|=|\pmb{w}^{\text{T}}\pmb{m}_2-\pmb{w}^{\text{T}}\pmb{m}_1|=|\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)|\tag{5} ∣ m ^ 2 − m ^ 1 ∣ = ∣ w w T m m 2 − w w T m m 1 ∣ = ∣ w w T ( m m 2 − m m 1 ) ∣ ( 5 )
(5)式说明,类别投影中心的距离( ∣ m ^ 2 − m ^ 1 ∣ |\hat{m}_2-\hat{m}_1| ∣ m ^ 2 − m ^ 1 ∣ )等于类别中心的距离(即 ∣ m 2 − m 1 ∣ |\pmb{m}_2-\pmb{m}_1| ∣ m m 2 − m m 1 ∣ )的投影 ∣ w T ( m 2 − m 1 ) ∣ |\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)| ∣ w w T ( m m 2 − m m 1 ) ∣ 。
数据点与数据点之间的距离,表征了数据的分散程度,统计学中使用方差衡量数据的分散程度 (样本方差: s 2 = 1 n − 1 ∑ i = 1 n ( x i − x ‾ ) 2 s^2=\frac{1}{n-1}\sum_{i=1}^n(x_i-\overline{x})^2 s 2 = n − 1 1 ∑ i = 1 n ( x i − x ) 2 )[ 2 ] ^{[2]} [ 2 ] 。因此,可以使用 ( m ^ 2 − m ^ 1 ) 2 (\hat{m}_2-\hat{m}_1)^2 ( m ^ 2 − m ^ 1 ) 2 度量不同类别投影中心的分散程度,并将其命名为类间散度 (Between-class scatter),即:
( m ^ 2 − m ^ 1 ) 2 = ( w T ( m 2 − m 1 ) ) 2 (6) (\hat{m}_2-\hat{m}_1)^2=\left(\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)\right)^2\tag{6} ( m ^ 2 − m ^ 1 ) 2 = ( w w T ( m m 2 − m m 1 ) ) 2 ( 6 )
散度与方差有相同的地方,都表示了数据相对平均值的分散程度。图 2 左边表示了散度较大,右边较小。
图 2
根据前述费雪的线性判别基本思想,要找到一条适合的直线,用作样本数据投影,并且要能够满足类间散度最大 ,即找到适合的 w \pmb{w} w w ,使得 ( w T ( m 2 − m 1 ) ) 2 \left(\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)\right)^2 ( w w T ( m m 2 − m m 1 ) ) 2 最大化。
下面使用拉格朗日乘数法 [ 3 ] ^{[3]} [ 3 ] 解决这个问题,但是,做一下转化,将“最大化”转化为“最小化”,在最大化的表达式前面添加一个负号。
m i n i m i z e − ( w T ( m 2 − m 1 ) ) 2 s u b j e c t t o w T w = 1 (7) \begin{split}
minimize\quad &-\left(\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)\right)^2\\
subject\quad to\quad&\pmb{w}^{\text{T}}\pmb{w}=1
\end{split}\tag{7} minimi ze s u bj ec t t o − ( w w T ( m m 2 − m m 1 ) ) 2 w w T w w = 1 ( 7 )
定义拉格朗日函数:
L ( λ , w ) = − ( w T ( m 2 − m 1 ) ) 2 + λ ( w T w − 1 ) = − w T ( m 2 − m 1 ) ( m 2 − m 1 ) T w + λ ( w T w − 1 ) (8) \begin{split}
L(\lambda,\pmb{w})&=-\left(\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)\right)^2+\lambda(\pmb{w}^{\text{T}}\pmb{w}-1)
\\
&=-\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^{\text{T}}\pmb{w}+\lambda(\pmb{w}^{\text{T}}\pmb{w}-1)
\end{split}\tag{8} L ( λ , w w ) = − ( w w T ( m m 2 − m m 1 ) ) 2 + λ ( w w T w w − 1 ) = − w w T ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w + λ ( w w T w w − 1 ) ( 8 )
其中 λ \lambda λ 是拉格朗日乘数。为了计算极值,必须要计算 ∂ L ∂ w \frac{\partial L}{\partial\pmb{w}} ∂ w w ∂ L :
∂ L ∂ w = − 2 ( m 2 − m 1 ) ( m 2 − m 1 ) T w + 2 λ w (9) \frac{\partial L}{\partial\pmb{w}}=-2(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^{\text{T}}\pmb{w}+2\lambda\pmb{w}\tag{9} ∂ w w ∂ L = − 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w + 2 λ w w ( 9 )
要实现(7)是中第一个式子的最小化,须令 ∂ L ∂ w = 0 \frac{\partial L}{\partial\pmb{w}}=0 ∂ w w ∂ L = 0 ,则:
w = 1 λ ( m 2 − m 1 ) ( m 2 − m 1 ) T w (10) \pmb{w}=\frac{1}{\lambda}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^{\text{T}}\pmb{w}\tag{10} w w = λ 1 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w ( 10 )
因为 1 λ ( m 2 − m 1 ) T w \frac{1}{\lambda}(\pmb{m}_2-\pmb{m}_1)^{\text{T}}\pmb{w} λ 1 ( m m 2 − m m 1 ) T w w 是数量(标量),所以:
w ∝ ( m 2 − m 1 ) (11) \pmb{w}\propto(\pmb{m}_2-\pmb{m}_1)\tag{11} w w ∝ ( m m 2 − m m 1 ) ( 11 )
这说明直线 L 的方向与两个类别中心的距离矢量方向平行。
但是,如果按照(11)式的方式确定直线 L 方向,样本的投影有可能出现图 1 所示的重叠现象。
从降维的角度看,假设是将高维数据降到一维,图 1 演示的降维效果并不会有利于后续分类过程。
对此,费雪提出,应该兼顾类别之间和同一类别之内的样本投影的方差:
不同类别之间的样本投影的方差越大越好(如以上说明)
同一类之内的样本投影的方差越小越好
这样,在直线(或超平面)上的投影,不同的类别投影中心的距离就尽可能大;同一类别之内的样本的投影尽可能聚集在一起。
2.3 费雪准则
前面已经确定,可以用类别的样本数据的平均数表示每个类别的样本数据的中心(即类别中心):
m j = 1 n j ∑ i ∈ C j x i , ( j = 1 , 2 ) (12) \pmb{m}_j=\frac{1}{n_j}\sum_{i\in C_j}\pmb{x}_i,\quad(j=1,2)\tag{12} m m j = n j 1 i ∈ C j ∑ x x i , ( j = 1 , 2 ) ( 12 )
以下将 m j \pmb{m}_j m m j 表述为每个类别分别在 x x x 空间的平均数向量。
在直线 L 上,类别同样中心用的样本投影的平均数表示:
m ^ j = 1 n j ∑ i ∈ C j y i = 1 n j ∑ i ∈ C j w T x i = w T ( 1 n j ∑ i ∈ C j x i ) = w T m j , ( j = 1 , 2 ) (13) \hat{m}_j=\frac{1}{n_j}\sum_{i\in C_j}y_i=\frac{1}{n_j}\sum_{i\in C_j}\pmb{w}^{\text{T}}\pmb{x}_i=\pmb{w}^{\text{T}}\left(\frac{1}{n_j}\sum_{i\in C_j}\pmb{x}_i\right)=\pmb{w}^{\text{T}}\pmb{m}_j,\quad(j=1,2)\tag{13} m ^ j = n j 1 i ∈ C j ∑ y i = n j 1 i ∈ C j ∑ w w T x x i = w w T ⎝ ⎛ n j 1 i ∈ C j ∑ x x i ⎠ ⎞ = w w T m m j , ( j = 1 , 2 ) ( 13 )
以下将 m ^ j \hat{m}_j m ^ j 表述为在 y y y 空间的平均数。
仿照方差的定义形式,定义 y y y 空间衡量类别内数据投影相对本类别投影中心的分散程度的量:y y y 空间类内散度 (Within-calss scatter):
s ^ j 2 = ∑ i ∈ C k ( y i − m ^ j ) 2 , ( j = 1 , 2 ) (14) \hat{s}_j^2=\sum_{i\in C_k}(y_i-\hat{m}_j)^2,\quad(j=1,2)\tag{14} s ^ j 2 = i ∈ C k ∑ ( y i − m ^ j ) 2 , ( j = 1 , 2 ) ( 14 )
前述(6)式定义了 y y y 空间的类间散度 :
( m ^ 2 − m ^ 1 ) 2 = ( w T ( m 2 − m 1 ) ) 2 (15) (\hat{m}_2-\hat{m}_1)^2=\left(\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)\right)^2\tag{15} ( m ^ 2 − m ^ 1 ) 2 = ( w w T ( m m 2 − m m 1 ) ) 2 ( 15 )
根据费雪的思想,既要实现 y y y 空间的类间散度最大化,同时又要实现 y y y 空间的类内散度最小化。也就是实现下述函数最大化:
J ( w ) = ( m ^ 2 − m ^ 1 ) 2 s ^ 1 2 + s ^ 2 2 (16) J(\pmb{w})=\frac{(\hat{m}_2-\hat{m}_1)^2}{\hat{s}_1^2+\hat{s}_2^2}\tag{16} J ( w w ) = s ^ 1 2 + s ^ 2 2 ( m ^ 2 − m ^ 1 ) 2 ( 16 )
2.4 散度矩阵
以下分别写出 x x x 空间的类内、类间散度的矩阵表示形式,分别称为散度矩阵 :
x x x 空间的每个类的类内散度矩阵:
S j = ∑ i ∈ C j ( x i − m j ) ( x i − m j ) T , ( j = 1 , 2 ) (17) \pmb{S}_j=\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T},\quad(j=1,2)\tag{17} S S j = i ∈ C j ∑ ( x x i − m m j ) ( x x i − m m j ) T , ( j = 1 , 2 ) ( 17 )
x x x 空间整体的类内散度矩阵:
S W = S 1 + S 2 (18) \pmb{S}_W=\pmb{S}_1+\pmb{S}_2\tag{18} S S W = S S 1 + S S 2 ( 18 )
x x x 空间的类间散度矩阵:
S B = ( m 2 − m 1 ) ( m 2 − m 1 ) T (19) \pmb{S}_B=(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\tag{19} S S B = ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T ( 19 )
其中 m j , ( j = 1 , 2 ) \pmb{m}_{j},(j=1,2) m m j , ( j = 1 , 2 ) 见(12)式。
y y y 空间的类内散度:
根据(14)式和(2)、(13)式,y y y 空间的类内散度 s ^ j 2 \hat{s}^2_j s ^ j 2 等于:
s ^ j 2 = ∑ i ∈ C k ( y i − m ^ j ) 2 , ( j = 1 , 2 ) = ∑ i ∈ C j ( w T x i − w T m j ) 2 ( 将( 2 )( 13 )式代入 ) = ∑ i ∈ C k w T ( x i − m j ) ( x i − m j ) T w = w T ( ∑ i ∈ C k ( x i − m j ) ( x i − m j ) T ) w ( 将( 17 )式代入,得到下步结果 ) = w T S j w (20) \begin{split}
\hat{s}_j^2 &= \sum_{i\in C_k}(y_i-\hat{m}_j)^2,\quad(j=1,2)
\\
&=\sum_{i\in C_j}(\pmb{w}^\text{T}\pmb{x}_i-\pmb{w}^\text{T}\pmb{m}_j)^2\quad(将(2)(13)式代入)
\\
&=\sum_{i\in C_k}\pmb{w}^\text{T}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T}\pmb{w}
\\
&=\pmb{w}^\text{T}\left(\sum_{i\in C_k}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T}\right)\pmb{w}\quad(将(17)式代入,得到下步结果)
\\
&=\pmb{w}^\text{T}\pmb{S}_j\pmb{w}
\end{split}\tag{20} s ^ j 2 = i ∈ C k ∑ ( y i − m ^ j ) 2 , ( j = 1 , 2 ) = i ∈ C j ∑ ( w w T x x i − w w T m m j ) 2 ( 将( 2 )( 13 )式代入 ) = i ∈ C k ∑ w w T ( x x i − m m j ) ( x x i − m m j ) T w w = w w T ( i ∈ C k ∑ ( x x i − m m j ) ( x x i − m m j ) T ) w w ( 将( 17 )式代入,得到下步结果 ) = w w T S S j w w ( 20 )
故:
s ^ 1 2 + s ^ 2 2 = w T S 1 w + w T S 2 w = w T S W w (21) \hat{s}_1^2+\hat{s}_2^2=\pmb{w}^\text{T}\pmb{S}_1\pmb{w}+\pmb{w}^\text{T}\pmb{S}_2\pmb{w}=\pmb{w}^\text{T}\pmb{S}_W\pmb{w}\tag{21} s ^ 1 2 + s ^ 2 2 = w w T S S 1 w w + w w T S S 2 w w = w w T S S W w w ( 21 )
y y y 空间的类间散度 ( m ^ 2 − m ^ 1 ) 2 (\hat{m}_2-\hat{m}_1)^2 ( m ^ 2 − m ^ 1 ) 2 等于:
( m ^ 2 − m ^ 1 ) 2 = ( w T m 2 − w T m 1 ) 2 ( 根据( 13 )式 ) = w T ( m 2 − m 1 ) ( m 2 − m 1 ) T w = w T S B w ( 将( 19 )式代入后 ) (22) \begin{split}
(\hat{m}_2-\hat{m}_1)^2&=(\pmb{w}^{\text{T}}\pmb{m}_2-\pmb{w}^{\text{T}}\pmb{m}_1)^2\quad(根据(13)式)
\\
&=\pmb{w}^{\text{T}}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}
\\
&=\pmb{w}^{\text{T}}\pmb{S}_B\pmb{w}\quad(将(19)式代入后)
\end{split}\tag{22} ( m ^ 2 − m ^ 1 ) 2 = ( w w T m m 2 − w w T m m 1 ) 2 ( 根据( 13 )式 ) = w w T ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w = w w T S S B w w ( 将( 19 )式代入后 ) ( 22 )
于是,(16)式的费雪准则,可以用(21)式和(22)式的结果表示为:
J ( w ) = w T S B w w T S W w (23) J(\pmb{w})=\frac{\pmb{w}^\text{T}\pmb{S}_B\pmb{w}}{\pmb{w}^\text{T}\pmb{S}_W\pmb{w}}\tag{23} J ( w w ) = w w T S S W w w w w T S S B w w ( 23 )
由(17)和(18)式可知,S W \pmb{S}_W S S W 是半正定矩阵,如果样本大小 n n n 大于维数 d d d (这种情况比较常见),则 S W \pmb{S}_W S S W 一般为正定,且可逆。
由(19)式可知,S B \pmb{S}_B S S B 是半正定矩阵,若 m 2 ≠ m 1 \pmb{m}_2\ne\pmb{m}_1 m m 2 = m m 1 ,则 rank S B = 1 \text{rank}\pmb{S}_B=1 rank S S B = 1 。
2.5 最优化问题求解
对(23)式的最大化求解,可以有多种方法:
法1:直接计算 ∂ J ∂ w = 0 \frac{\partial J}{\partial\pmb{w}}=0 ∂ w w ∂ J = 0 求解
法2:用线性代数方法:因为(23)式也称为广义瑞利商 ,故可以根据冠以特征值求解
法3:拉格朗日乘数法:参考资料 [1] 中使用的这个方法,但推导过程不详细。
法1:
最直接的思路:
∂ J ∂ w = ∂ ∂ w ( w T S B w w T S W w ) = ( w T S W w ) ∂ ( w T S B w ) ∂ w − ( w T S B w ) ∂ ( w T S W w ) ∂ w = 0 (24) \begin{split}
\frac{\partial J}{\partial\pmb{w}}&=\frac{\partial}{\partial\pmb{w}}\left(\frac{\pmb{w}^\text{T}\pmb{S}_B\pmb{w}}{\pmb{w}^\text{T}\pmb{S}_W\pmb{w}}\right)
\\
&=(\pmb{w}^\text{T}\pmb{S}_W\pmb{w})\frac{\partial(\pmb{w}^\text{T}\pmb{S}_B\pmb{w})}{\partial\pmb{w}}-(\pmb{w}^\text{T}\pmb{S}_B\pmb{w})\frac{\partial(\pmb{w}^\text{T}\pmb{S}_W\pmb{w})}{\partial\pmb{w}}=0
\end{split}\tag{24} ∂ w w ∂ J = ∂ w w ∂ ( w w T S S W w w w w T S S B w w ) = ( w w T S S W w w ) ∂ w w ∂ ( w w T S S B w w ) − ( w w T S S B w w ) ∂ w w ∂ ( w w T S S W w w ) = 0 ( 24 )
所以,得到(以下使用了矩阵导数,请见参考资料 [2] ):
( w T S W w ) 2 S B w − ( w T S B w ) 2 S W w = 0 (25) (\pmb{w}^\text{T}\pmb{S}_W\pmb{w})2\pmb{S}_B\pmb{w}-(\pmb{w}^\text{T}\pmb{S}_B\pmb{w})2\pmb{S}_W\pmb{w}=0\tag{25} ( w w T S S W w w ) 2 S S B w w − ( w w T S S B w w ) 2 S S W w w = 0 ( 25 )
上式两侧同时除以 w T S W w \pmb{w}^\text{T}\pmb{S}_W\pmb{w} w w T S S W w w ,得:
( w T S W w w T S W w ) S B w − ( w T S B w w T S W w ) S W w = 0 S B w − J S W w = 0 ( 将( 23 )式代入 ) S B w = J S W w (26) \begin{split}
\left(\frac{\pmb{w}^\text{T}\pmb{S}_W\pmb{w}}{\pmb{w}^\text{T}\pmb{S}_W\pmb{w}}\right)\pmb{S}_B\pmb{w}-\left(\frac{\pmb{w}^\text{T}\pmb{S}_B\pmb{w}}{\pmb{w}^\text{T}\pmb{S}_W\pmb{w}}\right)\pmb{S}_W\pmb{w}&=0
\\
\pmb{S}_B\pmb{w}-J\pmb{S}_W\pmb{w}&=0\quad(将(23)式代入)
\\
\pmb{S}_B\pmb{w}&=J\pmb{S}_W\pmb{w}
\end{split}\tag{26} ( w w T S S W w w w w T S S W w w ) S S B w w − ( w w T S S W w w w w T S S B w w ) S S W w w S S B w w − J S S W w w S S B w w = 0 = 0 ( 将( 23 )式代入 ) = J S S W w w ( 26 )
对(26)式最后结果等号两边同时左乘 S W − 1 \pmb{S}^{-1}_W S S W − 1 (其中 J J J 是数量(标量)函数,见(23)式),得:
S W − 1 S B w = J S W − 1 S W w J w = S W − 1 S B w J w = S W − 1 ( m 2 − m 1 ) ( m 2 − m 1 ) T w (27) \begin{split}
&\pmb{S}_W^{-1}\pmb{S}_B\pmb{w}=J\pmb{S}_W^{-1}\pmb{S}_W\pmb{w}
\\
&J\pmb{w}=\pmb{S}_W^{-1}\pmb{S}_B\pmb{w}
\\
&J\pmb{w}=\pmb{S}_W^{-1}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}
\end{split}\tag{27} S S W − 1 S S B w w = J S S W − 1 S S W w w J w w = S S W − 1 S S B w w J w w = S S W − 1 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w ( 27 )
又因为上式中的 ( m 2 − m 1 ) T w (\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w} ( m m 2 − m m 1 ) T w w 是数量(标量),故令:c = ( m 2 − m 1 ) T w c=(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w} c = ( m m 2 − m m 1 ) T w w ,则(27)式进一步写成:
J w = c S W − 1 ( m 2 − m 1 ) w = c J S W − 1 ( m 2 − m 1 ) (28) \begin{split}
&J\pmb{w}=c\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)
\\
&\pmb{w}=\frac{c}{J}\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)
\end{split}\tag{28} J w w = c S S W − 1 ( m m 2 − m m 1 ) w w = J c S S W − 1 ( m m 2 − m m 1 ) ( 28 )
由此,可知:直线 L 的方向 w \pmb{w} w w 满足:
w ∝ S W − 1 ( m 2 − m 1 ) (29) \pmb{w}\propto\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)\tag{29} w w ∝ S S W − 1 ( m m 2 − m m 1 ) ( 29 )
此时能够实现费雪准则的要求,即 J ( w ) J(\pmb{w}) J ( w w ) 最大化。
这样,就找到了最佳投影的直线(或超平面),从而实现了最佳降维的目的。
法2[ 6 ] ^{[6]} [ 6 ] :
由(18)和(19)式可知,S B T = S B \pmb{S}_B^\text{T}=\pmb{S}_B S S B T = S S B 、S W T = S W \pmb{S}_W^\text{T}=\pmb{S}_W S S W T = S S W ,即 S B \pmb{S}_B S S B 和 S W \pmb{S}_W S S W 都是实对称矩阵,亦即厄米矩阵,故(23)式可以看做广义瑞利商[ 4 ] ^{[4]} [ 4 ] 。
从而对 J ( w ) J(\pmb{w}) J ( w w ) 的最大化问题,等价于广义特征值问题[ 4 ] ^{[4]} [ 4 ] ,如下述方程:
S B w = λ S W w (30) \pmb{S}_B\pmb{w}=\lambda\pmb{S}_W\pmb{w}\tag{30} S S B w w = λ S S W w w ( 30 )
因为 S W \pmb{S}_W S S W 可逆,故:
S W − 1 S B w = λ w (31) \pmb{S}_W^{-1}\pmb{S}_B\pmb{w}=\lambda\pmb{w}\tag{31} S S W − 1 S S B w w = λ w w ( 31 )
又因为 S W − 1 \pmb{S}_W^{-1} S S W − 1 和 S B \pmb{S}_B S S B 都是半正定矩阵,所以 S W − 1 S B \pmb{S}_W^{-1}\pmb{S}_B S S W − 1 S S B 的特征值 λ \lambda λ 是非负数,则特征向量 w \pmb{w} w w 是实特征向量。
于是,可以对(30)式等号两边同时左乘 w T \pmb{w}^\text{T} w w T ,得:
w T S B w = λ w T S W w (32) \pmb{w}^\text{T}\pmb{S}_B\pmb{w}=\lambda\pmb{w}^\text{T}\pmb{S}_W\pmb{w}\tag{32} w w T S S B w w = λ w w T S S W w w ( 32 )
将(32)式代入到(23)式,可得:
J ( w ) = λ (33) J(\pmb{w})=\lambda\tag{33} J ( w w ) = λ ( 33 )
由此可知,只要找出最大的特征值,即可得到 J ( w ) J(\pmb{w}) J ( w w ) 的最大值。
又因为 rank ( S W − 1 S B ) = rank S B = 1 \text{rank}(\pmb{S}_W^{-1}\pmb{S}_B)=\text{rank}\pmb{S}_B=1 rank ( S S W − 1 S S B ) = rank S S B = 1 ,则说明(31)式中的 S W − 1 S B \pmb{S}_W^{-1}\pmb{S}_B S S W − 1 S S B 只有一个大于零的特征值。
将(19)式中的 S B \pmb{S}_B S S B 代入到(31)式中,得:
S W − 1 ( m 2 − m 1 ) ( m 2 − m 1 ) T w = λ w (34) \pmb{S}_W^{-1}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}=\lambda\pmb{w}\tag{34} S S W − 1 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w = λ w w ( 34 )
上式中的 ( m 2 − m 1 ) T w (\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w} ( m m 2 − m m 1 ) T w w 是数量(标量),故令:c = ( m 2 − m 1 ) T w c=(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w} c = ( m m 2 − m m 1 ) T w w ,则上式进一步写成:
w = c λ S W − 1 ( m 2 − m 1 ) (35) \pmb{w}=\frac{c}{\lambda}\pmb{S}_W^{-1}(\pmb{m}_2-\pmb{m}_1)\tag{35} w w = λ c S S W − 1 ( m m 2 − m m 1 ) ( 35 )
从而得到与(29)式同样的结论和解释。
法3:
对于(23)式,因为分子分母都有 w \pmb{w} w w ,故 J ( w ) J(\pmb{w}) J ( w w ) 与 w \pmb{w} w w 的长度无关,可以设 w T S W w = 1 \pmb{w}^\text{T}\pmb{S}_W\pmb{w}=1 w w T S S W w w = 1 ,则对(23)式的最大化问题,即转化为[ 1 ] ^{[1]} [ 1 ] :
m i n − w T S B w s u b j e c t t o w T S W w = 1 (36) \begin{split}
min\quad&-\pmb{w}^\text{T}\pmb{S}_B\pmb{w}
\\
subject\quad to\quad&\pmb{w}^\text{T}\pmb{S}_W\pmb{w}=1
\end{split}\tag{36} min s u bj ec t t o − w w T S S B w w w w T S S W w w = 1 ( 36 )
根据拉格朗日乘数法[ 5 ] ^{[5]} [ 5 ] :
L ( w , λ ) = − w T S B w + λ ( w T S W w − 1 ) (37) L(\pmb{w},\lambda)=-\pmb{w}^\text{T}\pmb{S}_B\pmb{w}+\lambda(\pmb{w}^\text{T}\pmb{S}_W\pmb{w}-1)\tag{37} L ( w w , λ ) = − w w T S S B w w + λ ( w w T S S W w w − 1 ) ( 37 )
计算 ∂ L ∂ w \frac{\partial L}{\partial\pmb{w}} ∂ w w ∂ L :
∂ L ∂ w = − ∂ ( w T S B w ) ∂ w + λ ∂ ( w T S W w − 1 ) ∂ w = − ( S B + S B T ) w + λ ( S W + S W T ) w = − 2 S B w + 2 λ S W w ( ∵ S B T = S B 、 S W T = S W ) (38) \begin{split}
\frac{\partial L}{\partial\pmb{w}}&=-\frac{\partial(\pmb{w}^\text{T}\pmb{S}_B\pmb{w})}{\partial\pmb{w}}+\lambda\frac{\partial(\pmb{w}^\text{T}\pmb{S}_W\pmb{w}-1)}{\partial\pmb{w}}
\\
&=-(\pmb{S}_B+\pmb{S}_B^\text{T})\pmb{w}+\lambda(\pmb{S}_W+\pmb{S}_W^{\text{T}})\pmb{w}
\\
&=-2\pmb{S}_B\pmb{w}+2\lambda\pmb{S}_W\pmb{w}\quad(\because\quad\pmb{S}_B^\text{T}=\pmb{S}_B 、\pmb{S}_W^\text{T}=\pmb{S}_W)
\end{split}\tag{38} ∂ w w ∂ L = − ∂ w w ∂ ( w w T S S B w w ) + λ ∂ w w ∂ ( w w T S S W w w − 1 ) = − ( S S B + S S B T ) w w + λ ( S S W + S S W T ) w w = − 2 S S B w w + 2 λ S S W w w ( ∵ S S B T = S S B 、 S S W T = S S W ) ( 38 )
令:∂ L ∂ w = 0 \frac{\partial L}{\partial\pmb{w}}=0 ∂ w w ∂ L = 0 ,则:
S B w = λ S W w (39) \pmb{S}_B\pmb{w}=\lambda\pmb{S}_W\pmb{w}\tag{39} S S B w w = λ S S W w w ( 39 )
因为 S W \pmb{S}_W S S W 可逆,所以有:S W − 1 S B w = λ w \pmb{S}_W^{-1}\pmb{S}_B\pmb{w}=\lambda\pmb{w} S S W − 1 S S B w w = λ w w ,再将(19)式的 S B \pmb{S}_B S S B 代入此时,得到:
S W − 1 ( m 2 − m 1 ) ( m 2 − m 1 ) T w = λ w (40) \pmb{S}_W^{-1}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}=\lambda\pmb{w}\tag{40} S S W − 1 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w = λ w w ( 40 )
这与(34)式雷同,只不过(40)中的 λ \lambda λ 是拉格朗日乘数,但形式一样,故可得:
w ∝ S W − 1 ( m 2 − m 1 ) (41) \pmb{w}\propto\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)\tag{41} w w ∝ S S W − 1 ( m m 2 − m m 1 ) ( 41 )
与(29)同样的结果。
2.6 小结
在以上讨论中,使用三种方法找到了 w \pmb{w} w w 的方向,至此,事实上实现的是数据的降维 (注意区别于 PCA),并没有实现对数据属于哪一个类别的“判别分析” ——这一点非常重要,有的资料就此为止,未继续阐明如何判断所属类别。
当找到了 w \pmb{w} w w 方向之后,假设有数据 x \pmb{x} x x ,要判断属于哪一个类别,必须还要有阈值 w 0 w_0 w 0 ,即:
当 w T x ≤ − w 0 \pmb{w}^\text{T}\pmb{x}\le-w_0 w w T x x ≤ − w 0 时,x \pmb{x} x x 属于 C 1 C_1 C 1 类
否则,属于 C 2 C_2 C 2 类
而 w 0 w_0 w 0 是多少?这在费雪的线性判别分析中并未提及。所以需要进一步探讨。
下面要探讨 w 0 w_0 w 0 是多少,并进而实现对数据所述类别的判别分析 。
3. 计算判别阈值
如果要判别某个样本属于哪一类,必须计算出阈值 w 0 w_0 w 0 ,求解方法有两种:
贝叶斯方法。此方法在另外一篇《线性判别分析》中详解
最小二乘法。此处演示此方法的求解过程
3.1 最小二乘法[ 6 ] ^{[6]} [ 6 ]
关于最小二乘法的详细讲解,请阅读参考资料 [2] 的有关章节,在其中对最小二乘法通过多个角度给予了理论和应用的介绍。
将两个类别的线性边界写作:
g ( x i ) = w T x i + w 0 (42) g(\pmb{x}_i)=\pmb{w}^\text{T}\pmb{x}_i+w_0\tag{42} g ( x x i ) = w w T x x i + w 0 ( 42 )
相应的最小平方误差函数:
E = 1 2 ∑ i = 1 n ( g ( x i ) − r i ) 2 = 1 2 ∑ i = 1 n ( w T x i + w 0 − r i ) 2 (43) E=\frac{1}{2}\sum_{i=1}^n\left(g(\pmb{x}_i)-r_i\right)^2=\frac{1}{2}\sum_{i=1}^n\left(\pmb{w}^\text{T}\pmb{x}_i+w_0-r_i\right)^2\tag{43} E = 2 1 i = 1 ∑ n ( g ( x x i ) − r i ) 2 = 2 1 i = 1 ∑ n ( w w T x x i + w 0 − r i ) 2 ( 43 )
其中,r i r_i r i 是样本数据的类别标签,即样本类别的真实值。若 i ∈ C 1 i\in C_1 i ∈ C 1 ,则 r i r_i r i 为正例,否则为负例,不妨分别假设两个类别的标签分别是:
r i , i ∈ C 1 = n n 1 , r i , i ∈ C 2 = − n n 2 (43-2) r_{i,i\in C_1}=\frac{n}{n_1},r_{i,i\in C_2}=-\frac{n}{n_2}\tag{43-2} r i , i ∈ C 1 = n 1 n , r i , i ∈ C 2 = − n 2 n ( 43-2 )
将(43)式分别对 w 0 w_0 w 0 和 w \pmb{w} w w 求导:
∂ E ∂ w 0 = ∑ i = 1 n ( w T x i + w 0 − r i ) (44) \frac{\partial E}{\partial w_0}=\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i+w_0-r_i)\tag{44} ∂ w 0 ∂ E = i = 1 ∑ n ( w w T x x i + w 0 − r i ) ( 44 )
∂ E ∂ w = ∑ i = 1 n ( w T x i + w 0 − r i ) x i (45) \frac{\partial E}{\partial\pmb{w}}=\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i+w_0-r_i)\pmb{x}_i\tag{45} ∂ w w ∂ E = i = 1 ∑ n ( w w T x x i + w 0 − r i ) x x i ( 45 )
令(44)式为零,即:
∂ E ∂ w 0 = ∑ i = 1 n ( w T x i + w 0 − r i ) = 0 ∑ i = 1 n ( w T x i ) + ∑ i = 1 n w 0 − ∑ i = 1 n r i = 0 ∑ i = 1 n ( w T x i ) + n w 0 − ∑ i = 1 n r i = 0 (46) \begin{split}
&\frac{\partial E}{\partial w_0}=\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i+w_0-r_i)=0
\\
&\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i)+\sum_{i=1}^nw_0-\sum_{i=1}^nr_i=0
\\
&\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i)+nw_0-\sum_{i=1}^nr_i=0
\end{split}\tag{46} ∂ w 0 ∂ E = i = 1 ∑ n ( w w T x x i + w 0 − r i ) = 0 i = 1 ∑ n ( w w T x x i ) + i = 1 ∑ n w 0 − i = 1 ∑ n r i = 0 i = 1 ∑ n ( w w T x x i ) + n w 0 − i = 1 ∑ n r i = 0 ( 46 )
所以:
w 0 = − 1 n ∑ i = 1 n ( w T x i ) + 1 n ∑ i = 1 n r i = − w T ( 1 n ∑ i = 1 n x i ) + 1 n ∑ i = 1 n r i (47) \begin{split}
w_0 &= -\frac{1}{n}\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i)+\frac{1}{n}\sum_{i=1}^nr_i
\\
&=-\pmb{w}^\text{T}\left(\frac{1}{n}\sum_{i=1}^n\pmb{x}_i\right)+\frac{1}{n}\sum_{i=1}^nr_i
\end{split}\tag{47} w 0 = − n 1 i = 1 ∑ n ( w w T x x i ) + n 1 i = 1 ∑ n r i = − w w T ( n 1 i = 1 ∑ n x x i ) + n 1 i = 1 ∑ n r i ( 47 )
其中:
1 n ∑ i = 1 n x i \frac{1}{n}\sum_{i=1}^n\pmb{x}_i n 1 ∑ i = 1 n x x i 是样本平均值(向量),记作 m \pmb{m} m m ;
前述(43-2)式 r i , i ∈ C 1 = n n 1 , r i , i ∈ C 2 = − n n 2 r_{i,i\in C_1}=\frac{n}{n_1},r_{i,i\in C_2}=-\frac{n}{n_2} r i , i ∈ C 1 = n 1 n , r i , i ∈ C 2 = − n 2 n ,则 1 n ∑ i = 1 n r i = 1 n ( n 1 n n 1 − n 2 n n 2 ) = 0 \frac{1}{n}\sum_{i=1}^nr_i=\frac{1}{n}(n_1\frac{n}{n_1}-n_2\frac{n}{n_2})=0 n 1 ∑ i = 1 n r i = n 1 ( n 1 n 1 n − n 2 n 2 n ) = 0 。
所以,(47)最终得:
w 0 = − w T m (48) w_0=-\pmb{w}^\text{T}\pmb{m}\tag{48} w 0 = − w w T m m ( 48 )
而对于 w \pmb{w} w w ,在前述最优化求解中,已经得到:w ∝ S W − 1 ( m 2 − m 1 ) \pmb{w}\propto\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1) w w ∝ S S W − 1 ( m m 2 − m m 1 ) ,(如(41)式),又因为 w \pmb{w} w w 的表示的是方向(单位向量),或者说直线的长度不影响边界,故可直接令:
w = S W − 1 ( m 2 − m 1 ) (49) \pmb{w}=\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)\tag{49} w w = S S W − 1 ( m m 2 − m m 1 ) ( 49 )
于是,可以用:
w T x ≤ w T m (50) \pmb{w}^{\text{T}}\pmb{x}\le\pmb{w}^{\text{T}}\pmb{m}\tag{50} w w T x x ≤ w w T m m ( 50 )
作为判别标准。
3.2 检验
若 x = m 1 \pmb{x}=\pmb{m}_1 x x = m m 1 ,很显然,此样本属于 C 1 C_1 C 1 类,利用(50)式对此结论进行检验:
w T x − w T m = w T ( x − m ) = w T ( m 1 − m ) = ( S W − 1 ( m 2 − m 1 ) ) T ( m 1 − m ) ( 将( 49 )式代入 ) = ( m 2 − m 1 ) T ( S W − 1 ) T ( m 1 − m ) (51) \begin{split}
\pmb{w}^{\text{T}}\pmb{x}-\pmb{w}^{\text{T}}\pmb{m}&=\pmb{w}^{\text{T}}(\pmb{x}-\pmb{m})=\pmb{w}^{\text{T}}(\pmb{m}_1-\pmb{m})
\\
&=(\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1))^\text{T}(\pmb{m}_1-\pmb{m})\quad(将(49)式代入)
\\
&=(\pmb{m}_2-\pmb{m}_1)^\text{T}(\pmb{S}^{-1}_W)^\text{T}(\pmb{m}_1-\pmb{m})
\end{split}\tag{51} w w T x x − w w T m m = w w T ( x x − m m ) = w w T ( m m 1 − m m ) = ( S S W − 1 ( m m 2 − m m 1 ) ) T ( m m 1 − m m ) ( 将( 49 )式代入 ) = ( m m 2 − m m 1 ) T ( S S W − 1 ) T ( m m 1 − m m ) ( 51 )
由(18)式知:S W T = S W ⟹ ( S W − 1 ) T = S W − 1 \pmb{S}_W^{\text{T}}=\pmb{S}_W\Longrightarrow(\pmb{S}_W^{-1})^\text{T}=\pmb{S}_W^{-1} S S W T = S S W ⟹ ( S S W − 1 ) T = S S W − 1
m = 1 n ∑ i = 1 n x i = 1 n ( n 1 m 1 + n 2 m 2 ) \pmb{m}=\frac{1}{n}\sum_{i=1}^n\pmb{x}_i=\frac{1}{n}(n_1\pmb{m}_1+n_2\pmb{m}_2) m m = n 1 ∑ i = 1 n x x i = n 1 ( n 1 m m 1 + n 2 m m 2 )
于是,(51)式继续计算如下:
w T x − w T m = ( m 2 − m 1 ) T S W − 1 ( m 1 − 1 n ( n 1 m 1 + n 2 m 2 ) ) = ( m 2 − m 1 ) T S W − 1 ( n 2 n m 1 − n 2 n m 2 ) = − n 2 n ( m 2 − m 1 ) T S W − 1 ( m 2 − m 1 ) < 0 (52) \begin{split}
\pmb{w}^{\text{T}}\pmb{x}-\pmb{w}^{\text{T}}\pmb{m}
&=(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{S}^{-1}_W(\pmb{m}_1-\frac{1}{n}(n_1\pmb{m}_1+n_2\pmb{m}_2))
\\&=(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{S}^{-1}_W(\frac{n_2}{n}\pmb{m}_1-\frac{n_2}{n}\pmb{m}_2)
\\&=-\frac{n_2}{n}(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)\lt0
\end{split}\tag{52} w w T x x − w w T m m = ( m m 2 − m m 1 ) T S S W − 1 ( m m 1 − n 1 ( n 1 m m 1 + n 2 m m 2 )) = ( m m 2 − m m 1 ) T S S W − 1 ( n n 2 m m 1 − n n 2 m m 2 ) = − n n 2 ( m m 2 − m m 1 ) T S S W − 1 ( m m 2 − m m 1 ) < 0 ( 52 )
其中的 S W − 1 \pmb{S}_W^{-1} S S W − 1 (半)正定。
检验成功。
3.3 用最小二乘法计算 w \pmb{w} w w
用最小二乘法能够计算出 w 0 \pmb{w}_0 w w 0 ,也可以计算 w \pmb{w} w w 。前面已经计算过了 w \pmb{w} w w 的方向,这里再用最小二乘法计算,作为对此方法的深入理解。
在(45)式中,得到了 ∂ E ∂ w \frac{\partial E}{\partial\pmb{w}} ∂ w w ∂ E ,令它等于零,则可以计算 w \pmb{w} w w ,但是步骤比较繁琐,以下仅供参考。
由(17)式可得:
S j = ∑ i ∈ C j ( x i − m j ) ( x i − m j ) T , ( j = 1 , 2 ) = ∑ i ∈ C j x x i T − m j ∑ i ∈ C j x i T − ∑ i ∈ C j x i m j T + n j m j m j T = ∑ i ∈ C j x x i T − m j ( n j m j ) − ( n j m j ) m j T + n j m j m j T = ∑ i ∈ C j x x i T − m j ( n j m j ) (53) \begin{split}
\pmb{S}_j&=\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T},\quad(j=1,2)
\\
&=\sum_{i\in C_j}\pmb{x}\pmb{x}_i^\text{T}-\pmb{m}_j\sum_{i\in C_j}\pmb{x}_i^\text{T}-\sum_{i\in C_j}\pmb{x}_i\pmb{m}_j^\text{T}+n_j\pmb{m}_j\pmb{m}_j^\text{T}
\\
&=\sum_{i\in C_j}\pmb{x}\pmb{x}_i^\text{T}-\pmb{m}_j(n_j\pmb{m}_j)-(n_j\pmb{m}_j)\pmb{m}_j^\text{T}+n_j\pmb{m}_j\pmb{m}_j^\text{T}
\\
&=\sum_{i\in C_j}\pmb{x}\pmb{x}_i^\text{T}-\pmb{m}_j(n_j\pmb{m}_j)
\end{split}\tag{53} S S j = i ∈ C j ∑ ( x x i − m m j ) ( x x i − m m j ) T , ( j = 1 , 2 ) = i ∈ C j ∑ x x x x i T − m m j i ∈ C j ∑ x x i T − i ∈ C j ∑ x x i m m j T + n j m m j m m j T = i ∈ C j ∑ x x x x i T − m m j ( n j m m j ) − ( n j m m j ) m m j T + n j m m j m m j T = i ∈ C j ∑ x x x x i T − m m j ( n j m m j ) ( 53 )
所以:
S W = S 1 + S 2 = ∑ i = 1 n x x i T − n 1 m 1 m 1 − n 2 m 2 m 2 (54) \pmb{S}_W=\pmb{S}_1+\pmb{S}_2=\sum_{i=1}^n\pmb{x}\pmb{x}_i^\text{T}-n_1\pmb{m}_1\pmb{m}_1-n_2\pmb{m}_2\pmb{m}_2\tag{54} S S W = S S 1 + S S 2 = i = 1 ∑ n x x x x i T − n 1 m m 1 m m 1 − n 2 m m 2 m m 2 ( 54 )
令(45)式的 ∂ E ∂ w = 0 \frac{\partial E}{\partial\pmb{w}}=0 ∂ w w ∂ E = 0 ,即:
∑ i = 1 n ( w T x i + w 0 − r i ) x i = 0 ∑ i = 1 n ( w T x i − w T m − r i ) x i = 0 ( 将( 48 )式代入 ) ∑ i = 1 n ( w T x i − w T m ) x i = ∑ i = 1 n r i x i ∑ i = 1 n x i ( x i T − m T ) w = ∑ i = 1 n r i x i (55) \begin{split}
&\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i+w_0-r_i)\pmb{x}_i=0
\\
&\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i-\pmb{w}^\text{T}\pmb{m}-r_i)\pmb{x}_i=0\quad(将(48)式代入)
\\
&\sum_{i=1}^n(\pmb{w}^\text{T}\pmb{x}_i-\pmb{w}^\text{T}\pmb{m})\pmb{x}_i=\sum_{i=1}^nr_i\pmb{x}_i
\\
&\sum_{i=1}^n\pmb{x}_i(\pmb{x}_i^\text{T}-\pmb{m}^\text{T})\pmb{w}=\sum_{i=1}^nr_i\pmb{x}_i
\end{split}\tag{55} i = 1 ∑ n ( w w T x x i + w 0 − r i ) x x i = 0 i = 1 ∑ n ( w w T x x i − w w T m m − r i ) x x i = 0 ( 将( 48 )式代入 ) i = 1 ∑ n ( w w T x x i − w w T m m ) x x i = i = 1 ∑ n r i x x i i = 1 ∑ n x x i ( x x i T − m m T ) w w = i = 1 ∑ n r i x x i ( 55 )
下面对上式等号左右两边分别计算:
左边 = ∑ i = 1 n x i ( x i T − m T ) w = ( ∑ i = 1 n x i x i T − ∑ i = 1 n x i m T ) w = ( ∑ i = 1 n x i x i T − n m m T ) w = ( ∑ i = 1 n x i x i T − 1 n ( n 1 m 1 + n 2 m 2 ) ( n 1 m 1 + n 2 m 2 ) T ) w = ( ∑ i = 1 n x i x i T − n 1 m 1 m 1 T − n 2 m 2 m 2 T + n 1 n 2 n ( m 2 − m 1 ) ( m 2 − m 1 ) T ) w = ( S W + n 1 n 2 n S B ) w ( 代入( 54 )式和( 19 )式 ) 右边 = ∑ i = 1 n r i x i = n n 1 ∑ i ∈ C 1 x i − n n 2 ∑ i ∈ C 2 x i = n ( m 1 − m 2 ) ∴ ( S W + n 1 n 2 n S B ) w = n ( m 1 − m 2 ) S W w + n 1 n 2 n S B w = n ( m 1 − m 2 ) S W w = − n 1 n 2 n ( m 2 − m 1 ) ( m 2 − m 1 ) T w + n ( m 1 − m 2 ) = ( − n 1 n 2 n ( m 2 − m 1 ) ( m 2 − m 1 ) T w − n ) ( m 2 − m 1 ) ∴ w = S W − 1 ( − n 1 n 2 n ( m 2 − m 1 ) ( m 2 − m 1 ) T w − n ) ( m 2 − m 1 ) (56) \begin{split}
左边&=\sum_{i=1}^n\pmb{x}_i(\pmb{x}_i^\text{T}-\pmb{m}^\text{T})\pmb{w}
\\&=\left(\sum_{i=1}^n\pmb{x}_i\pmb{x}_i^\text{T}-\sum_{i=1}^n\pmb{x}_i\pmb{m}^\text{T}\right)\pmb{w}
\\&=\left(\sum_{i=1}^n\pmb{x}_i\pmb{x}_i^\text{T}-n\pmb{mm}^\text{T}\right)\pmb{w}
\\&=\left(\sum_{i=1}^n\pmb{x}_i\pmb{x}_i^\text{T}-\frac{1}{n}(n_1\pmb{m}_1+n_2\pmb{m}_2)(n_1\pmb{m}_1+n_2\pmb{m}_2)^\text{T}\right)\pmb{w}
\\&=\left(\sum_{i=1}^n\pmb{x}_i\pmb{x}_i^\text{T}-n_1\pmb{m}_1\pmb{m}_1^\text{T}-n_2\pmb{m}_2\pmb{m}_2^\text{T}+\frac{n_1n_2}{n}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\right)\pmb{w}
\\&=\left(\pmb{S}_W+\frac{n_1n_2}{n}\pmb{S}_B\right)\pmb{w}\quad(代入(54)式和(19)式)
\\
右边&=\sum_{i=1}^nr_i\pmb{x}_i
\\&=\frac{n}{n_1}\sum_{i\in C_1}\pmb{x}_i-\frac{n}{n_2}\sum_{i\in C_2}\pmb{x}_i
\\&=n(\pmb{m}_1-\pmb{m}_2)
\\\\
\therefore&\quad \left(\pmb{S}_W+\frac{n_1n_2}{n}\pmb{S}_B\right)\pmb{w}=n(\pmb{m}_1-\pmb{m}_2)
\\
&\pmb{S}_W\pmb{w}+\frac{n_1n_2}{n}\pmb{S}_B\pmb{w}=n(\pmb{m}_1-\pmb{m}_2)
\\
\pmb{S}_W\pmb{w}&=-\frac{n_1n_2}{n}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}+n(\pmb{m}_1-\pmb{m}_2)
\\&=\left(-\frac{n_1n_2}{n}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}-n\right)(\pmb{m}_2-\pmb{m}_1)
\\\\
\therefore\quad\pmb{w}&=\pmb{S}^{-1}_W\left(-\frac{n_1n_2}{n}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}-n\right)(\pmb{m}_2-\pmb{m}_1)
\end{split}\tag{56} 左边 右边 ∴ S S W w w ∴ w w = i = 1 ∑ n x x i ( x x i T − m m T ) w w = ( i = 1 ∑ n x x i x x i T − i = 1 ∑ n x x i m m T ) w w = ( i = 1 ∑ n x x i x x i T − n mm mm T ) w w = ( i = 1 ∑ n x x i x x i T − n 1 ( n 1 m m 1 + n 2 m m 2 ) ( n 1 m m 1 + n 2 m m 2 ) T ) w w = ( i = 1 ∑ n x x i x x i T − n 1 m m 1 m m 1 T − n 2 m m 2 m m 2 T + n n 1 n 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T ) w w = ( S S W + n n 1 n 2 S S B ) w w ( 代入( 54 )式和( 19 )式 ) = i = 1 ∑ n r i x x i = n 1 n i ∈ C 1 ∑ x x i − n 2 n i ∈ C 2 ∑ x x i = n ( m m 1 − m m 2 ) ( S S W + n n 1 n 2 S S B ) w w = n ( m m 1 − m m 2 ) S S W w w + n n 1 n 2 S S B w w = n ( m m 1 − m m 2 ) = − n n 1 n 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w + n ( m m 1 − m m 2 ) = ( − n n 1 n 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w − n ) ( m m 2 − m m 1 ) = S S W − 1 ( − n n 1 n 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w − n ) ( m m 2 − m m 1 ) ( 56 )
因为 ( − n 1 n 2 n ( m 2 − m 1 ) ( m 2 − m 1 ) T w − n ) \left(-\frac{n_1n_2}{n}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}\pmb{w}-n\right) ( − n n 1 n 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T w w − n ) 是数量(标量),所以:
w ∝ S W − 1 ( m 2 − m 1 ) (57) \pmb{w}\propto\pmb{S}^{-1}_W(\pmb{m}_2-\pmb{m}_1)\tag{57} w w ∝ S S W − 1 ( m m 2 − m m 1 ) ( 57 )
4. 多类别的判别分析[ 6 ] ^{[6]} [ 6 ]
前面讨论的问题是基于 2.1 节中数据假设,即二分类问题,如果将上述两个类别下的类内散度和类间散度矩阵推广到多类别,就可以实现多类别的判别分析。
4.1 多类别的类内散度矩阵
(18)式定义了 x x x 空间两个类别的类内散度矩阵,将其定义方式可以直接推广到多类别的类内散度矩阵:
S W = ∑ j = 1 k S j (58) \pmb{S}_W=\sum_{j=1}^k\pmb{S}_j\tag{58} S S W = j = 1 ∑ k S S j ( 58 )
其中:
S j = ∑ i ∈ C j ( x i − m j ) ( x i − m j ) T , j = 1 , 2 , ⋯ , k \pmb{S}_j=\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T},\quad{j=1,2,\cdots,k} S S j = ∑ i ∈ C j ( x x i − m m j ) ( x x i − m m j ) T , j = 1 , 2 , ⋯ , k ,
且 m j = 1 n j ∑ i ∈ C j x i j = 1 , ⋯ , k \pmb{m}_j=\frac{1}{n_j}\sum_{i\in C_j}\pmb{x}_i\quad{j=1,\cdots,k} m m j = n j 1 ∑ i ∈ C j x x i j = 1 , ⋯ , k ,共计有 k k k 个类别。
n = n 1 + ⋯ + n k n=n_1+\cdots+n_k n = n 1 + ⋯ + n k 表示总样本数等于每个类别样本数的和。
4.2 多类别的类间散度矩阵
多类别的类间散度矩阵,不能由(19)式直接推广。
令 m \pmb{m} m m 表示 x x x 空间的全体样本的平均数(向量),即:
m = 1 n ∑ i = 1 n x i = 1 n ∑ j = 1 k ∑ i ∈ C j x i = 1 n ∑ j = 1 k ( n j m j ) (59) \pmb{m}=\frac{1}{n}\sum_{i=1}^n\pmb{x}_i=\frac{1}{n}\sum_{j=1}^k\sum_{i\in C_j}\pmb{x}_i=\frac{1}{n}\sum_{j=1}^k(n_j\pmb{m}_j)\tag{59} m m = n 1 i = 1 ∑ n x x i = n 1 j = 1 ∑ k i ∈ C j ∑ x x i = n 1 j = 1 ∑ k ( n j m m j ) ( 59 )
对于所有的样本,仿照样本(有偏)方差的定义,可以定义针对 x x x 空间的所有样本的 Total scatter matrix (参考资料 [1] 中称为“全局散度矩阵”。愚以为,由于此概念是针对当前数据集所有样本而言——依然是抽样所得,如果用“全局”一词,容易引起与“总体”的错误联系,其真正含义是:本数据集所有样本散度矩阵 ):
S T = ∑ i = 1 n ( x i − m ) ( x i − m ) T (60) \pmb{S}_T=\sum_{i=1}^n(\pmb{x}_i-\pmb{m})(\pmb{x}_i-\pmb{m})^\text{T}\tag{60} S S T = i = 1 ∑ n ( x x i − m m ) ( x x i − m m ) T ( 60 )
将(60)式进一步写成:
S T = ∑ i = j k ∑ i ∈ C j ( x i − m j + m j − m ) ( x i − m j + m j − m ) T = ∑ j = 1 k ∑ i ∈ C j ( x i − m j ) ( x i − m j ) T + ∑ j = 1 k ∑ i ∈ C j ( m j − m ) ( m j − m ) T + ∑ j = 1 k ∑ i ∈ C j ( x i − m j ) ( m j − m ) T + ∑ j = 1 k ( m j − m ) ∑ i ∈ C j ( x i − m j ) T (61) \begin{split}
\pmb{S}_T&=\sum_{i=j}^k\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j+\pmb{m}_j-\pmb{m})(\pmb{x}_i-\pmb{m}_j+\pmb{m}_j-\pmb{m})^\text{T}
\\&=\sum_{j=1}^k\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T}+\sum_{j=1}^k\sum_{i\in C_j}(\pmb{m}_j-\pmb{m})(\pmb{m}_j-\pmb{m})^\text{T}\\&+\sum_{j=1}^k\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{m}_j-\pmb{m})^\text{T}+\sum_{j=1}^k(\pmb{m}_j-\pmb{m})\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)^\text{T}
\end{split}\tag{61} S S T = i = j ∑ k i ∈ C j ∑ ( x x i − m m j + m m j − m m ) ( x x i − m m j + m m j − m m ) T = j = 1 ∑ k i ∈ C j ∑ ( x x i − m m j ) ( x x i − m m j ) T + j = 1 ∑ k i ∈ C j ∑ ( m m j − m m ) ( m m j − m m ) T + j = 1 ∑ k i ∈ C j ∑ ( x x i − m m j ) ( m m j − m m ) T + j = 1 ∑ k ( m m j − m m ) i ∈ C j ∑ ( x x i − m m j ) T ( 61 )
因为:
由(58)式可得:∑ j = 1 k ∑ i ∈ C j ( x i − m j ) ( x i − m j ) T = S W \sum_{j=1}^k\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T}=\pmb{S}_W ∑ j = 1 k ∑ i ∈ C j ( x x i − m m j ) ( x x i − m m j ) T = S S W
∑ j = 1 k ∑ i ∈ C j ( m j − m ) ( m j − m ) T = ∑ j = 1 k n j ( m j − m ) ( m j − m ) T \sum_{j=1}^k\sum_{i\in C_j}(\pmb{m}_j-\pmb{m})(\pmb{m}_j-\pmb{m})^\text{T}=\sum_{j=1}^kn_j(\pmb{m}_j-\pmb{m})(\pmb{m}_j-\pmb{m})^\text{T} ∑ j = 1 k ∑ i ∈ C j ( m m j − m m ) ( m m j − m m ) T = ∑ j = 1 k n j ( m m j − m m ) ( m m j − m m ) T
因为 ∑ i ∈ C j ( x i − m j ) = 0 \sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)=0 ∑ i ∈ C j ( x x i − m m j ) = 0 (每个样本与平均数的差求和,结果为 0 ),故得: ∑ j = 1 k ∑ i ∈ C j ( x i − m j ) ( m j − m ) T = ∑ j = 1 k ( m j − m ) ∑ i ∈ C j ( x i − m j ) T = 0 \sum_{j=1}^k\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)(\pmb{m}_j-\pmb{m})^\text{T}=\sum_{j=1}^k(\pmb{m}_j-\pmb{m})\sum_{i\in C_j}(\pmb{x}_i-\pmb{m}_j)^\text{T}=0 ∑ j = 1 k ∑ i ∈ C j ( x x i − m m j ) ( m m j − m m ) T = ∑ j = 1 k ( m m j − m m ) ∑ i ∈ C j ( x x i − m m j ) T = 0
所以,(61)式为:
S T = S W + ∑ j = 1 k n j ( m j − m ) ( m j − m ) T (62) \begin{split}
\pmb{S}_T &= \pmb{S}_W+\sum_{j=1}^kn_j(\pmb{m}_j-\pmb{m})(\pmb{m}_j-\pmb{m})^\text{T}
\end{split}\tag{62} S S T = S S W + j = 1 ∑ k n j ( m m j − m m ) ( m m j − m m ) T ( 62 )
令:
S B = ∑ j = 1 k n j ( m j − m ) ( m j − m ) T (63) \pmb{S}_B=\sum_{j=1}^kn_j(\pmb{m}_j-\pmb{m})(\pmb{m}_j-\pmb{m})^\text{T}\tag{63} S S B = j = 1 ∑ k n j ( m m j − m m ) ( m m j − m m ) T ( 63 )
即为多类别的类间散度矩阵 。
对于(63)式,如果 k = 2 k=2 k = 2 ,即为二类别下的类间散度矩阵:
S B 2 = n 1 ( m 1 − m ) ( m 1 − m ) T + n 2 ( m 2 − m ) ( m 2 − m ) T ∵ m 1 − m = m 1 − 1 n ( n 1 m 1 + n 2 m 2 ) = n 2 n ( m 1 − m 2 ) m 2 − m = m 2 − 1 n ( n 1 m 1 + n 2 m 2 ) = n 1 n ( m 1 − m 2 ) ∴ S B 2 = n 1 n 2 n ( m 2 − m 1 ) ( m 2 − m 1 ) T (64) \begin{split}
\pmb{S}_{B_2}&=n_1(\pmb{m}_1-\pmb{m})(\pmb{m}_1-\pmb{m})^\text{T}+n_2(\pmb{m}_2-\pmb{m})(\pmb{m}_2-\pmb{m})^\text{T}
\\
\because&\quad\pmb{m}_1-\pmb{m}=\pmb{m}_1-\frac{1}{n}(n_1\pmb{m}_1+n_2\pmb{m}_2)=\frac{n_2}{n}(\pmb{m}_1-\pmb{m}_2)
\\
&\quad\pmb{m}_2-\pmb{m}=\pmb{m}_2-\frac{1}{n}(n_1\pmb{m}_1+n_2\pmb{m}_2)=\frac{n_1}{n}(\pmb{m}_1-\pmb{m}_2)
\\
\therefore&\quad\pmb{S}_{B_2}=\frac{n_1n_2}{n}(\pmb{m}_2-\pmb{m}_1)(\pmb{m}_2-\pmb{m}_1)^\text{T}
\end{split}\tag{64} S S B 2 ∵ ∴ = n 1 ( m m 1 − m m ) ( m m 1 − m m ) T + n 2 ( m m 2 − m m ) ( m m 2 − m m ) T m m 1 − m m = m m 1 − n 1 ( n 1 m m 1 + n 2 m m 2 ) = n n 2 ( m m 1 − m m 2 ) m m 2 − m m = m m 2 − n 1 ( n 1 m m 1 + n 2 m m 2 ) = n n 1 ( m m 1 − m m 2 ) S S B 2 = n n 1 n 2 ( m m 2 − m m 1 ) ( m m 2 − m m 1 ) T ( 64 )
(64)式最终得到的二类别下的类间散度矩阵和(19)式相比,多了系数 n 1 n 2 n \frac{n_1n_2}{n} n n 1 n 2 ,因为它是常数,不会影响对 J ( w ) J(\pmb{w}) J ( w w ) 最大化求解。
4.3 多类别样本下的费雪准则
假设由 q q q 个单位向量 w 1 , ⋯ , w q \pmb{w}_1,\cdots,\pmb{w}_q w w 1 , ⋯ , w w q 作为 x x x 空间样本数据 x ∈ R d \pmb{x}\in\mathbb{R}^d x x ∈ R d 投影的超平面(直线)方向,得到:
y l = w l T x , ( l = 1 , ⋯ , q ) (65) y_l = \pmb{w}_l^\text{T}\pmb{x},\quad(l=1,\cdots,q)\tag{65} y l = w w l T x x , ( l = 1 , ⋯ , q ) ( 65 )
写成矩阵形式:
y = [ y 1 ⋮ y q ] = [ w 1 T x ⋮ w q T x ] = [ w 1 ⋯ w q ] T x = W T x (66) \pmb{y}=\begin{bmatrix}y_1\\\vdots\\y_q\end{bmatrix}=\begin{bmatrix}\pmb{w}_1^\text{T}\pmb{x}\\\vdots\\\pmb{w}_q^\text{T}\pmb{x}\end{bmatrix}=\begin{bmatrix}\pmb{w}_1&\cdots&\pmb{w}_q\end{bmatrix}^\text{T}\pmb{x}=\pmb{W}^\text{T}\pmb{x}\tag{66} y y = ⎣ ⎡ y 1 ⋮ y q ⎦ ⎤ = ⎣ ⎡ w w 1 T x x ⋮ w w q T x x ⎦ ⎤ = [ w w 1 ⋯ w w q ] T x x = W W T x x ( 66 )
其中 W = [ w 1 ⋯ w q ] \pmb{W}=\begin{bmatrix}\pmb{w}_1&\cdots&\pmb{w}_q\end{bmatrix} W W = [ w w 1 ⋯ w w q ] 是 d × q d\times q d × q 矩阵。
由此,得到了 x x x 空间的样本 x 1 , ⋯ , x n \pmb{x}_1,\cdots,\pmb{x}_n x x 1 , ⋯ , x x n 投影到 w l , ( 1 ≤ l ≤ q ) \pmb{w}_l,(1\le l\le q) w w l , ( 1 ≤ l ≤ q ) 上的投影,即得到 y y y 空间的数据 y i , ( i = 1 , ⋯ , n ) \pmb{y}_i,(i=1,\cdots,n) y y i , ( i = 1 , ⋯ , n ) :
y i = W T x i , ( i = 1 , ⋯ , n ) (67) \pmb{y}_i=\pmb{W}^\text{T}\pmb{x}_i,\quad(i=1,\cdots,n)\tag{67} y y i = W W T x x i , ( i = 1 , ⋯ , n ) ( 67 )
仿照 x x x 空间计算平均值(向量)的方法,计算 y y y 空间投影数据的平均值:
m ^ j = 1 n j ∑ i ∈ C j y i = 1 n j ∑ i ∈ C j W T x i = W T m j , ( j = 1 , ⋯ , k ) (68) \hat{\pmb{m}}_j=\frac{1}{n_j}\sum_{i\in C_j}\pmb{y}_i=\frac{1}{n_j}\sum_{i\in C_j}\pmb{W}^\text{T}\pmb{x}_i=\pmb{W}^\text{T}\pmb{m}_j, \quad(j=1,\cdots,k)\tag{68} m m ^ j = n j 1 i ∈ C j ∑ y y i = n j 1 i ∈ C j ∑ W W T x x i = W W T m m j , ( j = 1 , ⋯ , k ) ( 68 )
m ^ = 1 n ∑ j = 1 k n j m ^ j = 1 n ∑ j = 1 k n j W T m j = W T m (69) \hat{\pmb{m}}=\frac{1}{n}\sum_{j=1}^kn_j\hat{\pmb{m}}_j=\frac{1}{n}\sum_{j=1}^kn_j\pmb{W}^\text{T}\pmb{m}_j=\pmb{W}^\text{T}\pmb{m}\tag{69} m m ^ = n 1 j = 1 ∑ k n j m m ^ j = n 1 j = 1 ∑ k n j W W T m m j = W W T m m ( 69 )
从而定义 y y y 空间的类内散度矩阵和类间散度矩阵
S ^ W = ∑ j = 1 k ∑ i ∈ C j ( y i − m ^ j ) ( y i − m ^ j ) T (70) \hat{\pmb{S}}_W=\sum_{j=1}^k\sum_{i\in C_j}(\pmb{y}_i-\hat{\pmb{m}}_j)(\pmb{y}_i-\hat{\pmb{m}}_j)^\text{T}\tag{70} S S ^ W = j = 1 ∑ k i ∈ C j ∑ ( y y i − m m ^ j ) ( y y i − m m ^ j ) T ( 70 )
S ^ B = ∑ j = 1 k n j ( m ^ j − m ^ ) ( m ^ j − m ^ ) T (71) \hat{\pmb{S}}_B=\sum_{j=1}^kn_j(\hat{\pmb{m}}_j-\hat{\pmb{m}})({\hat{\pmb{m}}}_j-\hat{\pmb{m}})^\text{T}\tag{71} S S ^ B = j = 1 ∑ k n j ( m m ^ j − m m ^ ) ( m m ^ j − m m ^ ) T ( 71 )
将(67)(68)代入到(70),得到:
S ^ W = ∑ j = 1 k ∑ i ∈ C k ( W T x i − W T m j ) ( W T x i − W T m j ) T = ∑ j = 1 k ∑ i ∈ C k W T ( x i − m j ) ( x i − m j ) T W = W T S W W ( 根据( 58 )式 ) (72) \begin{split}
\hat{\pmb{S}}_W &=\sum_{j=1}^k\sum_{i\in C_k}(\pmb{W}^\text{T}\pmb{x}_i-\pmb{W}^\text{T}\pmb{m}_j)(\pmb{W}^\text{T}\pmb{x}_i-\pmb{W}^\text{T}\pmb{m}_j)^\text{T}
\\&=\sum_{j=1}^k\sum_{i\in C_k}\pmb{W}^\text{T}(\pmb{x}_i-\pmb{m}_j)(\pmb{x}_i-\pmb{m}_j)^\text{T}\pmb{W}
\\&=\pmb{W}^\text{T}\pmb{S}_W\pmb{W}\quad(根据(58)式)
\end{split}\tag{72} S S ^ W = j = 1 ∑ k i ∈ C k ∑ ( W W T x x i − W W T m m j ) ( W W T x x i − W W T m m j ) T = j = 1 ∑ k i ∈ C k ∑ W W T ( x x i − m m j ) ( x x i − m m j ) T W W = W W T S S W W W ( 根据( 58 )式 ) ( 72 )
将(68)(69)带入到(71),得到:
S ^ B = ∑ j = 1 k n j ( W T m j − W T m ) ( W T m j − W T m ) T = ∑ j = 1 k n j W T ( m j − m ) ( m j − m ) T W = W T S B W ( 根据( 63 )式 ) (73) \begin{split}
\hat{\pmb{S}}_B&=\sum_{j=1}^kn_j(\pmb{W}^\text{T}\pmb{m}_j-\pmb{W}^\text{T}\pmb{m})(\pmb{W}^\text{T}\pmb{m}_j-\pmb{W}^\text{T}\pmb{m})^\text{T}
\\&=\sum_{j=1}^kn_j\pmb{W}^\text{T}(\pmb{m}_j-\pmb{m})(\pmb{m}_j-\pmb{m})^\text{T}\pmb{W}
\\&=\pmb{W}^\text{T}\pmb{S}_B\pmb{W}\quad(根据(63)式)
\end{split}\tag{73} S S ^ B = j = 1 ∑ k n j ( W W T m m j − W W T m m ) ( W W T m m j − W W T m m ) T = j = 1 ∑ k n j W W T ( m m j − m m ) ( m m j − m m ) T W W = W W T S S B W W ( 根据( 63 )式 ) ( 73 )
由此,多类别下的费雪准则,其目标函数有两种表示方式:
第一种:用矩阵的迹表示
J 1 ( W ) = trace ( S ^ W − 1 S ^ B ) = trace ( ( W T S W W ) − 1 ( W T S B W ) ) (74) J_1(\pmb{W})=\text{trace}\left(\hat{\pmb{S}}^{-1}_W\hat{\pmb{S}}_B\right)=\text{trace}\left((\pmb{W}^\text{T}\pmb{S}_W\pmb{W})^{-1}(\pmb{W}^\text{T}\pmb{S}_B\pmb{W})\right)\tag{74} J 1 ( W W ) = trace ( S S ^ W − 1 S S ^ B ) = trace ( ( W W T S S W W W ) − 1 ( W W T S S B W W ) ) ( 74 )
第二种:用行列式表示
J 2 ( W ) = ∣ S ^ B ∣ ∣ S ^ W ∣ = ∣ W T S B W ∣ ∣ W T S W W ∣ (75) J_2(\pmb{W})=\frac{|\hat{\pmb{S}}_B|}{|\hat{\pmb{S}}_W|}=\frac{|\pmb{W}^\text{T}\pmb{S}_B\pmb{W}|}{|\pmb{W}^\text{T}\pmb{S}_W\pmb{W}|}\tag{75} J 2 ( W W ) = ∣ S S ^ W ∣ ∣ S S ^ B ∣ = ∣ W W T S S W W W ∣ ∣ W W T S S B W W ∣ ( 75 )
不论以上哪种形式,最终均可得到如下最优化条件:
S B w l = λ l S W w l , ( l = 1 , ⋯ , q ) (76) \pmb{S}_B\pmb{w}_l=\lambda_l\pmb{S}_W\pmb{w}_l,\quad(l=1,\cdots,q)\tag{76} S S B w w l = λ l S S W w w l , ( l = 1 , ⋯ , q ) ( 76 )
由上式得:S W − 1 S B w l = λ l w l \pmb{S}^{-1}_W\pmb{S}_B\pmb{w}_l=\lambda_l\pmb{w}_l S S W − 1 S S B w w l = λ l w w l 。参考(30)式之后的推导,λ l \lambda_l λ l 为广义特征值,w l \pmb{w}_l w w l 是广义特征向量。以(74)式为例,可得如下结论(详细推导过程,请见参考资料 [7] 中的推导过程)
J 1 ( W ) = λ 1 + ⋯ + λ q (77) J_1(\pmb{W})=\lambda_1+\cdots+\lambda_q\tag{77} J 1 ( W W ) = λ 1 + ⋯ + λ q ( 77 )
因特征值非负,故 q = rank ( S ^ W − 1 S ^ B ) q=\text{rank}(\hat{\pmb{S}}^{-1}_W\hat{\pmb{S}}_B) q = rank ( S S ^ W − 1 S S ^ B ) 。
又因为 m ^ \hat{\pmb{m}} m m ^ 是 m ^ 1 , ⋯ , m ^ k \hat{\pmb{m}}_1,\cdots,\hat{\pmb{m}}_k m m ^ 1 , ⋯ , m m ^ k 的线性组合,故:
rank ( S ^ W − 1 S ^ B ) = rank ( S ^ B ) = dim span { m ^ 1 − m ^ , ⋯ , m ^ k − m ^ } ≤ k − 1 (78) \text{rank}(\hat{\pmb{S}}^{-1}_W\hat{\pmb{S}}_B)=\text{rank}(\hat{\pmb{S}}_B)=\text{dim}\text{ span}\{\hat{\pmb{m}}_1-\hat{\pmb{m}},\cdots,\hat{\pmb{m}}_k-\hat{\pmb{m}}\}\le k-1\tag{78} rank ( S S ^ W − 1 S S ^ B ) = rank ( S S ^ B ) = dim span { m m ^ 1 − m m ^ , ⋯ , m m ^ k − m m ^ } ≤ k − 1 ( 78 )
故 q ≤ k − 1 q\le k-1 q ≤ k − 1 。
给定包含 k ≥ 2 k\ge2 k ≥ 2 个类别的样本,多类别判别分析所能产生有效线性特征总数最多是 k − 1 k-1 k − 1 ,即降维的最大特征数。
参考资料
[1]. 周志华. 机器学习. 北京:清华大学出版社
[2]. 齐伟. 机器学习数学基础. 北京:电子工业出版社
[3]. 拉格朗日乘数法
[4]. 广义特征值与极小极大原理 。以下为此参考文献部分内容摘抄:
1、定义:设 A \pmb{A} A A 、B \pmb{B} B B 为 n n n 阶方阵,若存在数 λ \lambda λ ,使得方程 A x = λ B x \pmb{Ax}=\lambda\pmb{Bx} A x A x = λ B x B x 存在
非零解,则称 λ \lambda λ 为 A \pmb{A} A A 相对于 B \pmb{B} B B 的广义特征值,x \pmb{x} x x 为 A \pmb{A} A A 相对于 B \pmb{B} B B 的属于
广义特征值 λ \lambda λ 的特征向量。
当 B = I \pmb{B}=\pmb{I} B B = I I (单位矩阵)时,广义特征值问题退化为标准特征值问题。
特征向量是非零的
广义特征值的求解
( A − λ B ) x = 0 (\pmb{A}-\lambda\pmb{B})\pmb{x}=\pmb{0} ( A A − λ B B ) x x = 0 0 或者 ( λ B − A ) x = 0 ( \lambda\pmb{B}-\pmb{A})\pmb{x}=\pmb{0} ( λ B B − A A ) x x = 0 0
特征方程:det ( A − λ B ) = 0 \text{det}(\pmb{A}-\lambda\pmb{B})=0 det ( A A − λ B B ) = 0
求得 λ \lambda λ 后代回原方程 A x = λ B x \pmb{Ax}=\lambda\pmb{Bx} A x A x = λ B x B x 可求出 x \pmb{x} x x
2、等价表述
B \pmb{B} B B 正定,且可逆,即 B − 1 \pmb{B}^{-1} B B − 1 存在,则:B − 1 A x = λ x \pmb{B}^{-1}\pmb{Ax}=\lambda\pmb{x} B B − 1 A x A x = λ x x ,广义特征值问题化为了标准特征值问题。
3、广义瑞丽商
若 A \pmb{A} A A 、B \pmb{B} B B 为 n n n 阶厄米矩阵(Hermitian matrix,或译为“艾米尔特矩阵”、“厄米特矩阵”等),且 B \pmb{B} B B 正定,则:
R ( x ) = x H A x x H B x , ( x ≠ 0 ) R(\pmb{x})=\frac{\pmb{x}^\text{H}\pmb{Ax}}{\pmb{x}^\text{H}\pmb{Bx}},(\pmb{x}\ne0) R ( x x ) = x x H B x B x x x H A x A x , ( x x = 0 ) 为 A \pmb{A} A A 相对于 B \pmb{B} B B 的瑞丽商。
[5]. 谢文睿,秦州. 机器学习公式详解. 北京:人民邮电出版社
[6]. 线代启示录:费雪的判别分析与线性判别分析
本文由mdnice 多平台发布