fisher线性判别分析原理
时间: 2023-11-21 21:30:10 浏览: 114
fisher_sonar.zip_Fisher线性判别_fisher_fisher判别_sonar_线性判别
Fisher线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的监督学习算法,旨在将样本数据分成不同的类别。它的主要目标是通过找到一个投影方式,将高维数据投影到低维空间中,使得不同类别之间的距离尽可能大,同一类别内部的距离尽可能小。
其基本原理如下:
1. 计算类内散度矩阵Sw和类间散度矩阵Sb。
类内散度矩阵Sw表示每个类别内部数据的离散程度,而类间散度矩阵Sb表示不同类别之间的差异性大小。具体计算方法如下:
$$Sw=\sum_{i=1}^c\sum_{x\in D_i}(x-\mu_i)(x-\mu_i)^T$$
$$Sb=\sum_{i=1}^cn_i(\mu_i - \mu)(\mu_i - \mu)^T$$
其中,c为类别数,D为数据集,n为每个类别的样本数量,$\mu_i$为第i个类别的样本均值,$\mu$为所有样本的均值。
2. 计算最优投影方向。
最优投影方向是指,将数据映射到低维空间后,使得不同类别之间的距离尽可能大,同一类别内部的距离尽可能小。求解最优投影方向的方法是,将类内散度矩阵Sw的逆矩阵与类间散度矩阵Sb相乘,然后对得到的矩阵进行特征值分解,选取最大的k个特征值对应的特征向量作为最优投影方向。
3. 将数据映射到最优投影方向上。
最后,将数据集投影到最优投影方向上,即可得到降维后的数据。
Fisher线性判别分析常用于图像分类、人脸识别、文本分类等领域,它的优点是可以降低维度、提高分类准确率。
阅读全文