Ich habe keine zufriedenstellende Antwort von Google gefunden .
Wenn die Daten, die ich habe, in der Größenordnung von Millionen liegen, ist Deep Learning natürlich der richtige Weg.
Und ich habe gelesen, dass es vielleicht besser ist, beim maschinellen Lernen andere Methoden zu verwenden, wenn ich keine großen Datenmengen habe. Der angegebene Grund ist zu passend. Maschinelles Lernen: dh Betrachten von Daten, Extrahieren von Merkmalen, Erstellen neuer Merkmale aus dem Gesammelten usw. Dinge wie Entfernen stark korrelierter Variablen usw. Das gesamte maschinelle Lernen 9 Meter.
Und ich habe mich gefragt: Warum sind neuronale Netze mit einer verborgenen Schicht kein Allheilmittel gegen Probleme des maschinellen Lernens? Sie sind universelle Schätzer, Überanpassungen können mit Dropout, l2-Regularisierung, l1-Regularisierung und Batch-Normalisierung verwaltet werden. Die Trainingsgeschwindigkeit ist im Allgemeinen kein Problem, wenn wir nur 50.000 Trainingsbeispiele haben. Sie sind zum Testzeitpunkt besser als zum Beispiel zufällige Wälder.
Warum also nicht - bereinigen Sie die Daten, setzen Sie fehlende Werte auf die übliche Weise um, zentrieren Sie die Daten, standardisieren Sie die Daten, werfen Sie sie in ein Ensemble neuronaler Netzwerke mit einer verborgenen Ebene und wenden Sie die Regularisierung an, bis Sie keine Überanpassung mehr bemerken, und trainieren Sie dann sie bis zum Ende. Keine Probleme mit der Gradientenexplosion oder dem Verschwinden des Gradienten, da es sich nur um ein zweischichtiges Netzwerk handelt. Wenn tiefe Schichten benötigt würden, müssten hierarchische Merkmale erlernt werden, und andere Algorithmen für maschinelles Lernen wären ebenfalls nicht gut. Zum Beispiel ist SVM ein neuronales Netzwerk mit nur Gelenkverlust.
Ein Beispiel, bei dem ein anderer Algorithmus für maschinelles Lernen ein sorgfältig reguliertes 2-Schichten- (vielleicht 3?) Neuronales Netzwerk übertreffen würde, wäre wünschenswert. Sie können mir den Link zum Problem geben und ich würde das beste neuronale Netzwerk trainieren, das ich kann, und wir können sehen, ob zwei- oder dreischichtige neuronale Netzwerke keinem anderen Benchmark-Algorithmus für maschinelles Lernen entsprechen.
quelle
Antworten:
Jeder Algorithmus für maschinelles Lernen weist eine andere induktive Vorspannung auf, sodass es nicht immer angemessen ist, neuronale Netze zu verwenden. Ein linearer Trend lernt man immer am besten durch einfache lineare Regression und nicht durch ein Ensemble nichtlinearer Netzwerke.
Wenn Sie sich die Gewinner vergangener Kaggle-Wettbewerbe ansehen , mit Ausnahme von Herausforderungen mit Bild- / Videodaten, werden Sie schnell feststellen, dass neuronale Netze nicht die Lösung für alles sind. Einige frühere Lösungen hier.
Es gibt keine Garantie dafür, dass Sie genügend Regularisierung anwenden können, um eine Überanpassung zu verhindern, ohne die Fähigkeit des Netzwerks, etwas zu lernen, vollständig zu zerstören. Im wirklichen Leben ist es selten möglich, die Lücke zwischen Zug und Test zu schließen. Aus diesem Grund berichten die Zeitungen immer noch über die Zug- und Testleistung.
Dies gilt nur für die unbegrenzte Anzahl von Einheiten, was nicht realistisch ist.
Ein Beispielproblem, von dem ich erwarte, dass es ein neuronales Netzwerk niemals lösen kann: Bei einer Ganzzahl klassifizieren Sie es als Primzahl oder Nicht-Primzahl.
Ich glaube, dies könnte perfekt mit einem einfachen Algorithmus gelöst werden, der alle gültigen Programme in aufsteigender Länge durchläuft und das kürzeste Programm findet, das die Primzahlen korrekt identifiziert. In der Tat kann diese 13-stellige Regex-Zeichenfolge mit Primzahlen übereinstimmen, die für die Suche nicht rechenintensiv wären.
Ja, es gibt einen Sweet Spot, aber normalerweise dauert es lange, bis Sie mit der Überanpassung aufhören. Siehe diese Abbildung:
Wenn Sie die horizontale Achse umdrehen und sie als "Grad der Regularisierung" neu kennzeichnen, ist dies ziemlich genau. Wenn Sie regulieren, bis überhaupt keine Überanpassung vorliegt, ist Ihr Fehler sehr groß. Der "Sweet Spot" tritt auf, wenn etwas Überanpassung vorliegt, aber nicht zu viel.
Ja. Hier ist eine hässliche, aber hoffentlich wirksame Figur, um meinen Standpunkt zu veranschaulichen.
Die Frage ist nicht "kann es", sondern "wird es", und wenn Sie Backpropagation trainieren, lautet die Antwort wahrscheinlich nicht.
Ohne weitere Einschränkung ist diese Behauptung einfach falsch.
quelle
Ich möchte hinzufügen, dass es kein Allheilmittel für maschinelles Lernen gibt:
Nach dem No-Free-Lunch- Satz:
quelle