Was soll ich tun, wenn sich mein neuronales Netzwerk nicht gut verallgemeinert?


37

Ich trainiere ein neuronales Netzwerk und der Trainingsverlust nimmt ab, der Validierungsverlust jedoch nicht, oder er sinkt viel weniger als erwartet, basierend auf Referenzen oder Experimenten mit sehr ähnlichen Architekturen und Daten. Wie kann ich das beheben?


Was die Frage betrifft

Was soll ich tun, wenn mein neuronales Netzwerk nicht lernt?

Wofür diese Frage inspiriert ist, bleibt die Frage absichtlich allgemein, so dass andere Fragen, wie der Generalisierungsfehler eines neuronalen Netzes auf ein Niveau reduziert werden kann, das sich als erreichbar erwiesen hat, als Duplikate dieser Frage geschlossen werden können.

Siehe auch dedizierten Thread zu Meta:

Gibt es eine allgemeine Frage, auf die wir Fragen des Typs "Warum verallgemeinert sich mein neuronales Netzwerk nicht gut?" Umleiten können?


4
Wenn Sie vorhaben, Ihre eigene umfassende Antwort zu veröffentlichen, wäre es möglicherweise eine gute Idee gewesen, das Q und das A gleichzeitig zu veröffentlichen (die Benutzeroberfläche ermöglicht dies). Andernfalls ermutigen Sie andere, Antworten zu schreiben, und es kann vorkommen, dass sich mehrere Antworten teilweise überschneiden ... Wie auch immer, wir freuen uns auf Ihre Antwort.
Amöbe sagt Reinstate Monica

@amoeba ah, das wusste ich nicht: Die Benutzeroberfläche öffnet ein Popup-Fenster, wenn ich versuche, die Frage zu beantworten. Daher dachte ich, dass Fragen und Antworten nicht zusammen gepostet werden können Umfassende Antwort als das, was ich schreiben wollte, ich werde nur vermeiden, ein Duplikat hinzuzufügen.
DeltaIV

Antworten:


37

Lassen Sie uns zuallererst erwähnen, was "mein neuronales Netzwerk verallgemeinert sich nicht gut" bedeutet und was der Unterschied zu "mein neuronales Netzwerk funktioniert nicht gut" ist .

Wenn Sie ein neuronales Netzwerk trainieren, evaluieren Sie es ständig anhand eines Satzes von beschrifteten Daten, der als Trainingssatz bezeichnet wird . Wenn Ihr Modell nicht richtig funktioniert und nicht aus dem Trainingssatz zu lernen scheint, haben Sie noch kein Verallgemeinerungsproblem. Lesen Sie stattdessen diesen Beitrag . Allerdings, wenn Ihr Modell eine zufriedenstellende Leistung auf dem Trainingssatz zu erreichen, kann aber nicht gut auf bisher unbekannte Daten (zB Validierung / Test - Sets) ausführen, dann Sie tun eine Verallgemeinerung Problem haben.

Warum verallgemeinert Ihr Modell nicht richtig?

Der wichtigste Teil ist zu verstehen, warum sich Ihr Netzwerk nicht gut verallgemeinert. Hochleistungsmodelle für maschinelles Lernen können sich den Trainingssatz merken , was zu einer Überanpassung führen kann .

Überanpassung ist der Zustand, in dem ein Schätzer begonnen hat, das Trainingsset so gut zu lernen, dass er begonnen hat, das Rauschen in den Trainingsmustern (neben allen nützlichen Beziehungen) zu modellieren .

Zum Beispiel können wir im Bild unten sehen, wie die blaue Linie deutlich überzogen ist.

Aber warum ist das so schlimm?

Wenn Sie versuchen, unser Modell anhand neuer, zuvor nicht sichtbarer Daten (z. B. Validierungs- / Testsatz) zu bewerten , ist die Leistung des Modells viel schlechter als von uns erwartet.

Wie vermeide ich eine Überanpassung?

