Stärkung neuronaler Netze


21

Vor kurzem habe ich mich mit dem Erlernen von Boosting-Algorithmen wie Adaboost und Gradienten-Boost befasst, und ich kenne die Tatsache, dass der am häufigsten verwendete schwache Lernende Bäume sind. Ich möchte wirklich wissen, ob es in letzter Zeit einige erfolgreiche Beispiele (ich meine einige Artikel oder Artikel) für die Verwendung neuronaler Netze als Grundschüler gibt.


Dies könnte eine interessante Lektüre für Sie sein: arxiv.org/pdf/1706.04964.pdf
Daniel

Antworten:


8

Beim Boosten werden schwache oder instabile Klassifikatoren als Basislerner verwendet. Dies ist der Fall, weil das Ziel darin besteht, deutlich unterschiedliche Entscheidungsgrenzen zu generieren. Dann ist ein guter Grundschüler ein stark voreingenommener Schüler, mit anderen Worten, der Output bleibt im Grunde derselbe, selbst wenn die Trainingsparameter für die Grundschüler geringfügig geändert werden.

In neuronalen Netzen ist Dropout eine Regularisierungstechnik, die mit Trainingsensembles verglichen werden kann. Der Unterschied besteht darin, dass das Zusammenfügen im latenten Raum erfolgt (Neuronen existieren oder nicht), wodurch der Generalisierungsfehler verringert wird.

"Jedes Trainingsbeispiel kann somit als Gradient für eine andere, zufällig ausgewählte Architektur angesehen werden, so dass das endgültige neuronale Netzwerk effizient ein riesiges Ensemble neuronaler Netzwerke mit guter Generalisierungsfähigkeit darstellt" - zitiert aus hier .

Es gibt zwei solche Techniken: In dropout werden Neuronen fallengelassen (was bedeutet, dass die Neuronen mit einer bestimmten Wahrscheinlichkeit existieren oder nicht), während in dropconnect die Gewichte fallengelassen werden.

Um Ihre Frage zu beantworten: Ich glaube, dass neuronale Netze (oder Perzeptrone) in einem Boosting-Setup nicht als Basislerner verwendet werden, da sie langsamer zu trainieren sind (nur zu viel Zeit in Anspruch nehmen) und die Lernenden nicht so schwach sind, obwohl sie es könnten seien Sie gegründet, um instabiler zu sein. Die Mühe lohnt sich also nicht.

Möglicherweise wurde zu diesem Thema geforscht, es ist jedoch schade, dass Ideen, die nicht gut funktionieren, normalerweise nicht erfolgreich veröffentlicht werden. Wir brauchen mehr Forschung über Wege, die nirgendwohin führen, auch bekannt als "probieren Sie das nicht aus".

BEARBEITEN:

Ich hatte ein bisschen mehr damit zu tun, und wenn Sie sich für Ensembles großer Netzwerke interessieren, beziehen Sie sich möglicherweise auf Methoden zum Kombinieren der Ausgänge mehrerer solcher Netzwerke. Die meisten Menschen stimmen je nach Aufgabe im Durchschnitt oder mit der Mehrheit - dies ist möglicherweise nicht optimal. Ich glaube, es sollte möglich sein, die Gewichte für die Ausgabe jedes Netzwerks entsprechend dem Fehler in einem bestimmten Datensatz zu ändern. Je weniger die Ausgaben korreliert sind, desto besser ist Ihre Zusammenstellungsregel.


2

Ich sehe, dass dies keine akzeptierte Antwort hat, also gebe ich eine sehr heuristische Antwort. Ja, es ist geschafft ... zB ist es in JMP Pro verfügbar (wahrscheinlich das beste Statistikpaket, von dem Sie noch nie gehört haben). http://www.jmp.com/support/help/Overview_of_Neural_Networks.shtml

Es gibt eine Beschreibung in der Mitte der Seite, wofür es verwendet wird. Ich habe keine Zyklen in die Untersuchung der Theorie gesteckt, aber es scheint, dass sie im Wesentlichen die gleichen Ergebnisse erzielt wie die Verwendung von mehr Knoten in einem einzelnen größeren Modell. Der Vorteil liegt in der Geschwindigkeit der Modellanpassung.

Nur für eine sehr grobe Messung habe ich es mit einem Datensatz verglichen, den ich mit 2 Sigmoid- und 2 Gauß-Knoten habe, und das Modell 6x gegen 12 Sigmoid- und 12 Gauß-Knoten in einem einzelnen Modell angehoben, und die Ergebnisse waren in meinem Testdatensatz praktisch identisch .

Ich habe auch keinen Geschwindigkeitsunterschied bemerkt ... aber der Datensatz hat nur 1600 Punkte und ich verwende nur 12 Variablen. Bei einem größeren Datensatz mit mehr Variablen kann es also zutreffen, dass es einen merklichen Berechnungsunterschied gibt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.