안녕하세요 저는 LDA (Linear Discriminant Analysis)를 사용하고있는 얼굴 인식과 관련된 프로젝트를 진행하고 있습니다. LDA는 클래스 분산 매트릭스와 클래스 분산 매트릭스 사이의 일반화 된 고유 벡터를 찾아야하며, 그것은 내가 맞은 곳입니다. 나는 코딩을 위해 DevC++와 opencv를 사용하고있다. 기본적으로 문제가 A와 B가 고유 벡터를 일반화하는 행렬을 찾을 수 있어야하는OpenCV의 두 행렬에 대한 일반화 된 고유 값
A*v=lambda*B*v
처럼 보이는 람다는 고유 값이며, V는 많은 사람들이 갈 제안이 문제에 대해 검색하면 벡터
입니다 B의 역수를 계산 한 다음 A * v와 곱하는 것.
(inv(B)*A)*v=lambda*v
그런 다음 inv (B) * A에 대한 고유 벡터를 계산합니다.
좋은 해결책 인 것처럼 보이지만 제 경우에는 산란 행렬 B가 거의 사색입니다. 나는 그 결정자가 10^-36의 순서로 있다는 것을 알았습니다. 그래서 나는 그 역행렬을 발견하지 못하고 위의 해법을 계속 진행합니다. 그래서 어떤 사람들은 일반화 된 고유 값 문제를 별도로 코딩하는 것 외에는이 문제를 해결할 수있는 방법을 제안 할 수 있습니까?