Am Anfang des Beitrags habe ich angedeutet, dass die Komplexität Ihres Modells die eigentliche Ursache für die Überanpassung ist, da das Modell dadurch unnötige Beziehungen aus dem Trainingssatz extrahieren kann, die sein inhärentes Rauschen abbilden. Der einfachste Weg, eine Überanpassung zu reduzieren, besteht darin , die Kapazität Ihres Modells wesentlich zu begrenzen . Diese Techniken werden Regularisierungstechniken genannt .

  • Parameter Norm Strafen . Diese fügen der Gewichtsaktualisierungsfunktion jedes Modells einen zusätzlichen Ausdruck hinzu, der von der Norm der Parameter abhängt. Dieser Zweck des Begriffs ist zu begegnen , die eigentliche Update (dh Grenze , wie viel jedes Gewicht kann aktualisiert werden). Dies macht die Modelle robuster gegen Ausreißer und Lärm. Beispiele für solche Regularisierungen sind L1- und L2- Regularisierungen, die auf den Regressoren Lasso , Ridge und Elastic Net zu finden sind .
    Da jede (vollständig verbundene) Schicht in einem neuronalen Netzwerk ähnlich wie eine einfache lineare Regression funktioniert, werden diese in neuronalen Netzwerken verwendet. Am häufigsten wird jede Schicht einzeln reguliert.
    Keras-Implementierung .

  • Frühes Anhalten . Diese Technik versucht, die Trainingsphase eines Schätzers vorzeitig zu beenden, und zwar an dem Punkt, an dem er gelernt hat, alle sinnvollen Beziehungen aus den Daten zu extrahieren, bevor er beginnt, sein Rauschen zu modellieren. Dies erfolgt durch Überwachen des Validierungsverlusts (oder einer Validierungsmetrik Ihrer Wahl) und Beenden der Trainingsphase, wenn sich diese Metrik nicht mehr verbessert . Auf diese Weise geben wir dem Schätzer genügend Zeit, um die nützlichen Informationen zu lernen, aber nicht genug, um aus dem Rauschen zu lernen.
    Keras-Implementierung .

  • Neuronale Netzspezifische Regularisierungen. Einige Beispiele sind:
    • Aussteiger . Dropout ist eine interessante Technik, die überraschend gut funktioniert. Dropout wird zwischen zwei aufeinanderfolgenden Ebenen in einem Netzwerk angewendet. Bei jeder Iteration wird ein bestimmter Prozentsatz der Verbindungen (zufällig ausgewählt), die die beiden Ebenen verbinden, gelöscht . Dies bewirkt, dass die nachfolgende Ebene auf alle Verbindungen zur vorherigen Ebene angewiesen ist.
      Keras-Implementierung
    • Übertragen Sie das Lernen . Dies wird insbesondere beim Deep Learning verwendet. Dazu werden die Wertigkeiten Ihres Netzwerks mit denen eines anderen Netzwerks mit derselben Architektur initialisiert, die für ein großes generisches Dataset vorab trainiert wurde .
    • Andere Dinge, die die Überanpassung in tiefen neuronalen Netzen einschränken können, sind: Batch-Normalisierung , die regulierend wirken kann und in einigen Fällen (z. B. Inception-Module) genauso gut funktioniert wie Dropout; relativ kleine Chargen in SGD, die auch eine Überanpassung verhindern können; Gewichten in ausgeblendeten Ebenen wird ein geringes Rauschen hinzugefügt .

Eine andere Möglichkeit, eine Überanpassung zu verhindern, ist, neben der Einschränkung der Modellkapazität, die Qualität Ihrer Daten zu verbessern. Die naheliegendste Wahl wäre Ausreißer / Rauschunterdrückung , in der Praxis ist ihr Nutzen jedoch begrenzt. Ein häufigerer Weg (insbesondere bei bildbezogenen Aufgaben) ist die Datenerweiterung . Hier versuchen wir, die Trainingsbeispiele nach dem Zufallsprinzip zu transformieren, sodass sie zwar für das Modell unterschiedlich erscheinen, aber die gleiche semantische Information enthalten (z. B. Links-Rechts-Spiegeln von Bildern).
Übersicht über die Datenerweiterung

