如何在MatLab中使用投影线性判别分析?

如何在MatLab中使用投影线性判别分析?,matlab,dimensionality-reduction,Matlab,Dimensionality Reduction,是否可以使用LDA将多维数据投影到二维地图?看来Matlab提供的工具并没有提供这样的功能 谢谢你的回复。我的数据现在有6个类,这是否意味着如果我有6个类,我只能将其减少到5个维度?或者可以用PCA的类似方法来实现,PCA取前2个特征值,并将这2个特征值用于投影?PCA作为一种无监督的方法不能很好地解决我的问题,所以我想知道LDA是否有帮助 严格来说,LDA并不是真正用于降维,尤其是在所有数据都属于一个类的情况下。它的意思是提出一个单一的线性投影,这是两类之间最有区别的。因此,使用LDA并没有真

是否可以使用LDA将多维数据投影到二维地图?看来Matlab提供的工具并没有提供这样的功能


谢谢你的回复。我的数据现在有6个类,这是否意味着如果我有6个类,我只能将其减少到5个维度?或者可以用PCA的类似方法来实现,PCA取前2个特征值,并将这2个特征值用于投影?PCA作为一种无监督的方法不能很好地解决我的问题,所以我想知道LDA是否有帮助

严格来说,LDA并不是真正用于降维,尤其是在所有数据都属于一个类的情况下。它的意思是提出一个单一的线性投影,这是两类之间最有区别的。因此,使用LDA并没有真正自然的方法来实现这一点

如果您的数据都属于同一类,那么您可能更感兴趣,这将为您提供按重要性排序的数据的最重要方向。还有其他方法(如EMS在评论中提到的)或

作为旁注,如果您知道您有多类数据,LDA可以帮助您降低维度。如果您有
k
-类数据,它可以帮助您将维度降低到
k-1
维度,但您没有提到这种情况


编辑:@EMS有助于澄清此答案。

一旦您从某组训练数据计算出最佳投影,您就可以将该投影应用于任何新收集的数据,以降低其维度。我不知道它的泛化特性是什么,但它肯定是一个有效的降维方案(虽然可能不准确)。当然,单个线性分量就是这样一个维度,但我不知道LDA的泛化会产生多个维度(我已经看过了),这就是我的第一句话,真令人惊讶。该表列出了LDA的最初应用中的降维,特别是多类LDA是通过N维数据空间找到一个(k-1)维子空间,该子空间最好地分隔了k个不同的类。LDA直接推广到通过N维数据寻找k维平面,其中k