Chcę zaimplementować algorytm w dokumencie, który używa jądra SVD do dekompozycji macierzy danych. Czytałem więc materiały na temat metod jądra i PCA jądra itp. Ale wciąż jest to dla mnie bardzo niejasne, szczególnie jeśli chodzi o szczegóły matematyczne, i mam kilka pytań.
Dlaczego metody jądra? Lub jakie są zalety metod jądra? Jaki jest intuicyjny cel?
Czy przy założeniu, że przestrzeń o znacznie wyższych wymiarach jest bardziej realistyczna w rzeczywistych problemach i może ujawnić nieliniowe relacje w danych, w porównaniu do metod innych niż jądro? Według materiałów metody jądra rzutują dane na wielowymiarową przestrzeń cech, ale nie muszą jawnie obliczać nowej przestrzeni cech. Zamiast tego wystarczy obliczyć tylko produkty wewnętrzne między obrazami wszystkich par punktów danych w przestrzeni cech. Dlaczego więc rzutować na przestrzeń o wyższych wymiarach?
Przeciwnie, SVD zmniejsza przestrzeń funkcji. Dlaczego robią to w różnych kierunkach? Metody jądra szukają wyższego wymiaru, podczas gdy SVD poszukuje niższego wymiaru. Dla mnie to dziwne połączenie ich. Zgodnie z artykułem, który czytam ( Symeonidis i in. 2010 ), wprowadzenie Kernel SVD zamiast SVD może rozwiązać problem rzadkości w danych, poprawiając wyniki.
Na podstawie porównania na rysunku widać, że KPCA otrzymuje wektor własny o wyższej wariancji (wartości własnej) niż PCA, jak sądzę? Ponieważ dla największej różnicy rzutów punktów na wektor własny (nowe współrzędne), KPCA jest okręgiem, a PCA jest linią prostą, więc KPCA uzyskuje większą wariancję niż PCA. Czy to oznacza, że KPCA otrzymuje wyższe główne składniki niż PCA?
źródło
Odpowiedzi:
PCA (jako technika redukcji wymiarowości) próbuje znaleźć niskowymiarową liniową podprzestrzeń, do której ograniczone są dane. Ale może się zdarzyć, że dane ograniczą się do niskowymiarowej nieliniowej podprzestrzeni. Co się wtedy stanie?
Spójrz na ten rysunek zaczerpnięty z podręcznika Bishopa „Rozpoznawanie wzorców i uczenie maszynowe” (rysunek 12.16):
Punkty danych tutaj (po lewej) są zlokalizowane głównie wzdłuż krzywej w 2D. PCA nie może zmniejszyć wymiaru z dwóch do jednego, ponieważ punkty nie są umieszczone wzdłuż linii prostej. Jednak dane są „oczywiście” umieszczone wokół jednowymiarowej krzywej nieliniowej. Tak więc, podczas gdy PCA zawodzi, musi być inny sposób! I rzeczywiście, jądro PCA może znaleźć ten nieliniowy rozmaitość i odkryć, że dane są w rzeczywistości prawie jednowymiarowe.
Odbywa się to poprzez mapowanie danych w przestrzeń o wyższych wymiarach. To może rzeczywiście wyglądać na sprzeczność (twoje pytanie nr 2), ale tak nie jest. Dane są odwzorowywane na przestrzeń o wyższych wymiarach, ale okazuje się, że leżą na jej podprzestrzeni o niższych wymiarach. Zwiększasz więc wymiarowość, aby móc go zmniejszyć.
Istotą „sztuczki jądra” jest to, że tak naprawdę nie trzeba wyraźnie rozważać przestrzeni o wyższych wymiarach, więc ten potencjalnie mylący skok wymiarowy jest wykonywany całkowicie pod przykrywką. Pomysł pozostaje jednak ten sam.
źródło