Pracuję nad niektórymi technikami grupowania, w których dla danej grupy wektorów wymiaru d zakładam wielowymiarowy rozkład normalny i obliczam przykładowy średni wektor d-wymiarowy i macierz kowariancji próbki.
Potem, gdy stara się zdecydować, czy nowy, niewidzialny, d-wymiarowy wektor należy do tego klastra ja sprawdzając jego odległość za pośrednictwem tego środka:
Który wymaga ode mnie, aby obliczyć odwrotność macierzy kowariancji σ X . Ale biorąc pod uwagę niektóre próbki, nie mogę zagwarantować, że macierz kowariancji będzie odwracalna, co mam zrobić, jeśli tak nie jest?
Dzięki
Odpowiedzi:
Jeśli wymiar próbek jest mniejszy niż wymiar przestrzeni wektorowej, mogą powstać macierze osobliwe. Jeśli masz mniej próbek niż (gdy d jest twoją wymiarowością), taka sytuacja koniecznie się pojawi: k + 1 próbek obejmuje co najwyżej d płaszczyznę wymiaru. Biorąc pod uwagę tak małą próbkę, oczywiście nie można obliczyć wariancji w przestrzeni ortogonalnej.re+ 1 re k + 1 re
Dlatego często nie używa się dosłownego PCA, lecz zamiast tego wykonuje dekompozycję wartości pojedynczej , której można użyć do obliczenia pseudo - odwrotności macierzy. Jeśli macierz jest odwracalna, pseudoinwersja będzie odwrotnością.
Jeśli jednak widzisz macierze nieodwracalne, istnieje prawdopodobieństwo, że odległość od gromady będzie bez znaczenia, jeśli wektor znajduje się poza hiperpłaszczyzną, gromada powtarza, ponieważ nie znasz wariancji w przestrzeni ortogonalnej (możesz pomyśleć o ta wariancja jako 0!) SVD może obliczyć pseudoinwersję, ale „wariancje” nadal nie będą determinowane przez twoje dane.
Ponadto, w zależności od sposobu obliczenia macierzy kowariancji, możesz napotykać problemy numeryczne z powodu katastrofalnego anulowania. Najprostszym obejściem jest zawsze najpierw wyśrodkować dane, aby uzyskać średnią zero.
źródło