Uczenie się wielu jąder
Część serii poświęconej |
uczeniu maszynowemu i eksploracji danych |
---|
Uczenie się wielu jąder odnosi się do zestawu metod uczenia maszynowego, które wykorzystują predefiniowany zestaw jąder i uczą się optymalnej liniowej lub nieliniowej kombinacji jąder w ramach algorytmu. Powody, dla których warto korzystać z uczenia się wielu jąder, obejmują a) możliwość wyboru optymalnego jądra i parametrów z większego zestawu jąder, zmniejszając stronniczość wynikającą z wyboru jądra, jednocześnie umożliwiając bardziej zautomatyzowane metody uczenia maszynowego oraz b) łączenie danych z różnych źródeł ( np. dźwięk i obrazy z wideo), które mają różne pojęcia podobieństwa i dlatego wymagają różnych jąder. Zamiast tworzyć nowe jądro, można użyć wielu algorytmów jądra, aby połączyć jądra już ustanowione dla każdego źródła danych.
W wielu zastosowaniach zastosowano wiele podejść do uczenia jądra, takich jak rozpoznawanie zdarzeń w wideo, rozpoznawanie obiektów na obrazach i fuzja danych biomedycznych.
Algorytmy
Opracowano wiele algorytmów uczenia jądra dla uczenia nadzorowanego, częściowo nadzorowanego i nienadzorowanego. Większość prac wykonano w przypadku uczenia nadzorowanego z liniowymi kombinacjami jąder, jednak opracowano wiele algorytmów. Podstawową ideą wielu algorytmów uczenia jądra jest dodanie dodatkowego parametru do problemu minimalizacji algorytmu uczenia się. przykład rozważmy przypadek nadzorowanego uczenia się zbioru . Wprowadzamy nowe jądro , gdzie jest wektorem współczynników dla każdego jądra. Ponieważ jądra są addytywne (ze względu na właściwości odtwarzania przestrzeni Hilberta jądra ), ta nowa funkcja jest nadal jądrem. Dla zestawu danych z etykietami problem minimalizacji można zapisać jako
gdzie funkcją błędu i regularyzacji jest zazwyczaj kwadratową funkcją straty ( regularyzacja Tichonowa ) lub funkcją utraty zawiasów (dla algorytmów SVM ), a jest zwykle norma lub pewna kombinacja norm (np. regularyzacja elastycznej sieci ). Ten problem optymalizacji można następnie rozwiązać za pomocą standardowych metod optymalizacji. Adaptacje istniejących technik, takich jak Sequential Minimal Optimization, zostały również opracowane dla metod opartych na wielu jądrach SVM.
Nadzorowana nauka
W przypadku uczenia nadzorowanego istnieje wiele innych algorytmów, które wykorzystują różne metody uczenia się postaci jądra. Następującą kategoryzację zaproponowali Gonen i Alpaydın (2011)
Podejścia oparte na ustalonych zasadach
Podejścia oparte na ustalonych regułach, takie jak opisany powyżej algorytm kombinacji liniowych, wykorzystują reguły do ustawiania kombinacji jąder. Nie wymagają one parametryzacji i używają reguł, takich jak sumowanie i mnożenie, do łączenia jąder. Ważenie jest wyuczone w algorytmie. Inne przykłady ustalonych reguł obejmują jądra parami, które mają postać
- .
Te podejścia oparte na parach zostały wykorzystane do przewidywania interakcji białko-białko.
Podejścia heurystyczne
Algorytmy te wykorzystują funkcję kombinowaną, która jest sparametryzowana. Parametry są ogólnie definiowane dla każdego pojedynczego jądra na podstawie wydajności pojedynczego jądra lub niektórych obliczeń z macierzy jądra. Ich przykłady obejmują jądro z Tenabe et al. (2008). Niech będzie dokładnością uzyskaną tylko przy użyciu tylko i niech będzie próg mniejszy niż minimum pojedynczego dokładności jądra, które możemy zdefiniować
Inne podejścia wykorzystują definicję podobieństwa jądra, np
Korzystając z tej miary, Qui i Lane (2009) zastosowali następującą heurystykę do zdefiniowania
Podejścia optymalizacyjne
Podejścia te rozwiązują problem optymalizacji w celu określenia parametrów funkcji kombinacji jądra. Dokonano tego za pomocą miar podobieństwa i metod minimalizacji ryzyka strukturalnego. Dla miar podobieństwa, takich jak zdefiniowana powyżej, problem można sformułować w następujący sposób:
gdzie jest jądrem zbioru treningowego.
Zastosowane podejścia do minimalizacji ryzyka strukturalnego obejmują podejścia liniowe, takie jak zastosowane przez Lanckrieta i in. (2002). Możemy zdefiniować niewiarygodność jądra jako wartość funkcji celu po Możemy wtedy rozwiązać następujący problem minimalizacji:
gdzie jest . Istnieje wiele innych odmian tego samego pomysłu, z różnymi metodami udoskonalania i rozwiązywania problemu, np. z nieujemnymi wagami dla poszczególnych jąder i przy użyciu nieliniowych kombinacji jąder.
Podejścia bayesowskie
Podejścia bayesowskie nakładają priorytety na parametry jądra i uczą się wartości parametrów na podstawie priorytetów i algorytmu podstawowego. Na przykład funkcję decyzyjną można zapisać jako
można modelować za pomocą wcześniejszego Dirichleta i można modelować za pomocą zerowej średniej Gaussa i odwrotnej wariancji gamma Model ten jest następnie optymalizowany przy użyciu niestandardowego wielomianowego podejścia probitowego z próbnikiem Gibbsa .
Metody te były z powodzeniem stosowane w zastosowaniach takich jak rozpoznawanie fałd białkowych i problemy z homologią białek
Wzmacniające podejścia
Podejścia wzmacniające dodają nowe jądra iteracyjnie, aż zostaną osiągnięte pewne kryteria zatrzymania, które są funkcją wydajności. Przykładem tego jest model MARK opracowany przez Bennetta i in. (2002)
Parametry są uczone przez . W ten sposób każda iteracja algorytmu zejścia identyfikuje najlepszą kolumnę jądra do wyboru w każdej konkretnej iteracji i dodaje ją do połączonego jądra. Model jest następnie ponownie uruchamiany w celu wygenerowania optymalnych wag { .
Uczenie się częściowo nadzorowane
uczenia się częściowo nadzorowanego do uczenia się wielu jąder są podobne do innych rozszerzeń podejść do uczenia nadzorowanego. Opracowano procedurę indukcyjną, która wykorzystuje empiryczną utratę logarytmu wiarygodności i grupową regularyzację LASSO z warunkowym konsensusem oczekiwań na nieoznakowanych danych do kategoryzacji obrazu. Problem możemy zdefiniować w następujący sposób. Niech będą oznaczonymi danymi i niech będzie zbiorem danych nieoznakowanych. Następnie możemy zapisać funkcję decyzyjną w następujący sposób.
Problem można zapisać jako
gdzie jest funkcją straty (w tym ważona ujemna logarytmiczna wiarygodność), ( w tym przypadku Grupa LASSO ) i jest kara konsensusu warunkowych oczekiwań (CEC) w przypadku danych nieoznakowanych. Kara CEC jest zdefiniowana w następujący sposób. Niech marginalna gęstość jądra dla wszystkich danych będzie
gdzie (jądrowa odległość między danymi oznaczonymi a wszystkimi danymi oznaczonymi i nieoznakowanymi) oraz jest nieujemnym wektorem losowym z normą 2 równą 1. Wartość liczba rzutów każdego jądra ja i oczekiwanie modelu . Następnie definiujemy
gdzie to dywergencja Kullbacka-Leiblera . Połączony problem minimalizacji jest optymalizowany przy użyciu zmodyfikowanego algorytmu opadania gradientu blokowego. Aby uzyskać więcej informacji, patrz Wang i in.
Uczenie się bez nadzoru
Nienadzorowane algorytmy uczenia się wielu jąder zostały również zaproponowane przez Zhuanga i in. Problem jest zdefiniowany w następujący sposób. Niech będzie zbiorem nieoznakowanych danych. jądra _ W tym problemie dane muszą być „pogrupowane” w grupy na podstawie odległości jądra. Niech być grupą lub klastrem, którego członkiem jest Definiujemy funkcję straty jako . Ponadto minimalizujemy zniekształcenie, minimalizując . Na koniec dodajemy termin regularyzacji, aby uniknąć przeuczenia. Łącząc te terminy, możemy zapisać problem minimalizacji w następujący sposób.
Gdzie . Jedno sformułowanie tego jest zdefiniowane w następujący sposób. Niech będzie macierzą taką, że oznacza, że są . Wtedy . Pamiętaj, że tych grup również trzeba się nauczyć. Zhuang i in. metody minimalizacji dla i . Aby uzyskać więcej informacji, patrz Zhuang i in.
Biblioteki
Dostępne biblioteki MKL obejmują
- SPG-GMKL : Skalowalna biblioteka C++ MKL SVM, która może obsłużyć milion jąder.
- GMKL : wielu jąder w , czy regularyzacja uczenia
- (Inny) GMKL : Inny kod MATLAB MKL, który może również przeprowadzać elastyczną regularyzację sieci
- SMO-MKL : kod źródłowy C++ dla algorytmu Sequential Minimal Optimization MKL. Czy -n orm regularyzacja.
- SimpleMKL : Kod MATLAB oparty na algorytmie SimpleMKL dla MKL SVM.
- MKLPy : Framework Pythona dla MKL i maszyn z jądrem zgodny z scikit z różnymi algorytmami, np. EasyMKL i innymi.