Jaka jest intuicja za tym, że SVM z jądrem gaussowskim ma nieskończoną przestrzeń wymiarową?
Jaka jest intuicja za tym, że SVM z jądrem gaussowskim ma nieskończoną przestrzeń wymiarową?
Odpowiedzi:
Ta odpowiedź wyjaśnia, co następuje:
Idealne rozdzielenie jest zawsze możliwe w przypadku jądra Gaussa (pod warunkiem, że żadne dwa punkty z różnych klas nigdy nie są dokładnie takie same) ze względu na właściwości lokalizacji jądra, które prowadzą do arbitralnie elastycznej granicy decyzji. W przypadku wystarczająco małej przepustowości jądra granica decyzyjna będzie wyglądać tak, jakbyś tylko narysował małe kółka wokół punktów, ilekroć są one potrzebne do oddzielenia pozytywnych i negatywnych przykładów:
( Źródło: internetowy kurs uczenia maszynowego Andrew Ng ).
Dlaczego więc dzieje się to z matematycznego punktu widzenia?
Rozważ standardową konfigurację: masz jądro Gaussa i dane treningowe gdzie wartości wynoszą . Chcemy nauczyć się funkcji klasyfikatora
Jak teraz przypiszemy wagi ? Czy potrzebujemy nieskończonych przestrzeni wymiarowych i algorytmu programowania kwadratowego? Nie, ponieważ chcę tylko pokazać, że mogę doskonale rozdzielić punkty. Czynię więc miliard razy mniejszą niż najmniejsza separacjapomiędzy dowolnymi dwoma przykładami treningu, a ja właśnie ustawiłem . Oznacza to, że wszystkie punkty treningowe są oddalone o miliard sigmas, jeśli chodzi o jądro, a każdy punkt całkowicie kontroluje znak w jego sąsiedztwie. Formalnie mamy
gdzie jest dowolną niewielką wartością. Wiemy, że jest malutki, ponieważ jest o miliard sigma od jakiegokolwiek innego punktu, więc dla wszystkich mamy
Ponieważ jest tak mały, zdecydowanie ma taki sam znak jak , a klasyfikator osiąga doskonałą dokładność danych treningowych.
Fakt, że można to interpretować jako „idealne rozdzielenie liniowe w nieskończonej przestrzeni cech wymiarowych” pochodzi z sztuczki jądra, która pozwala interpretować jądro jako produkt wewnętrzny w przestrzeni cech (potencjalnie nieskończenie wymiarowych):
gdzie jest mapowaniem z przestrzeni danych na przestrzeń cech. Wynika z tego natychmiast, że funkcja jako funkcja liniowa w przestrzeni cech:
gdzie funkcja liniowa jest zdefiniowana w wektorach przestrzeni cech jako
Ta funkcja jest liniowa w ponieważ jest to po prostu liniowa kombinacja produktów wewnętrznych ze stałymi wektorami. W przestrzeni cech granica decyzji to po prostu , zestaw poziomów funkcji liniowej. To jest właśnie definicja hiperpłaszczyzny w przestrzeni cech.
Uwaga: W tej sekcji notacjaodnosi się do dowolnego zestawupunktów, a nie danych treningowych. To jest czysta matematyka; dane treningowe w ogóle nie mieszczą się w tej sekcji!
Metody jądra nigdy tak naprawdę nie „ jawnie ” lub „obliczają” przestrzeni cech ani mapowania . Metody uczenia się jądra, takie jak SVM, nie potrzebują ich do działania; Potrzebują one jedynie funkcję jądra .
To powiedziawszy, można zapisać formułę dla . Przestrzeń funkcji, na którą mapuje jest w pewnym sensie abstrakcyjna (i potencjalnie nieskończenie wymiarowa), ale w gruncie rzeczy mapowanie wykorzystuje jądro do wykonania prostej inżynierii cech. Jeśli chodzi o wynik końcowy, model, którego się nauczyłeś, używając jądra, nie różni się od tradycyjnej inżynierii cech popularnie stosowanej w regresji liniowej i modelowaniu GLM, jak zapisywanie logu dodatniej zmiennej predykcyjnej przed wprowadzeniem jej do formuły regresji. Matematyka jest głównie po to, aby upewnić się, że jądro dobrze współpracuje z algorytmem SVM, który ma swoje chwalone zalety rzadkości i skalowania do dużych zestawów danych.
Jeśli nadal jesteś zainteresowany, oto jak to działa. Zasadniczo bierzemy tożsamość, którą chcemy zachować, i skonstruuj produkt przestrzenny i wewnętrzny tak, aby był on zgodny z definicji. Aby to zrobić, definiujemy abstrakcyjną przestrzeń wektora której każdy wektor jest funkcją od przestrzeni, w której żyją dane, , do liczb rzeczywistych . Wektor w jest funkcją utworzoną ze skończonej liniowej kombinacji wycinków jądra: Wygodnie jest pisać bardziej kompaktowo jako
Produkt wewnętrzny w przestrzeni nie jest zwykłym produktem kropkowym, ale abstrakcyjnym produktem wewnętrznym opartym na jądrze:
Po zdefiniowaniu w ten sposób przestrzeni funkcji jest mapowaniem , przenosząc każdy punkt do „wycinka jądra” w tym punkcie:
Możesz udowodnić, że jest wewnętrzną przestrzenią produktu, gdy jest dodatnim określonym jądrem. Zobacz ten artykuł, aby uzyskać szczegółowe informacje. (Uznanie dla f coppens za wskazanie tego!)
Ta odpowiedź daje ładne wyjaśnienie algebry liniowej, ale oto geometryczna perspektywa, z intuicją i dowodem.
Dla dowolnego punktu stałego mamy funkcję wycinka jądra . Wykres to tylko garb Gaussa wypośrodkowany w . Teraz, gdyby przestrzeń cech była tylko skończona, oznaczałoby to, że moglibyśmy wziąć skończony zestaw wypukłości w ustalonym zestawie punktów i utworzyć dowolną wypukłość Gaussa gdziekolwiek indziej. Ale najwyraźniej nie możemy tego zrobić; nie możesz zrobić nowego guzka ze starych guzów, ponieważ nowy guz może być naprawdę daleko od starych. Bez względu na to, ile mamy wektorów cech (wypukłości), zawsze możemy dodawać nowe wypukłości, a w przestrzeni cech są to nowe niezależne wektory. Zatem przestrzeń cech nie może być skończona; to musi być nieskończone.
Używamy indukcji. Załóżmy, że masz dowolny zestaw punktów tak że wektory są liniowo niezależne w przestrzeni cech. Teraz znajdź punkt różniący się od tych punktów, w rzeczywistości miliard sigmas od nich wszystkich. Twierdzimy, że jest liniowo niezależny od pierwszych wektorów cech .
Dowód sprzeczności. Załóżmy, że wręcz przeciwnie
Teraz weź wewnętrzny produkt po obu stronach za pomocą dowolnego . Poprzez tożsamość , otrzymujemy
Tutaj jest zmienną swobodną, więc to równanie jest tożsamością stwierdzającą, że dwie funkcje są takie same. W szczególności mówi, że gaussowski wyśrodkowany w może być reprezentowany jako liniowa kombinacja Gaussian w innych punktach . Geometrycznie oczywiste jest, że nie można stworzyć guussowskiego guza wyśrodkowanego w jednym punkcie ze skończonej kombinacji guussowskich guarów wyśrodkowanych w innych punktach, szczególnie gdy wszystkie te inne guussowskie guzy znajdują się w odległości miliarda sigm. Zatem nasze założenie o liniowej zależności doprowadziło do sprzeczności, jak postanowiliśmy to pokazać.
Macierz jądra jądra Gaussa ma zawsze pełną rangę dla odrębnych . Oznacza to, że za każdym razem, gdy dodasz nowy przykład, ranga wzrasta o . Najłatwiej to zobaczyć, jeśli ustawisz bardzo mały. Wtedy macierz jądra jest prawie przekątna.
Fakt, że ranga zawsze wzrasta o jeden oznacza, że wszystkie rzuty w przestrzeni cech są liniowo niezależne (nie ortogonalne, ale niezależne). Dlatego każdy przykład dodaje nowy wymiar do rozpiętości rzutów . Ponieważ możesz dodać niezliczoną liczbę nieskończenie wielu przykładów, przestrzeń cech musi mieć nieskończony wymiar. Co ciekawe, wszystkie rzuty przestrzeni wejściowej do przestrzeni cech leżą na kuli, ponieważ . Niemniej jednak geometria kuli jest płaska. Możesz przeczytać więcej na ten temat w
Burges, CJC (1999). Geometria i niezmienność w metodach opartych na jądrze. W B. Schölkopf, CJC Burges i AJ Smola (red.), Advances in Kernel Methods Support Vector Learning (s. 89–116). MIT Naciśnij.
Dla tła i notacji odsyłam do odpowiedzi Jak obliczyć granicę decyzji z wektorów pomocniczych? .
Zatem cechami w „oryginalnej” przestrzeni są wektory , wynik binarny a mnożniki Lagrange'a to .
Wiadomo, że jądro można zapisać jako („ ” oznacza produkt wewnętrzny). Gdzie jest (domyślny i nieznany) transformacja do nowej przestrzeni funkcji.
Spróbuję podać „intuicyjne” wyjaśnienie tego , jak wygląda ten , więc ta odpowiedź nie jest formalnym dowodem, chce tylko dać poczucie, jak myślę, że to działa. Nie wahaj się mnie poprawić, jeśli się mylę. Podstawą mojego wyjaśnienia jest sekcja 2.2.1 tego pliku pdf
Muszę „przekształcić” moją przestrzeń cech (czyli mój ) w jakąś „nową” przestrzeń cech, w której zostanie rozwiązana separacja liniowa.
Dla każdej obserwacji definiuję funkcje , więc mam funkcję dla każdego elementu mojej próbki treningowej. Te funkcje obejmują przestrzeń wektorową. Przestrzeń wektorowa rozciągnięta przez , zwróć uwagę, że . ( jest wielkością próbki treningowej).
Spróbuję argumentować, że ta przestrzeń wektorowa jest przestrzenią wektorową, w której możliwe będzie rozdzielenie liniowe. Z definicji zakresu każdy wektor w przestrzeni wektorowej można zapisać jako liniową kombinację , tj .: , gdzie to liczby rzeczywiste. W rzeczywistości
Zauważ, że są współrzędnymi wektora w przestrzeni wektorowej .
jest wielkością próbki treningowej, a zatem wymiar przestrzeni wektorowej może wzrosnąć do , w zależności od tego, czy są liniowo niezależne. Ponieważ (patrz wyżej, zdefiniowaliśmy w ten sposób), oznacza to, że wymiar zależy od użytego jądra i może wzrosnąć do wielkości próbki szkoleniowej.
Jeśli jądro jest „wystarczająco złożone”, wtedy będą wszystkie niezależne, a następnie wymiar będzie , czyli wielkość próbki treningowej.
Transformacja, która odwzorowuje moją oryginalną przestrzeń obiektów na jest zdefiniowana jako
.
Ta mapa odwzorowuje moją oryginalną przestrzeń obiektów na przestrzeń wektorową, która może mieć wymiar zbliżony do wielkości mojej próbki treningowej. Tak więc mapuje każdą obserwację w mojej próbce treningowej na przestrzeń wektorową, w której wektory są funkcjami. Wektor z mojej próbki treningowej jest „mapowany” na wektor w , mianowicie wektor o współrzędnych równych zeru, z tym wyjątkiem, że -ta współrzędna to 1.
Oczywiście ta transformacja (a) zależy od jądra, (b) zależy od wartości w próbce treningowej i (c) może, w zależności od mojego jądra, mieć wymiar, który idzie w górę do wielkości mojej próbki treningowej i ( d) wektory wyglądają jak , gdzie to liczby rzeczywiste.
Patrząc na funkcję w Jak obliczyć granicę decyzji z wektorów wsparcia? widać, że . Granica decyzji znaleziona przez SVM wynosi .
Innymi słowy, jest liniową kombinacją a to liniowa hiperpłaszczyzna oddzielająca w przestrzeni : jest to szczególny wybór a mianowicie !
W są znane z naszych uwag są mnożniki Lagrange'a, że SVM znalazła. Innymi słowy SVM znalezisku, dzięki zastosowaniu jądra i rozwiązując zadania programowania kwadratowego, liniowy separacji w -spave.
To jest moje intuicyjne zrozumienie, w jaki sposób „sztuczka jądra” pozwala „niejawnie” przekształcić pierwotną przestrzeń cech w nową przestrzeń cech o innym wymiarze. Wymiar ten zależy od używanego jądra, a dla jądra RBF ten wymiar może wzrosnąć do wielkości próbki szkoleniowej. Ponieważ próbki treningowe mogą mieć dowolny rozmiar, może to wzrosnąć do „nieskończoności” . Oczywiście w bardzo dużych przestrzeniach ryzyko nadmiernego dopasowania wzrośnie.
Jądra to technika, która pozwala SVM przekształcić przestrzeń cech. Zobacz także Co sprawia, że jądro Gaussa jest tak magiczne dla PCA i ogólnie?
Niestety wyjaśnienie fcop jest dość niepoprawne. Przede wszystkim mówi: „Wiadomo, że jądro można napisać jako… gdzie… jest (domniemana i nieznana) transformacja do nowej przestrzeni funkcji”. NIE jest nieznane. W rzeczywistości jest to przestrzeń, na którą odwzorowane są cechy i jest to przestrzeń, która może być nieskończona wymiarowo, jak w przypadku RBF. Jądro pobiera wewnętrzny produkt tego transformowanego wektora cech z transformowanym wektorem cech z przykładu szkoleniowego i stosuje pewną funkcję do wyniku. Zatem domyślnie reprezentuje ten wektor cech wyższych wymiarów. Pomyśl na przykład o pisaniu (x + y) ^ 2 zamiast x ^ 2 + 2xy + y ^ 2. Pomyśl teraz, jaka seria nieskończona jest reprezentowana niejawnie przez funkcję wykładniczą ... tam masz swoją nieskończoną przestrzeń cech.
Właściwy sposób myślenia o SVM polega na tym, że odwzorowujesz swoje obiekty na możliwie nieskończoną wymiarową przestrzeń cech, która przypadkowo może być reprezentowana w jeszcze innym skończonym wymiarze przestrzeni cech "Jądro", której wymiar może być tak duży jak rozmiar zestawu treningowego.