Natknąłem się na scenariusz, w którym mam 10 sygnałów / osobę na 10 osób (czyli 100 próbek) zawierających 14000 punktów danych (wymiarów), które muszę przekazać klasyfikatorowi. Chciałbym zmniejszyć wymiarowość tych danych, a PCA wydaje się być na to dobrym sposobem. Jednak udało mi się znaleźć tylko przykłady PCA, w których liczba próbek jest większa niż liczba wymiarów. Korzystam z aplikacji PCA, która wyszukuje komputery za pomocą SVD. Gdy go przekazuję, zestaw danych 100x14000 zwraca 101 komputerów, więc zdecydowana większość wymiarów jest oczywiście ignorowana. Program wskazuje, że pierwsze 6 komputerów zawiera 90% wariancji.
Czy uzasadnione jest założenie, że te 101 komputerów zawiera zasadniczo całą wariancję, a pozostałe wymiary są pomijalne?
W jednym z artykułów, które czytałem, twierdzi się, że przy użyciu podobnego (choć nieco niższej jakości) zestawu danych niż mój własny, udało się zmniejszyć 4500 wymiarów do 80, zachowując 96% oryginalnej informacji. Papierowe falowanie nad szczegółami zastosowanej techniki PCA, dostępnych było tylko 3100 próbek, i mam powód, by sądzić, że mniej próbek zostało wykorzystanych do faktycznego wykonania PCA (w celu usunięcia błędu systematycznego z fazy klasyfikacji).
Czy czegoś brakuje? Wszelkie opinie będą mile widziane.
źródło
Odpowiedzi:
Spojrzałbym na problem z nieco innej perspektywy: na jak skomplikowany model możesz sobie pozwolić przy zaledwie 10 osobach / 100 próbkach?
I na to pytanie zwykle odpowiadam: znacznie mniej niż 100 komputerów. Zauważ, że pracuję na innym typie danych (widma wibracyjne), więc rzeczy mogą się nieco różnić. W mojej dziedzinie powszechna konfiguracja polegałaby na użyciu 10, 25 lub 50 komputerów obliczonych na podstawie widm O (1000) O (10) pacjentów.
Oto co bym zrobił:
Spójrz na wariancję pokrytą przez te 100 komputerów. Zazwyczaj stwierdzam, że tylko kilka składników naprawdę przyczynia się do rozbieżności w naszych danych.
Bardzo wolę PLS jako obróbkę wstępną do klasyfikacji niż PCA, ponieważ wykonuje znacznie lepszą pracę w sortowaniu kierunków, które mają dużą zmienność, która nie pomaga w klasyfikacji (w moim przypadku mogą to być zmienne ogniskowe, różna grubość próbki,. ..). Z mojego doświadczenia wynika, że często otrzymuję podobne klasyfikatory z 10 ukrytymi zmiennymi PLS lub 25 do 50 komputerów.
Próbki walidacyjne muszą być przetwarzane z rotacją PCA obliczoną tylko z zestawu szkoleniowego, w przeciwnym razie walidacja może (aw tak ekstremalnych przypadkach, jak twoja najprawdopodobniej) mieć dużą nadmierną optymizm.
Innymi słowy, jeśli przeprowadzasz walidację poza bootowaniem lub cross-validation, wstępne przetwarzanie PCA lub PLS musi zostać obliczone osobno dla każdej kombinacji pociągu / zestawu testowego.
źródło
Jeśli jest liczbą punktów, a jest liczbą wymiarów, a to liczba głównych składników o niezerowej wariancji nie może przekraczać (podczas wykonywania PCA na surowych danych) lub (podczas wykonywania PCA na wyśrodkowane dane - jak zwykle).p n ≤ p n n - 1n p n ≤ p n n - 1
źródło
Patrząc na to z innej perspektywy:
źródło