0
$\begingroup$

I am trying to implement Linear Discriminant Analysis. I have 2 questions.

A)Can I directly use the matrix with eigen vectors of the product of between scatter matrix inverse and within scatter matrix ( $Sb^{-1} Sw$) as the transformation matrix?

B)Does scaling of eigen vectors by different values affect the LDA output? When I found the eigen values of $Sb^{-1} Sw$ through C programming, the eigen values are the same as what i get by using eig function in Matlab, but the eigen vectors are scaled by different scalars.(Different eigenvectors are scaled by different scalars)

Could some please share their idea on these?

$\endgroup$

1 Answer 1

0
$\begingroup$

b) Eigenvectors in MATLAB should be normalized to have Euclidean length 1. I'm surprised the same is not true in C. If $\textbf{x}$ is an eigenvector associated with eigenvalue $\lambda$ then so is $c\textbf{x}$ for any constant $c$. This is why it is convention to normalize them, but still its common for the result given by different languages/algorithms to differ by sign (-1).

The scaling of eigenvectors should not matter because you are only interested in their direction, not their length.

a) This should totally be possible. I am actually in search of the same outcome - did you ever figure it out? I understand all the different descriptions of what LDA means statistically, but until I actually code the projection onto Eigenvectors and see the same result that a program gives me, I will not understand the procedural aspect, which is my main goal.

If you have MATLAB code to get started, it would be appreciated!

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .