Czy można używać analizy głównych składników jądra (kPCA) do latentnego indeksowania semantycznego (LSI) w taki sam sposób, jak w przypadku PCA?
Wykonuję LSI in R za pomocą prcomp
funkcji PCA i wydobywam cechy z najwyższymi obciążeniami od pierwszegoskładniki. Dzięki temu uzyskuję funkcje najlepiej opisujące komponent.
Próbowałem użyć kpca
funkcji (z kernlib
pakietu), ale nie mogę zobaczyć, jak uzyskać dostęp do wag funkcji do głównego komponentu. Czy jest to ogólnie możliwe przy użyciu metod jądra?
r
pca
feature-selection
kernel-trick
user3683
źródło
źródło
Odpowiedzi:
Myślę, że odpowiedź na twoje pytanie jest przecząca: nie jest to możliwe.
Do wyboru funkcji można użyć standardowego PCA, ponieważ każdy główny składnik jest liniową kombinacją oryginalnych elementów, dzięki czemu można zobaczyć, które oryginalne elementy najbardziej przyczyniają się do najbardziej widocznych głównych elementów, patrz np. Tutaj: Korzystanie z analizy głównego składnika (PCA) dla wybór funkcji .
Ale w PCA jądra każdy główny składnik jest liniową kombinacją cech w przestrzeni docelowej , a dla np. Jądra Gaussa (często używanego) przestrzeń docelowa jest nieskończona. Tak więc koncepcja „obciążeń” nie ma tak naprawdę sensu dla kPCA, a w rzeczywistości główne składniki jądra są obliczane bezpośrednio, pomijając obliczenia głównych osi (które dla standardowego PCA są podane w R przez
prcomp$rotation
) całkowicie, dzięki tak zwanemu sztuczka jądra . Zobacz np. Tutaj: Czy jądro PCA z liniowym jądrem jest równoważne standardowemu PCA? po więcej szczegółów.Więc nie, nie jest to możliwe. Przynajmniej nie ma łatwego sposobu.
źródło
Poniższy przykład (zaczerpnięty z podręcznika kernlab) pokazuje, jak uzyskać dostęp do różnych komponentów PCA jądra:
Czy to odpowiada na twoje pytanie?
źródło