首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》5.2.2 在新特征子空间上选取线性判别算法

关灯直达底部

LDA余下的步骤与PCA的步骤相似。不过,这里我们不对协方差矩阵做特征分解,而是求解矩阵的广义特征值:

在求得了特征对之后,我们按照降序对特征值进行排序:

熟悉线性代数的读者应该知道:d×d维协方差矩阵的秩最大为d-1,而且确实可以发现,我们只得到了两个非零特征值(实际得到的第3~13个特征值并非完全为零,而是趋近于0的实数,这个结果是由NumPy浮点运算导致的)。请注意,在极少的情况下可达到完美的共线性(所有样本的点落在一条直线上),这时协方差矩阵的秩为1,将导致矩阵只有一个含非零特征值的特征向量。

为了度量线性判别(特征向量)可以获取多少可区分类别的信息,与前面PCA小节中对累计方差的绘制类似,我们按照特征值降序绘制出特征对线性判别信息保持程度的图像。为了简便起见,我们在此使用了判定类别区分能力的相关信息discriminability。

从结果图像中可以看到,前两个线性判别几乎获取到了葡萄酒训练数据集中全部有用信息:

下面我们叠加这两个判别能力最强的特征向量列来构建转换矩阵W: