In Bishops Buch "Pattern Classification and Machine Learning" beschreibt es eine Technik zur Regularisierung im Kontext neuronaler Netze. Ich verstehe jedoch keinen Absatz, der beschreibt, dass während des Trainings die Anzahl der Freiheitsgrade mit der Komplexität des Modells zunimmt. Das relevante Zitat ist das folgende:
Eine Alternative zur Regularisierung zur Kontrolle der effektiven Komplexität eines Netzwerks ist das Verfahren des frühen Stopps. Das Training nichtlinearer Netzwerkmodelle entspricht einer iterativen Reduzierung der Fehlerfunktion, die in Bezug auf einen Satz von Trainingsdaten definiert ist. Für viele der für das Netzwerktraining verwendeten Optimierungsalgorithmen, z. B. konjugierte Gradienten, ist der Fehler eine nicht zunehmende Funktion des Iterationsindex. Der in Bezug auf unabhängige Daten gemessene Fehler, der allgemein als Validierungssatz bezeichnet wird, zeigt jedoch häufig zuerst eine Abnahme, gefolgt von einer Zunahme, wenn das Netzwerk zu überanpassen beginnt. Das Training kann daher an der Stelle des kleinsten Fehlers in Bezug auf den Validierungsdatensatz gestoppt werden, wie in Abbildung 5.12 angegeben, um ein Netzwerk mit einer guten Generalisierungsleistung zu erhalten.Das Verhalten des Netzwerks in diesem Fall wird manchmal qualitativ durch die effektive Anzahl von Freiheitsgraden im Netzwerk erklärt, in denen diese Anzahl klein beginnt und dann während des Trainingsprozesses zunimmt, was einer stetigen Zunahme der effektiven Anzahl entspricht Komplexität des Modells.
Es heißt auch, dass die Anzahl der Parameter im Laufe des Trainings zunimmt. Ich ging davon aus, dass es sich bei "Parametern" um die Anzahl der Gewichte handelt, die von den verborgenen Einheiten des Netzwerks gesteuert werden. Vielleicht irre ich mich, weil durch den Regularisierungsprozess verhindert wird, dass die Gewichte an Größe zunehmen, aber ihre Anzahl ändert sich nicht. Könnte es sich um das Auffinden einer guten Anzahl versteckter Einheiten handeln?
Was ist ein Freiheitsgrad in einem neuronalen Netzwerk? Welche Parameter erhöhen sich während des Trainings?
Antworten:
Ich vermute, das ist was Bischof meint:
Wenn Sie sich ein neuronales Netz als eine Funktion vorstellen, die Eingaben auf eine Ausgabe abbildet, sieht das neuronale Netz beim ersten Initialisieren eines neuronalen Netzes mit kleinen Zufallsgewichten wie eine lineare Funktion aus. Die Sigmoid-Aktivierungsfunktion ist nahezu linear um Null (machen Sie einfach eine Taylor-Erweiterung), und kleine eingehende Gewichte garantieren, dass die effektive Domäne jeder versteckten Einheit nur ein kleines Intervall um Null ist, also das gesamte neuronale Netz, unabhängig davon, wie viele Ebenen, die Sie haben, sehen sehr nach einer linearen Funktion aus. Sie können das neuronale Netz also heuristisch als ein Netz mit einer kleinen Anzahl von Freiheitsgraden beschreiben (die der Dimension der Eingabe entsprechen). Wenn Sie das neuronale Netz trainieren, können die Gewichte beliebig groß werden, und das neuronale Netz kann beliebige nichtlineare Funktionen besser approximieren. So wie das Training fortschreitet,
quelle
Der Ausdruck "manchmal qualitativ erklärt" legt nahe, dass er lediglich eine Analogie zur einfachen linearen Regression darstellt. Jedes Mal, wenn wir einem linearen Regressionsmodell einen Term hinzufügen, fügen wir dem Modell einen Freiheitsgrad hinzu und subtrahieren einen Freiheitsgrad von denjenigen, die mit dem Fehlerterm assoziiert sind. Wenn wir genügend unabhängige Begriffe in ein Modell aufnehmen, können wir den Verlauf aus einer Reihe von Zufallszahlen perfekt "vorhersagen", aber wir können die Zukunft überhaupt nicht vorhersagen.
quelle
Ich denke, dass etwas Ähnliches von HTF Sec bereitgestellt wurde . 7.6 , obwohl sie sich überraschenderweise nicht auf Ye (1998) beziehen. Sie bezeichnen Bischof jedoch als Sonderfall.
quelle
Er sagt die "effektive Komplexität des Netzwerks". Er bezieht sich tatsächlich auf die Größe der Gewichte des Netzwerks. Dies kann im Hinblick auf das Prinzip der minimalen Beschreibungslänge verstanden werden . Aber bevor ich darauf eingehe, ist die Intuition, dass je größer die Gewichte, desto mehr verschiedene Arten von Funktionen in Ihr Netzwerk passen und somit die Freiheitsgrade (und die effektive Komplexität) höher sind.
In diesem Kapitel geht es um Regularisierung, eine Technik, mit der das Risiko einer Überanpassung effektiv verringert wird, indem die Gewichte so klein wie möglich gehalten werden. Allgemein,
Im Allgemeinen haben Sie, dass die MAP-Schätzung äquivalent zu den folgenden ist,
Die rechte Seite des Ausdrucks kann als die Anzahl der Bits interpretiert werden, die zur Beschreibung Ihres Klassifikators erforderlich sind. Der erste Term gibt die Anzahl der Bits an, die erforderlich sind, um die Fehler zu codieren, die Ihr Netzwerk bei den Trainingsdaten macht. Die zweite Zahl gibt die Anzahl der Bits an, die zum Codieren der Gewichte erforderlich sind.
Die MAP-Schätzung entspricht somit der Auswahl einer möglichst kompakten Darstellung. Mit anderen Worten, Sie suchen nach dem Gewichtungssatz, der die Trainingsdaten so genau wie möglich berücksichtigt und der mit der geringsten Anzahl von Bits ausgedrückt werden kann.
Beachten Sie, dass dies eine andere Form des Bias / Varianz-Problems ist: Je größer die Gewichte, desto geringer der erste Term, da das Netzwerk die Trainingsdaten besser anpassen kann (Überanpassung). Gleichzeitig ist aber die Komplexität der Gewichte umso höher. Je kleiner die Gewichte sind, desto kleiner ist die Komplexität des Netzwerks, aber desto höher ist der Fehlerterm (Bias). Je höher die Anzahl der Bits, um die Fehler des Netzwerks zu codieren.
Hoffe, das gibt Ihnen eine gute Vorstellung davon, worauf er sich bezieht.
PS: Ein längeres Argument zur laufenden Diskussion hinzufügen Vielleicht verstehe ich dich falsch. Lassen Sie mich bitte versuchen, mich ein letztes Mal zu erklären.
Die Prioritäten für die Gewichtsmittel stellen die Annahme dar, die wir über die Funktion machen, die Sie anpassen möchten. Je größer der Prior (dh die Gewichte), desto breiter der Gauß'sche Wert, dh desto mehr mögliche Konfigurationen werden für das Netzwerk in Betracht gezogen.
Betrachten wir den Fall der Regression (wie in dem Artikel, auf den ich mich bezog). Ein geringer Generalisierungsfehler bedeutet, dass das Netzwerk unsichtbare Samples sehr nahe an den tatsächlichen Werten abbilden kann. Wenn Sie eine gerade Linie einpassen, genügt ein Polynom erster Ordnung (geringe Komplexität). Jetzt können Sie die Daten auch mit einem Polynom höherer Ordnung anpassen (Koeffizienten höherer Ordnung müssen sich von Null unterscheiden). Die Komplexität des Netzwerks ist höher, da Sie für eine komplexere Kurve Oszillationen zulassen. Wenn die Koeffizienten, die den Termen höherer Ordnung entsprechen, jedoch niedrig genug sind, kann das Netzwerk die Gerade sehr gut approximieren, was zu einer guten Verallgemeinerung führt.
Der springende Punkt bei MDL ist es also, Ihre Gewichte so klein wie möglich zu halten, solange der Generalisierungsfehler minimiert werden kann.
Abschließend zitiere ich Sie: "Ich finde das Argument, dass die Fähigkeit des Modells, andere Funktionen zu modellieren, mit zunehmender Überanpassung zunehmen wird, immer noch problematisch. Ich denke, dass das Gegenteil der Fall ist, da ein überanpassendes Modell nicht verallgemeinert werden kann, um auf neues Modell angewendet zu werden Information.". Ja, es kann ANDERE, komplexere Funktionen modellieren, aber es wird die vorliegende Funktion nicht richtig modellieren. In der Abbildung 5.12 im Buch nimmt der Fehler zuerst ab, wenn die Größe des Gewichts zunimmt (Verringerung der Verzerrung). Bis zu einem bestimmten Zeitpunkt, an dem es wieder zunimmt (Abnahme der Generalisierung, Überanpassung).
quelle