Zwiększenie sieci neuronowych


21

Niedawno pracowałem nad uczeniem się algorytmów wzmacniających, takich jak adaboost, zwiększanie gradientu i wiedziałem, że najczęściej używanym słabym uczniem są drzewa. Naprawdę chcę wiedzieć, czy istnieją pewne udane przykłady (mam na myśli kilka artykułów lub artykułów) wykorzystania sieci neuronowych jako podstawowego ucznia.


To może być dla Ciebie interesująca lektura: arxiv.org/pdf/1706.04964.pdf
Daniel

Odpowiedzi:


8

Podczas wzmacniania słabi lub niestabilni klasyfikatorzy są wykorzystywani jako uczniowie bazy. Dzieje się tak, ponieważ celem jest wygenerowanie znacznie odmiennych granic decyzyjnych. Zatem dobry podstawowy uczeń to taki, który jest bardzo tendencyjny, innymi słowy, wyniki pozostają w zasadzie takie same, nawet jeśli parametry szkolenia dla podstawowych uczniów są nieznacznie zmienione.

W sieciach neuronowych porzucenie jest techniką regularyzacji, którą można porównać do zespołów szkoleniowych. Różnica polega na tym, że zestawianie odbywa się w utajonej przestrzeni (neurony istnieją lub nie), zmniejszając w ten sposób błąd uogólnienia.

„Każdy przykład szkoleniowy można zatem postrzegać jako zapewniający gradienty dla innej, losowo próbkowanej architektury, dzięki czemu końcowa sieć neuronowa skutecznie reprezentuje ogromny zespół sieci neuronowych o dobrych możliwościach uogólnienia” - cytując stąd .

Istnieją dwie takie techniki: w odpadaniu neurony są upuszczane (co oznacza, że ​​neurony istnieją lub nie są pewne z pewnym prawdopodobieństwem), podczas gdy w połączeniu drop upuszczane są wagi.

Teraz, aby odpowiedzieć na twoje pytanie, uważam, że sieci neuronowe (lub perceptrony) nie są używane jako podstawowi uczący się w zestawie wzmacniającym, ponieważ trenują wolniej (po prostu zajmuje zbyt dużo czasu), a uczniowie nie są tak słabi, chociaż mogliby bądź bardziej niestabilny. Więc nie jest to warte wysiłku.

Być może były badania na ten temat, szkoda jednak, że pomysły, które nie działają dobrze, zwykle nie są z powodzeniem publikowane. Potrzebujemy więcej badań obejmujących ścieżki, które nigdzie nie prowadzą, czyli „nie zawracaj sobie głowy próbowaniem tego”.

EDYTOWAĆ:

Miałem jednak nieco więcej na ten temat, a jeśli interesują Cię zespoły dużych sieci, to może masz na myśli metody łączenia wyników wielu takich sieci. Większość ludzi przeciętnie głosuje większością w zależności od zadania - może to nie być optymalne. Uważam, że powinna istnieć możliwość zmiany wag dla każdej sieci wyjściowej zgodnie z błędem na konkretnym rekordzie. Im mniej skorelowane wyniki, tym lepsza reguła zestawu.


2

Widzę, że to nie ma zaakceptowanej odpowiedzi, więc dam bardzo heurystyczną odpowiedź. Tak, jest zrobione .... np. Jest dostępny w JMP Pro (prawdopodobnie najlepszy pakiet statystyk, o którym nigdy nie słyszałeś). http://www.jmp.com/support/help/Overview_of_Neural_Networks.shtml

Na środku strony znajduje się opis tego, do czego służy. Nie włożyłem żadnych cykli w badanie teorii, ale wygląda na to, że implikuje to, że osiąga zasadniczo takie same wyniki, jak użycie większej liczby węzłów w jednym większym modelu. Zaletą [twierdzą] jest szybkość dopasowania modelu.

Dla bardzo zgrubnego miernika porównałem go w zbiorze danych, który posiadam z 2 sigmoidami i 2 węzłami Gaussa i wzmacniając model 6x względem 12 sigmoidów i 12 węzłów Gaussa w jednym modelu, a wyniki były praktycznie identyczne na moim zestawie testowym danych .

Nie zauważyłem żadnej różnicy prędkości ... ale zestaw danych ma tylko 1600 punktów i używam tylko 12 zmiennych, więc w większym zbiorze danych z większą liczbą zmiennych może być prawdą, że istnieje zauważalna różnica w obliczeniach.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.