高维数据降维之线性判别分析 LDA

高维数据降维是指采用某种映射方法,降低随机变量的数量,例如将数据点从高维空间映射到低维空间中,从而实现维度减少。

降维分为:特征选择 和 特征提取
特征选择:是从含有冗余信息以及噪声信息的数据中找出主要变量;
特征提取:是去掉原来的数据,生成新的变量,可以寻找数据内部的本质结构特征。

降维的过程是通过对输入的原始数据特征进行学习,得到一个映射函数,实现将输入样本映射后到低维空间中之后,原始数据特征并没有明显的损失,通常情况下新空间的维度要小于原空间的维度。目前大部分降维算法是处理向量形式的数据。

线性判别分析 LDA

线性判别分析(LDA) 是一种有监督的线性降维算法。与 PCA 不同,LDA 是为了使降维后的数据点尽可能容易地被区分

线性判别分析在训练过程中,通过将训练样本投影到低纬度上,使得同类别地投影点尽可能接近,异类别样本地投影点尽可能远离,即同类点地方差尽可能小,而类之间地方差尽可能大;对新样本,将其投影到低纬空间,根据投影点的位置来确定其类别。

PCA 主要是从特征的协方差角度,去找到比较好的投影方式。

LDA 更多地考虑了标注,即希望投影后不同类别之间地数据点地距离更大,同一类别地数据点更紧凑。

计算每一项观测结果地判别分值,对其所处地目标变量所属类别进行判断。这些分值是通过寻找自变量地线性组合得到的。假设每类中的观测结果来自于一个多变量高斯分布,而观测变量的协方差在响应变量 y 的所有 k 级别都是通用的。

LDA 的降维过程:

(1) 计算数据集中每个类别下所有的样本的均值向量;

(2) 通过均值向量,计算类间散步矩阵 lda降纬没有标签可以吗_python 和类内散布矩阵 lda降纬没有标签可以吗_算法_02

(3) 依据公式 lda降纬没有标签可以吗_算法_03进行特征值求解,计算 lda降纬没有标签可以吗_数据_04的特征向量和特征值;

(4) 按照特征值排序,选择前 lda降纬没有标签可以吗_算法_05 个特征向量构成投影矩阵 lda降纬没有标签可以吗_数据_06

(5) 通过 lda降纬没有标签可以吗_算法_07

LDA 在求解过程中需要类内散度矩阵 lda降纬没有标签可以吗_算法_02 和类间散度矩阵 lda降纬没有标签可以吗_python ,其中 lda降纬没有标签可以吗_算法_02 由两类扩展得到,而 lda降纬没有标签可以吗_python 的定义则与两类有所不同,是由每类的均值和总体均值的乘积矩阵求和得到的。目标是求得一个矩阵 lda降纬没有标签可以吗_数据_06 使得投影后类内散度尽量小,而类间散度尽量大。在多类情况下,散度表示为一个矩阵。一般情况下,LDA 之前会做一次 PCA ,保证 lda降纬没有标签可以吗_算法_02

PCA 降维是直接与数据维度相关的,例如原始数据是 lda降纬没有标签可以吗_lda降纬没有标签可以吗_14 维,那么在使用了 PCA 后,可以任意选择最佳的 lda降纬没有标签可以吗_python_15 维。 LDA 降维是与类别个数相关的,与数据本身的维度没有关系,例如原始数据是 lda降纬没有标签可以吗_lda降纬没有标签可以吗_14 维,一共有 lda降纬没有标签可以吗_数据_17 个类别,那么 LDA 降维之后,可选的一般不超过 lda降纬没有标签可以吗_python_18

例如:假设图像分类,有两个类别为正例和反例,每个图像有 1024 维特征,那么 LDA 降维之后,就只有 1 维特征,而 PCA 可以选择降到 100 维。