2012-04-30 2 views
1

LDA를 사용하여 2D 맵에 다차원 데이터를 투영 할 수 있습니까? Matlab이 제공하는 도구는 그러한 기능을 제공하지 않는 것 같습니다 ...선형 판별 분석을 사용하여 MatLab에서 투영하는 방법은 무엇입니까?

답장을 보내 주셔서 감사합니다. 내 데이터에는 현재 6 개의 클래스가 있으므로 6 개의 클래스가있는 경우 5 개의 차원으로 만 줄일 수 있습니다. 또는 상위 2 개의 고유 값을 취하는 PCA와 유사한 방식으로 수행 할 수 있으며 투영에이 2를 사용합니까? PCA는 감독 당하지 않는 접근 방식으로 내 문제를 해결하지 못하므로 LDA가 도움이 될지 궁금합니다.

답변

3

LDA는 엄밀히 말하자면 모든 데이터가 하나의 클래스에 속하는 경우 특히 중요하지 않습니다. 이것은 두 클래스 사이에서 가장 차별화 된 하나의 선형 투영법을 제안합니다. 따라서 LDA를 사용하여 자연스럽게 수행 할 수있는 방법은 없습니다.

데이터가 모두 동일한 클래스에 속하면 PCA (Principcal Component Analysis)에 더 많은 관심을 가질 수 있습니다. 중요도 순으로 데이터의 가장 중요한 지침을 제공합니다. 다른 방법은 like ISOMAP (의견에 EMS에서 언급 한대로) 또는 self-organizing maps으로 존재합니다.

다중 등급 데이터가 있다는 것을 알고 있으면 LDA를 사용하여 차원을 줄일 수 있습니다. k - 클래스 데이터가있는 경우 차원을 k-1 차원까지 줄이는데 도움이되지만이 경우는 언급하지 않았습니다.

EDIT :이 답변을 명확히하기 위해 @EMS로 이동합니다.

+1

일부 학습 데이터 집합에서 최상의 투영법을 계산하면 해당 투영법을 새로 수집 한 데이터에 적용하여 차원을 줄일 수 있습니다. 나는 이것의 일반화 속성이 무엇인지는 알지 못하지만 확실히 틀린 것은 아니지만 (아마도 부정확 할지라도) 확실히 유효한 차원 감소 계획이다. – ely

+0

물론 그 단일 선형 구성 요소는 하나의 차원이 될 것입니다. 그러나 나는 둘 이상의 LDA에 대한 일반화를 알지 못합니다. 그래서 저는 첫 번째 문장을 보았습니다. –

+0

놀랍습니다. [Wikipedia article] (http://en.wikipedia.org/wiki/Linear_discriminant_analysis)은 LDA의 첫 번째 응용 프로그램 사이의 차원 감소를 나열하며, 특히 다중 클래스 LDA는 다음과 같이 설명됩니다 (http : // en. wikipedia.org/wiki/Linear_discriminant_analysis#Multiclass_LDA)는 k 개의 다른 클래스를 분리하는 N 차원 데이터 공간을 통해 (k-1) 차원 부분 공간을 찾습니다. LDA는 N 차원 데이터 (k ely

관련 문제