Praktische Vorschläge:

  • Die bei weitem effektivste Regularisierungstechnik ist das Dropout , was bedeutet, dass dies die erste sein sollte, die Sie verwenden sollten. Sie müssen (und sollten es wahrscheinlich auch nicht tun), um überall Schulabbrecher zu platzieren! Am anfälligsten für Überanpassungen sind die Fully Connected (FC) -Lagen, da sie die meisten Parameter enthalten. Dropout sollte auf diese Ebenen angewendet werden (dies wirkt sich auf deren Verbindungen zur nächsten Ebene aus).
  • Die Batch-Normalisierung hat nicht nur einen Regularisierungseffekt, sondern unterstützt Ihr Modell auch auf verschiedene andere Arten (z. B. beschleunigt die Konvergenz, ermöglicht die Verwendung höherer Lernraten). Es sollte auch in FC-Schichten verwendet werden.
  • Wie bereits erwähnt, kann es auch vorteilhaft sein, Ihr Modell in der Trainingsphase früher als geplant zu stoppen. Das Problem beim vorzeitigen Anhalten ist, dass es keine Garantie dafür gibt, dass sich das Modell zu einem bestimmten Zeitpunkt nicht wieder verbessert. Ein praktischerer Ansatz als ein vorzeitiges Anhalten besteht darin, die Gewichte des Modells zu speichern, die die beste Leistung im Validierungssatz erzielen. Seien Sie jedoch vorsichtig, da dies keine unvoreingenommene Schätzung der Leistung Ihres Modells ist (nur besser als das Trainingsset). Sie können das Validierungsset auch überanpassen. Dazu später mehr.
    Keras-Implementierung
  • In einigen Anwendungen (z. B. bei bildbezogenen Aufgaben) wird dringend empfohlen, eine bereits etablierte Architektur (z. B. VGG, ResNet, Inception) zu verwenden, für die Sie ImageNet-Gewichte finden. Die generische Natur dieses Datasets ermöglicht es, dass die Features wiederum generisch genug sind, um für jede bildbezogene Aufgabe verwendet zu werden. Dies ist nicht nur robust gegen Überanpassung, sondern verkürzt auch die Trainingszeit erheblich.
    Eine andere Verwendung des ähnlichen Konzepts ist die folgende: Wenn Ihre Aufgabe nicht viele Daten enthält, Sie jedoch eine andere ähnliche Aufgabe finden, können Sie Transferlernen verwenden , um die Überanpassung zu reduzieren. Trainieren Sie zuerst Ihr Netzwerk für die Aufgabe mit dem größeren Datenbestand und versuchen Sie dann, eine Feinabstimmung durchzuführendas Modell, das Sie ursprünglich wollten. Das erste Training macht Ihr Modell in den meisten Fällen robuster gegen Überanpassung.
  • Datenerweiterung . Während es immer hilfreich ist, einen größeren Datensatz zu haben, haben Datenerweiterungstechniken ihre Mängel. Insbesondere müssen Sie darauf achten, nicht zu stark zuzunehmen , da dies den semantischen Inhalt der Daten ruinieren kann. Wenn Sie beispielsweise bei der Bildvergrößerung das Bild verschieben / verschieben / skalieren oder die Helligkeit / den Kontrast zu stark einstellen, gehen viele der darin enthaltenen Informationen verloren. Darüber hinaus müssen Erweiterungsschemata für jede Aufgabe ad-hoc implementiert werden (z. B. bei der handschriftlichen Ziffernerkennung werden die Ziffern normalerweise ausgerichtet und sollten nicht zu stark gedreht werden; sie sollten auch nicht in eine Richtung gedreht werden, da sie sind nicht horizontal / vertikal symmetrisch (Gleiches gilt für medizinische Bilder).
    Kurz gesagt, achten Sie darauf, keine unrealistischen Bilder durch Datenerweiterung zu erzeugen . Darüber hinaus erfordert eine größere Datenmenge eine längere Einarbeitungszeit. Persönlich überlege ich, ob ich Daten erweitern soll, wenn ich feststelle, dass mein Modell in der Nähe ist0 Verlust auf dem Trainingssatz.

9

Es gibt viele empirische Belege dafür, dass tief genug liegende neuronale Netze zufällige Bezeichnungen in riesigen Datensätzen speichern können (Chiyuan Zhang, Samy Bengio, Moritz Hardt, Benjamin Recht, Oriol Vinyals, "Um tiefes Lernen zu verstehen, muss man die Verallgemeinerung überdenken"). Im Prinzip können wir also durch Erzielen einer ausreichenden NN die NN immer verringern Trainingsfehler auf extrem kleine Werte in der Praxis durch die numerische Genauigkeit begrenzt sind, egal wie bedeutungslos die Aufgabe ist.

Ganz anders sieht es beim Generalisierungsfehler aus . Wir können nicht sicher sein, dass es für jedes Lernproblem ein lernfähiges NN-Modell gibt, das einen so geringen Generalisierungsfehler wie gewünscht erzeugen kann. Aus diesem Grund ist der erste Schritt zu

1. Stellen Sie Ihre Erwartungen richtig ein

Suchen Sie eine seriöse Referenz, die Ihnen mitteilt, dass es eine Architektur gibt, die den gesuchten Generalisierungsfehler erreichen kann, und zwar in Ihrem Datensatz oder in der ähnlichsten, für die Sie Referenzen finden. Schauen Sie zum Beispiel hier

Was sind die aktuellen neuronalen Faltungsnetze auf dem neuesten Stand der Technik?

Aktuelle (zum Zeitpunkt der Antworten) SOTA-Leistung (State of the Art) für CNNs für verschiedene Aufgaben zu finden. Es ist eine gute Idee, solche Ergebnisse in diesen Referenzdatensätzen zu reproduzieren, bevor Sie mit Ihrem eigenen Datensatz trainieren, um zu testen, ob Ihre gesamte Infrastruktur ordnungsgemäß eingerichtet ist.

2. Stellen Sie sicher, dass Ihr Trainingsablauf fehlerfrei ist

Alle Prüfungen in den Antworten auf die Frage beschrieben

Was soll ich tun, wenn mein neuronales Netzwerk nicht lernt?

Voraussetzung für eine erfolgreiche Reduzierung des Generalisierungsfehlers ist, dass Ihr Trainingsverfahren in Ordnung ist (wenn Ihr NN nicht lernt, kann es nicht lernen, zu generalisieren). Diese Prüfungen umfassen unter anderem:

  • Unit-Tests
  • Datensatzprüfungen (sehen Sie sich einige zufällige Eingabe- / Etikettenmuster sowohl für den Trainingssatz als auch für den Testsatz an und prüfen Sie, ob die Etiketten korrekt sind. Prüfen Sie die Breite und Größe der Eingabebilder Ergebnisse; etc.)
  • Randomisierungstests
  • Standardisieren Sie Ihre Vorverarbeitungs- und Paketversionen
  • Führen Sie ein Logbuch mit numerischen Experimenten

3. Versuchen Sie Superkonvergenz zu erreichen

„Superkonvergenz: Sehr schnelles Training neuronaler Netze mit hohen Lernraten“ hohen Lernraten von Leslie N. Smith und Nicholay Topin zeigt, dass in einigen Fällen die Kombination hoher Lernraten mit der zyklischen Lernratenmethode von Leslie N. Smith als Regularisierer fungiert Dies beschleunigt die Konvergenz um eine Größenordnung und verringert die Notwendigkeit einer umfassenden Regularisierung. Daher ist es gut, dies vorher zu versuchen

4. Stellen Sie Ihre Regularisierung auf den MAXXX ein

Regularisierung erhöht häufig die Trainingszeit (schlecht), erhöht den Trainingsfehler und verringert den Generalisierungsfehler (gut), aber zu viel Regularisierung kann tatsächlich beide Fehler erhöhen (Unteranpassung). Aus diesem Grund und aufgrund der längeren Trainingszeit ist es oft besser, die verschiedenen Regularisierungstechniken nacheinander einzuführen, nachdem Sie das Trainingsset erfolgreich überarbeitet haben. Beachten Sie, dass die Regularisierung für sich genommen nicht unbedingt bedeutet, dass Ihr Generalisierungsfehler kleiner wird: Das Modell muss über eine ausreichende Kapazität verfügen, um gute Generalisierungseigenschaften zu erzielen. Dies bedeutet häufig, dass Sie ein ausreichend tiefes Netzwerk benötigen, bevor Sie die Vorteile der Regularisierung erkennen können.

Die ältesten Regularisierungsmethoden sind wahrscheinlich frühes Anhalten und Gewichtsabnahme. Einige der anderen:

  • Batch-Größe reduzieren: Kleinere Batch-Größen sind normalerweise mit kleineren Generalisierungsfehlern verbunden, daher sollten Sie dies versuchen. Beachten Sie jedoch, dass einige die Nützlichkeit von Minibatches bestreiten: Meiner Erfahrung nach helfen sie (solange Sie keine verrückten kleinen Größen verwenden müssen, wie zm=16), Aber Elad Hoffer, Itay Hubara, Daniel Soudry Zug mehr, verallgemeinern besser: die Verallgemeinerung Lücke in großen Stück Ausbildung von neuronalen Netzwerken schließen nicht einverstanden sind . Beachten Sie, dass zu kleine Minibatches bei Verwendung der Chargennorm (siehe unten) sehr schädlich sind.
  • Verwenden Sie SGD anstelle von adaptiven Optimierern: Dies wurde bereits von @shimao behandelt, daher erwähne ich es nur der Vollständigkeit halber
  • Dropout verwenden: Wenn Sie LSTMs verwenden, verwenden Sie Standard-Dropout nur für Eingabe- und Ausgabeeinheiten einer LSTM-Ebene. Verwenden Sie für die wiederkehrenden Einheiten (die Tore) wiederkehrende Ausfälle, wie Yarin Gal in seiner Doktorarbeit gezeigt hat. These . Wenn Sie jedoch CNNs verwenden, wird Dropout jetzt weniger häufig verwendet. Stattdessen tendierst du dazu…
  • ... verwenden die Batch-Normalisierung: Die neuesten CNN-Architekturen verzichten zugunsten der Batch-Normalisierung auf Ausfälle. Dies könnte nur eine Modeerscheinung sein, oder es könnte an der Tatsache liegen, dass anscheinend Aussetzer und Batch-Normalisierung nicht gut zusammenspielen (Xiang Li, Shuo Chen, Xiaolin Hu, Jian Yang, Verständnis der Disharmonie zwischen Aussetzer und Batch-Normalisierung durch Varianz) Shift ). Da die Batch-Norm bei großen Datenmengen effektiver ist als Dropout, könnte dies ein Grund dafür sein, dass Dropout für CNN-Architekturen in Ungnade gefallen ist. Wenn Sie die Stapelnormalisierung verwenden, stellen Sie sicher, dass die Verteilung der Gewichte und Vorspannungen für jede Schicht ungefähr normal aussieht. Für RNNs ist die Implementierung der Chargennorm kompliziert: Gewichtsnormalisierung (Tim Salimans, Diederik P. Kingma,Weight Normalization: Eine einfache Neuparametrisierung zur Beschleunigung des Trainings von tiefen neuronalen Netzen ist eine praktikable Alternative.
  • Verwenden Sie die Datenerweiterung: Sie wirkt auch regulierend.

5. Hyperparameter / Architektur-Suche

Wenn nichts anderes hilft, müssen Sie mehrere verschiedene Hyperparametereinstellungen (Bayesian Optimization kann hier hilfreich sein) oder mehrere verschiedene Architekturänderungen (z. B. in Ihrer GAN-Architektur und für den Datensatz, an dem Sie arbeiten, funktioniert die Batch-Norm nur in der Generator, aber wenn es auch zum Diskriminator hinzugefügt wird, wird es noch schlimmer. Stellen Sie sicher, dass Sie die Ergebnisse dieser langen und langweiligen Experimente in einem geordneten Logbuch festhalten.

PS Für eine GAN macht es wenig Sinn, über einen Generalisierungsfehler zu sprechen: Das obige Beispiel war nur als Hinweis darauf gedacht, dass Deep Learning immer noch viel Alchemie beinhaltet und Dinge, von denen man erwartet, dass sie gut funktionieren, manchmal auch nicht oder umgekehrt, etwas, das viele Male in Ordnung war, scheißt plötzlich nach einem neuen Datensatz auf dich.


5

Eine Liste häufig verwendeter Regularisierungstechniken, die ich in der Literatur gesehen habe, sind:

  1. Verwenden der Batch-Normalisierung, die ein überraschend effektiver Regularizer ist, bis zu dem Punkt, an dem ich selten sehe, dass Dropout mehr verwendet wird, weil es einfach nicht notwendig ist.
  2. Eine kleine Menge an Gewichtsverlust.
  3. Einige neuere Regularisierungstechniken umfassen Shake-Shake ("Shake-Shake-Regularisierung" von Xavier Gastaldi) und Cutout ("Verbesserte Regularisierung faltungsbezogener neuronaler Netze mit Cutout" von Terrance DeVries und Graham W. Taylor). Insbesondere die Einfachheit, mit der Cutout implementiert werden kann, macht es sehr attraktiv. Ich glaube, dass diese besser funktionieren als Schulabbrecher - aber ich bin mir nicht sicher.
  4. Bevorzugen Sie nach Möglichkeit vollständig faltungsorientierte Architekturen gegenüber Architekturen mit vollständig verbundenen Schichten. Vergleichen Sie VGG-16, das 100 Millionen Parameter in einer einzigen vollständig verbundenen Schicht enthält, mit Resnet-152, das die zehnfache Anzahl von Schichten und noch weniger Parameter enthält.
  5. Bevorzugen Sie SGD gegenüber anderen Optimierern wie Rmsprop und Adam. Es wurde gezeigt, um besser zu verallgemeinern. ("Verbesserung der Generalisierungsleistung durch Wechsel von Adam zu SGD" von Nitish Shirish Keskar und Richard Socher)

0

Ich fühle mich wie Djib2011, gebe großartige Punkte zu automatisierten Methoden, aber sie befassen sich nicht wirklich mit der zugrunde liegenden Frage, woher wir wissen, ob die zur Reduzierung der Überanpassung eingesetzte Methode ihre Aufgabe erfüllt hat. Als wichtige Fußnote zur DeltaIV-Antwort wollte ich dies auf der Grundlage der jüngsten Forschungsergebnisse der letzten zwei Jahre aufnehmen. Bei der Überanpassung für neuronale Netze geht es nicht nur um das Über-Auswendiglernen des Modells, sondern auch um die Unfähigkeit des Modells, neue Dinge zu lernen oder mit Anomalien umzugehen.

Erkennen einer Überanpassung im Black-Box-Modell: Die Interpretierbarkeit eines Modells hängt direkt davon ab, wie gut Sie die Verallgemeinerungsfähigkeit eines Modells beurteilen können. Daher sind viele interpretierbare Diagramme Methoden zum Erkennen von Überanpassungen und können Ihnen sagen, wie gut eine der oben vorgeschlagenen Methoden funktioniert. Interpretierbarkeitsdiagramme erkennen dies direkt, insbesondere wenn Sie die Validierungs- und Testergebnisdiagramme vergleichen. In den Kapiteln 5 und 6 dieses unveröffentlichten Buches werden die jüngsten Fortschritte bei der Erkennung von Überanpassungen beschrieben: Interpretable Modeling

Basierend auf diesem Buch möchte ich drei andere Methoden zum Erkennen und Entfernen von Überanpassungen erwähnen, die für manche offensichtlich sind, aber ich persönlich finde, dass die Leute diese zu oft vergessen. Deshalb möchte ich sie hervorheben, wenn nicht einer meint:

  1. Feature Selection Detection : Je weniger Parameter und Features Ihr Modell hat, desto besser. Wenn Sie also nur das wichtigste der 100 Millionen einbeziehen (vielleicht 75 Millionen stattdessen), haben Sie ein besser verallgemeinerbares Modell. Das Problem ist, dass viele neuronale Netze bei der Merkmalsauswahl nicht perfekt sind, insbesondere wenn # 2 vorhanden ist. Bootstrap oder Boosting können grundsätzlich nicht beides beheben (nur eine Version namens Wild Bootstrap kann dies). Einfacher ausgedrückt: Wenn Sie Junk-Daten für neuronale Netzwerke bereitstellen, werden Sie Junk-Informationen erhalten. (Die oben erwähnte L2-Normalisierung kann dabei sehr gut helfen.)

  2. Aufdeckung und Behandlung von Anomalien: Je weniger "Ausreißer", desto verallgemeinerbarer das Modell. Mit "Ausreißern" meinen wir nicht nur Ausreißer in den Daten. Ausreißer in den Daten (wie bei einem Box-Plot) sind eine zu enge Definition für neuronale Netze. Sie müssen auch Ausreißer im Fehler in einem Modell berücksichtigen, der als Einfluss bezeichnet wird, sowie andere Anomalien. Das Erkennen von Anomalien vor dem Ausführen Ihres Netzwerks ist daher wichtig. Ein neuronales Netz kann gegen eine Art von Anomalie robust sein, jedoch nicht gegen alle anderen Arten. Counter-Beispielmethoden, Criticism-Methoden und Adversarial-Beispielmethoden sowie Influence-Diagramme helfen Ihnen dabei, Ausreißer zu erkennen und diese dann zu berücksichtigen.

  3. Stratified Sampling, Oversampling und Undersampling, basierend auf statistischen oder ethischen Überlegungen : Ich wünschte, ich wäre ein Experte für Unter- und Überstichproben, aber ich weiß nichts über Stratified Sampling. Das Clustering wichtiger Faktoren wie (Rasse, Geschlecht, Geschlecht) und das anschließende Stratified Sampling durch den Cluster ist von entscheidender Bedeutung, um eine Überanpassung bei der Berücksichtigung von Big Data zu vermeiden. Bei der Bilderkennung ist in einigen Bereichen eine geschichtete Abtastung in Kombination mit Clustering gesetzlich vorgeschrieben, um eine Diskriminierung aus Gründen der Rasse zu vermeiden. Das oben verlinkte Buch befasst sich kurz mit Methoden, um dies zu tun.

PS Soll ich mehr Links einbinden?

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.