0%

线性判别分析

ReindeerNorway_ZH-CN5913190372_1920x1080.jpg

线性判别分析(LDA)是一种有监督的数据降维方法。

图解

投影后类内方差最小,类间方差最大。
pic

伪代码

LDA算法
输入:$D={(x_1,y_1), (x_2,y_2), …,((x_m,y_m))}, x_i \in R^n, y_i \in {C_1,C_2,…,C_k} $
输出:$D, x_i \in R^d, y_i \in {C_1,C_2,…,C_k}$
1.计算类内散度矩阵$S_w = \sum\limits_{i=1}^{k}S_{w_i} = \sum\limits_{i=1}^{k}\sum\limits_{x \in X_i}(x-\mu_i)(x-\mu_i)^T$
2.计算类间散度矩阵$S_b = \sum\limits_{i=1}^{k}m_i(\mu_i-\mu)(\mu_i-\mu)^T,m_i$表示第$i$类示例数
3.计算$S_w^{-1}S_b$
4.计算$S_w^{-1}S_b$最大的$d$个特征值和对应的特征向量$(w_1,w_2,…,w_d)$,得到投影矩阵$W$
5.对样本集中的每一个样本特征$x_i$,转化为新的样本$z_i=W^Tx_i$
6.得到输出样本集$D’={(z_1,y_1), (z_2,y_2), …,((z_m,y_m))}$

参考资料

  1. 线性判别分析LDA原理总结
  2. Linear Discriminant Analysis