Estou lutando com pontos de projeção na análise discriminante linear (LDA). Muitos livros sobre métodos estatísticos multivariados ilustram a idéia do LDA com a figura abaixo.
A descrição do problema é a seguinte. Primeiro, precisamos traçar o limite da decisão, adicionar uma linha perpendicular e, em seguida, plotar as projeções dos pontos de dados. Gostaria de saber como adicionar pontos de projeção à linha perpendicular.
Alguma sugestão / sugestões?
Respostas:
O eixo discriminante (aquele no qual os pontos são projetados em sua Figura 1) é dado pelo primeiro vetor próprio . No caso de apenas duas classes, esse vetor próprio é proporcional a , onde são centróides de classe. Normalize esse vetor (ou o vetor próprio obtido) para obter o vetor do eixo unitário . Isso é suficiente para desenhar o eixo.W - 1 ( m 1 - m 2 ) m i vW- 1B W- 1( m1- m2) mEu v
Para projetar os pontos (centralizados) nesse eixo, basta calcular . Aqui é um projetor linear para .v v ⊤ vX v v⊤ v v⊤ v
Aqui está a amostra de dados da sua caixa de depósito e a projeção do LDA:
Aqui está o código MATLAB para produzir esta figura (conforme solicitado):
fonte
E "minha" solução. Muito obrigado a @ttnphns e @amoeba!
fonte
x
,intercept
eslope
?