这实现了在华宇和杨洁《一种针对高维数据的直接LDA算法—— 应用于人脸识别” 阅读。 它很短。
基本上我们这里有 LDA(线性判别分析),直接 LDA,它可以做 LDA 但更好(基本上当你的类内散布矩阵 Sw 是奇异的时,它不会丢弃 Sw 的零空间,它包含大部分判别信息)和 PCA+LDA,它对数据进行 PCA,然后对降维数据进行 LDA。
这里还有一个使用特征分解的 PCA(主成分分析)和另一个使用 SVD 的实现。
输入
X : nt xn 其中 nt 个大小为 n 的特征向量示例y : 类别标签大小为 nt 的向量例如: X = [2 3 4 2; 8 2 3 4; 3 9 2 3; 8 4 2 3; 9 9 2 8]; y = [3; 2; 4; 3; 2]; k :我们最终想要的特征数量
方法:pcalda 或 directlda 如果method = directlda
2021-06-26 09:16:25
6KB
matlab
1