Ograniczone maszyny Boltzmanna do regresji?

13

Kontynuuję pytanie, które zadałem wcześniej w sprawie KMS . Widzę wiele literatury, która je opisuje, ale żadna z nich nie mówi o regresji (nawet klasyfikacji z danymi oznaczonymi). Mam wrażenie, że jest on używany tylko do danych nieznakowanych. Czy są jakieś zasoby do obsługi regresji? Czy jest to tak proste, jak dodanie kolejnej warstwy na ukrytej warstwie i uruchomienie algorytmu CD w górę iw dół? Z góry dziękuję.

brokuły
źródło

Odpowiedzi:

18

Masz rację co do nieznakowanych danych. RBM są modelami generatywnymi i najczęściej są stosowane jako uczniowie bez nadzoru.

W przypadku budowy sieci głębokich przekonań najbardziej typową procedurą jest po prostu szkolenie każdego nowego RBM jeden po drugim, gdy są one układane jeden na drugim. Tak więc rozbieżność kontrastowa nie rośnie w tym sensie, że myślę, że masz na myśli. Działa tylko z jednym RBM na raz, wykorzystując ukrytą warstwę poprzedniego najwyższego RBM jako danych wejściowych dla nowego najwyższego RBM. Po tym wszystkim możesz albo traktować stos wag RBM jako początkowe wagi standardowej sieci neuronowej z przekazywaniem danych i trenować, korzystając z etykietowanych danych i propagacji wstecznej, lub wykonać coś bardziej egzotycznego, na przykład użyć algorytmu czuwania. Zauważ, że do tego ostatniego kroku nie korzystaliśmy z żadnych oznaczonych danych, co jest jedną z zalet tego typu modeli.

Z drugiej strony istnieje kilka sposobów wykorzystania KMS do klasyfikacji.

  • Wytrenuj RBM lub stos kilku RBM. Użyj najwyższej ukrytej warstwy jako danych wejściowych dla innego nadzorowanego ucznia.
  • Wytrenuj RBM dla każdej klasy i wykorzystaj nienormalizowane energie jako dane wejściowe do dyskryminującego klasyfikatora.
  • Wytrenuj RBM, aby był połączonym modelem gęstości P (X, Y). Następnie, biorąc pod uwagę wejście x, po prostu wybierz klasę y, która minimalizuje funkcję energii (normalizacja nie jest tutaj problemem jak w powyższym przypadku, ponieważ stała Z jest taka sama dla wszystkich klas).
  • Trenuj rozróżniający RBM

Gorąco polecam przeczytanie raportu technicznego „Praktyczny przewodnik po szkoleniach z ograniczonymi maszynami Boltzmanna” autorstwa Geoffa Hintona. Omawia kilka z tych zagadnień bardziej szczegółowo, dostarcza nieocenionych wskazówek, przytacza wiele istotnych dokumentów i może pomóc w wyjaśnieniu wszelkich innych nieporozumień.

alt
źródło
1
więc czy RBM można zastosować do regresji?
waspinator
Jak trenujesz KMS, aby był modelem gęstości połączeń? Dostarczając zarówno X, jak i Y jako nie ukryte dane wejściowe, tj. Trenujesz, aby był P (X, Y | H) (H to ukryta warstwa)?
AkiRoss,
Sam odpowiadam na mój komentarz: tak, w „Praktycznym przewodniku po szkoleniu RBM” (Hinton, 2010) szczegółowo opisano 3 metody opisane powyżej, a w trzeciej metodzie mówi on o „dwóch zestawach widocznych jednostki ”, gdzie oprócz danych prezentowana jest jednostka etykiety softmax reprezentująca klasę.
AkiRoss,
2

Zobacz implementację, http://code.google.com/p/matrbm/ . Ma funkcję dopasowania rmb klasyfikacji, którą warto rozważyć. Daj mi również znać, jeśli znajdziesz lepsze implementacje DBN i RMB do klasyfikacji i regresji.

Deepan Prabhu Babu
źródło
0

Myślę, że jednym ze sposobów testowania sieci neuronowych, takich jak Restricted Boltzman Machine (RBM), jest zastosowanie ich do nowych zestawów danych lub częściej podzbioru całego zestawu danych i sprawdzenie, jak działają. Możesz również przetestować model z weryfikacją krzyżową. Użyłem popularnego zestawu narzędzi do uczenia maszynowego typu open source (ML), który jest prosty w instalacji i obsłudze, i pozwala na łatwe przetestowanie wielu rodzajów algorytmów ML osobno za pomocą szeregu statystyk regresji modelu ( http: // www. cs.waikato.ac.nz/ml/weka/ ). To może dać ci szybką analizę bez dużej interwencji, z wyjątkiem podstaw działania programu, choć w zależności od tego może nie być tego warte, jeśli sformatowanie danych będzie trudne (chociaż zwykle możesz na przykład użyć „csv do arff konwersji online” do formatowania jednoetapowego).

Jason Albalah
źródło