本文将记录有关LDA线性判别分析的内容。
广义瑞利商
定义瑞丽商函数
f
(
x
)
=
x
T
A
x
x
T
x
f(x) = \frac{x^TAx}{x^Tx}
f(x)=xTxxTAx
其中A矩阵的共轭转置矩阵和自己相等及
A
H
=
A
A^H=A
AH=A,如果A矩阵为实数矩阵的话,那么
A
T
=
A
A^T=A
AT=A,广义瑞利商的最大值和最小值在矩阵A的最大最小特征值之间:
λ
m
i
n
≤
x
T
A
x
x
T
x
≤
λ
m
a
x
\lambda_{min}\le\frac{x^TAx}{x^Tx}\le\lambda_{max}
λmin≤xTxxTAx≤λmax
广义瑞利商函数定义为:
g
(
x
)
=
x
T
A
x
x
T
B
x
g(x)=\frac{x^TAx}{x^TBx}
g(x)=xTBxxTAx,计算该函数的最值用到变量替换
x
=
B
−
1
/
2
x
′
x=B^{-1/2}x'
x=B−1/2x′,带入该函数中可得:
g
(
x
′
)
=
x
′
T
B
−
1
/
2
T
A
B
−
1
/
2
x
′
x
′
T
B
−
1
/
2
T
B
B
−
1
/
2
x
′
g
(
x
′
)
=
x
′
T
B
−
1
/
2
T
A
B
−
1
/
2
x
′
x
′
T
x
′
g(x')=\frac{x'^TB^{-1/2T}AB^{-1/2}x'}{x'^TB^{-1/2T}BB^{-1/2}x'}\\ g(x')=\frac{x'^TB^{-1/2T}AB^{-1/2}x'}{x'^Tx'}
g(x′)=x′TB−1/2TBB−1/2x′x′TB−1/2TAB−1/2x′g(x′)=x′Tx′x′TB−1/2TAB−1/2x′
则广义瑞利商的最大值最小值可以通过求解分子的矩阵的最大最小特征值得到。
线性判别分析
在有监督的数据集的降维是将数据映射到一个低维度的空间中,降维的原则采用降维之后的最大方差原则即降维之后的原类别之间的距离足够大,每个类别之内的距离足够小。
数据集
D
=
{
(
x
1
,
y
1
)
(
x
N
,
y
N
)
}
  
y
i
∈
(
0
,
1
)
D=\{(x_1,y_1)(x_N,y_N)\}\;y_i\in(0,1)
D={(x1,y1)(xN,yN)}yi∈(0,1),定义
X
0
X^0
X0为所有标签为0的样本数据集,同样定义
X
1
X^1
X1,定义需要投影的基向量为W,定义
u
0
u^0
u0为标签为0的样本数据集的均值,同样定义
u
1
u^1
u1,则我们的优化函数为
arg
max
  
J
=
w
T
(
u
1
−
u
0
)
(
u
1
−
u
0
)
T
w
w
T
{
∑
x
∈
X
0
(
x
−
u
0
)
2
+
∑
x
∈
X
1
(
x
−
u
1
)
2
}
w
\arg\max\;J=\frac{w^T(u^1-u^0)(u^1-u^0)^Tw}{w^T\{\sum_{x\in X^0}(x-u^0)^2+\sum_{x\in X^1}(x-u^1)^2\}w}
argmaxJ=wT{∑x∈X0(x−u0)2+∑x∈X1(x−u1)2}wwT(u1−u0)(u1−u0)Tw
定义统一类内散度矩阵为
B
=
∑
x
∈
X
0
(
x
−
u
0
)
2
+
∑
x
∈
X
1
(
x
−
u
1
)
2
B = \sum_{x\in X^0}(x-u^0)^2+\sum_{x\in X^1}(x-u^1)^2
B=x∈X0∑(x−u0)2+x∈X1∑(x−u1)2
类间散度矩阵
A
=
(
u
0
−
u
1
)
2
A = (u^0-u^1)^2
A=(u0−u1)2
则优化函数可以表示为
arg
max
  
J
=
w
T
A
w
w
T
B
w
\arg\max\;J=\frac{w^TAw}{w^TBw}
argmaxJ=wTBwwTAw
则可以用广义瑞丽商求解特征值最大的所对应的向量即是所求。
多类别LDA降维
对于数据集有K个类别,则分别计算AB矩阵
A
=
∑
i
k
(
u
−
u
i
)
(
u
−
u
i
)
T
B
=
∑
i
k
∑
x
∈
X
i
(
x
−
u
i
)
(
x
−
u
i
)
T
A=\sum_i^k(u-u^i)(u-u^i)^T\\ B=\sum_i^k\sum_{x \in X^i}(x-u^i)(x-u^i)^T
A=i∑k(u−ui)(u−ui)TB=i∑kx∈Xi∑(x−ui)(x−ui)T
则优化函数表示为
arg
max
J
=
∏
d
i
a
g
w
T
A
w
w
T
B
w
\arg\max J=\prod\limits_{diag}\frac{w^TAw}{w^TBw}
argmaxJ=diag∏wTBwwTAw
其中
∏
d
i
a
g
\prod\limits_{diag}
diag∏为矩阵的对称轴上的数字相乘
LDA和PCA
LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。
首先我们看看相同点:
1)两者均可以对数据进行降维。
2)两者在降维时均使用了矩阵特征分解的思想。
3)两者都假设数据符合高斯分布。
我们接着看看不同点:
1)LDA是有监督的降维方法,而PCA是无监督的降维方法
2)LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。
3)LDA除了可以用于降维,还可以用于分类。
4)LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。