Eingeschränkte Boltzmann-Maschinen für die Regression?

13

Ich gehe der Frage nach, die ich zuvor zu RBM gestellt hatte . Ich sehe eine Menge Literatur, die sie beschreibt, aber keine, die tatsächlich von Regression spricht (nicht einmal Klassifizierung mit beschrifteten Daten). Ich habe das Gefühl, dass es nur für unbeschriftete Daten verwendet wird. Gibt es Ressourcen für den Umgang mit Regressionen? Oder ist es so einfach, eine weitere Ebene über der verborgenen Ebene hinzuzufügen und den CD-Algorithmus nach oben und unten auszuführen? Vielen Dank im Voraus.

Brokkoli
quelle

Antworten:

18

Sie haben Recht mit unbeschrifteten Daten. RBMs sind generative Modelle und werden am häufigsten als unbeaufsichtigte Lernende eingesetzt.

Beim Aufbau eines Deep Belief-Netzwerks besteht das typischste Verfahren darin, jedes neue RBM einzeln zu trainieren, während es übereinander gestapelt wird. Die kontrastive Divergenz geht also nicht in dem Sinne auf und ab, wie Sie es meinen. Es wird jeweils nur mit einem RBM gearbeitet, wobei die ausgeblendete Ebene des vorherigen obersten RBM als Eingabe für den neuen obersten RBM verwendet wird. Nach alledem können Sie entweder den Stapel von RBM-Gewichten als die anfänglichen Gewichte für ein standardmäßiges neuronales Vorwärtskopplungsnetzwerk behandeln und unter Verwendung Ihrer beschrifteten Daten und Rückübertragung trainieren oder etwas Exotischeres tun, wie den Wake-Sleep-Algorithmus. Beachten Sie, dass wir bis zu diesem letzten Schritt keine beschrifteten Daten verwendet haben. Dies ist einer der Vorteile dieser Modelltypen.

Andererseits gibt es verschiedene Möglichkeiten, RBMs zur Klassifizierung zu verwenden.

  • Trainiere ein RBM oder einen Stapel von mehreren RBMs. Verwenden Sie die oberste ausgeblendete Ebene als Eingabe für einen anderen beaufsichtigten Lernenden.
  • Trainieren Sie ein RBM für jede Klasse und verwenden Sie die nicht normalisierten Energien als Eingabe für einen diskriminierenden Klassifikator.
  • Trainieren Sie das RBM, um ein Gelenkdichtemodell von P (X, Y) zu sein. Wenn Sie nun x eingeben, wählen Sie einfach die Klasse y aus, die die Energiefunktion minimiert (hier ist die Normalisierung kein Problem, da die Konstante Z für alle Klassen gleich ist).
  • Trainiere ein diskriminierendes RBM

Ich würde Ihnen wärmstens empfehlen, den technischen Bericht Ein praktischer Leitfaden zum Training eingeschränkter Boltzmann-Maschinen von Geoff Hinton durchzulesen. Es werden einige dieser Probleme ausführlicher besprochen, wertvolle Tipps bereitgestellt, zahlreiche relevante Dokumente zitiert und möglicherweise andere Probleme behoben.

Alt
quelle
1
Können RBMs für die Regression verwendet werden?
Waspinator
Wie trainiert man ein RBM, um ein Joint-Density-Modell zu sein? Indem Sie sowohl X als auch Y als nicht verborgene Eingaben bereitstellen, dh Sie trainieren, dass es P (X, Y | H) ist (H ist die verborgene Ebene)?
AkiRoss
Ich antworte selbst auf meinen Kommentar: Ja, in "einem praktischen Leitfaden für das Training von RBM" (Hinton, 2010) werden die drei oben beschriebenen Methoden ausführlich erklärt, und in der dritten Methode spricht er davon, "zwei Sätze von Sichtbaren zu haben" units ", wobei zusätzlich zu den Daten eine Softmax - Bezeichnungseinheit zur Darstellung der Klasse angegeben wird.
AkiRoss
2

Bitte sehen Sie sich die Implementierung unter http://code.google.com/p/matrbm/ an . Es hat eine zu berücksichtigende Klassifizierungsfunktion. Lassen Sie mich auch wissen, ob Sie bessere Implementierungen von DBNs und RMBs für die Klassifizierung und Regression finden.

Deepan Prabhu Babu
quelle
0

Ich denke, eine Möglichkeit, neuronale Netzwerke wie die Restricted Boltzman Machine (RBM) zu testen, besteht darin, sie auf neue Datensätze oder häufiger auf einen Teil des Gesamtdatensatzes anzuwenden und ihre Leistung zu überprüfen. Sie können das Modell auch mit Kreuzvalidierung testen. Ich habe ein beliebtes Open-Source-Toolkit für maschinelles Lernen (ML) verwendet, das einfach zu installieren und zu verwenden ist und es Ihnen ermöglicht, viele Arten von ML-Algorithmen mit einer Reihe von Regressionsstatistiken des Modells ( http: // www. cs.waikato.ac.nz/ml/weka/ ). Das kann Ihnen eine schnelle Analyse ohne viel Eingreifen ermöglichen, mit Ausnahme der Grundlagen für das Ausführen des Programms. Abhängig davon lohnt es sich jedoch möglicherweise nicht, wenn es schwierig ist, Ihre Daten zu formatieren (obwohl Sie normalerweise zum Beispiel "csv to arff convert online" googeln können für eine einstufige Formatierung).

Jason Albalah
quelle