Fisher判别分析
首先我们得搞清楚什么是Fisher算法?选取任何一本模式识别与智能计算的书都有这方面的讲解。首先得知道Fisher线性判别函数,在处理数据的时候,我们经常遇到高维数据,这个时候往往就会遇到“维数灾难”的问题,即在低维空间可行,那么在高维空间往往却不可行,那么此时我们就可以降数据降维,将高维空间降到低维空间。
可以考虑把维空间的样本投影到一条直线上,形成一维空间,即把数据压缩到一维,这在数学中总是容易办到的。然而,即使样本在维空间里形成若干紧凑的互相分的开的集群,若把它们投影到一条任意的直线上,也可能使几类样本混在一起而变得无法识别。但在一般的情况下,总可以找到某个方向,使在这个方向的直线上,样本的投影能分开最好。
下面以2分类为例简单总结一下Fisher算法的步骤:
(1)计算各类样本的均值向量
m
i
,
N
i
是类
ω
i
的样本个数
m
i
=
1
N
i
∑
X
∈
ω
i
X
i
=
1
,
2
(2)计算样本类内离散度矩阵
S
i
和总类内离散度矩阵
S
w
。
S
i
=
∑
X
∈
ω
i
(
X
−
m
i
)
(
X
−
m
i
)
T
,
i
=
1
,
2
S