Was bedeutet Logits beim maschinellen Lernen?

11

"Ein häufiger Fehler, den ich machen würde, ist das Hinzufügen einer Nichtlinearität zu meiner Protokollausgabe."

Was bedeutet der Begriff "logit" hier oder was bedeutet er?

fateh
quelle

Antworten:

14

Logits werden als nicht normalisierte (oder noch nicht normalisierte) Vorhersagen (oder Ausgaben) eines Modells interpretiert . Diese können zu Ergebnissen führen, aber wir hören normalerweise nicht mit Protokollen auf, da die Interpretation ihrer Rohwerte nicht einfach ist.

Schauen Sie sich ihre Definition an, um zu verstehen, wie Protokolle erstellt werden.

Lassen Sie mich anhand eines Beispiels erklären:

Wir möchten ein Modell trainieren, das lernt, wie man Katzen und Hunde klassifiziert, indem wir Fotos verwenden, die jeweils entweder eine Katze oder einen Hund enthalten. Sie erstellen ein Modell und geben ihm einige der Daten, die Sie benötigen, um eine Zuordnung zwischen Bildern und Vorhersagen zu approximieren. Anschließend geben Sie dem Modell einige der unsichtbaren Fotos, um die Vorhersagegenauigkeit anhand neuer Daten zu testen. Da wir ein Klassifizierungsproblem haben (wir versuchen, jedes Foto in eine von zwei Klassen einzuteilen), gibt uns das Modell zwei Bewertungen für jedes Eingabebild. Eine Punktzahl für die Wahrscheinlichkeit, dass das Bild eine Katze enthält, und eine Punktzahl für die Annahme, dass das Bild einen Hund enthält.

Vielleicht erhalten Sie für das erste neue Bild Logit-Werte 16.917für eine Katze und dann 0.772für einen Hund. Höher bedeutet besser oder ("wahrscheinlicher"), also würden Sie sagen, dass eine Katze die Antwort ist. Die richtige Antwort ist eine Katze, also hat das Modell funktioniert!

Für das zweite Bild kann das Modell sagen, dass die Logit-Werte für eine Katze 1,004 und für einen Hund 0,709 betragen. Unser Modell sagt also noch einmal, dass das Bild eine Katze enthält. Die richtige Antwort ist wieder eine Katze, also hat das Modell wieder funktioniert!

Nun wollen wir die beiden Ergebnisse vergleichen. Eine Möglichkeit, dies zu tun, besteht darin, die Punktzahlen zu normalisieren. Das heißt, wir normalisieren die Logs ! Auf diese Weise erhalten wir einen Einblick in das Vertrauen unseres Modells.

Verwenden wir den Softmax , bei dem sich alle Ergebnisse summieren, 1und erlauben Sie uns, sie als Wahrscheinlichkeiten zu betrachten:

σ(z)j=ezjk=1Kezkforj=1,,K.

Für das erste Testbild erhalten wir

prob(cat)=exp(16.917)exp(16.917)+exp(0.772)=0.9999
prob(dog)=exp(0.772)exp(16.917)+exp(0.772)=0.0001

Wenn wir dasselbe für das zweite Bild tun, erhalten wir die Ergebnisse:

prob(cat)=exp(1.004)exp(1.004)+exp(0.709)=0.5732
prob(dog)=exp(0.709)exp(1.004)+exp(0.709)=0.4268

Das Modell war sich über das zweite Bild nicht wirklich sicher, da es sehr nahe an 50-50 lag - eine Vermutung!

Der letzte Teil des Zitats aus Ihrer Frage bezieht sich wahrscheinlich auf ein neuronales Netzwerk als Modell. Die Schichten eines neuronalen Netzwerks nehmen üblicherweise Eingabedaten auf, multiplizieren diese mit einigen Parametern (Gewichten), die wir lernen möchten, und wenden dann eine Nichtlinearität anFunktion, die dem Modell die Fähigkeit gibt, nichtlineare Beziehungen zu lernen. Ohne diese Nichtlinearität wäre ein neuronales Netzwerk einfach eine Liste linearer Operationen, die an einigen Eingabedaten ausgeführt werden, was bedeutet, dass es nur lineare Beziehungen lernen kann. Dies wäre eine massive Einschränkung, was bedeutet, dass das Modell immer auf ein lineares Grundmodell reduziert werden könnte. Abgesehen davon wird es nicht als hilfreich angesehen, eine Nichtlinearität auf die Logit-Ausgaben eines Modells anzuwenden, da Sie im Allgemeinen einige Informationen ausschneiden, bevor eine endgültige Vorhersage getroffen wird. Suchen Sie in diesem Thread nach verwandten Kommentaren .

n1k31t4
quelle
8

Logits sind die nicht normalisierten Endergebnisse Ihres Modells. Sie wenden Softmax darauf an, um eine Wahrscheinlichkeitsverteilung über Ihre Klassen zu erhalten.

Himanshu Rai
quelle