ForHosting KIT · Entwickler-Tools

Rechner für die Kullback-Leibler-Divergenz

Dieser Rechner misst mit der Kullback-Leibler-Divergenz, wie stark eine diskrete Wahrscheinlichkeitsverteilung von einer Referenzverteilung abweicht.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Geben Sie zwei gleich lange Arrays ein, deren Wahrscheinlichkeiten jeweils eins ergeben, und Sie erhalten die gerichtete Divergenz in Nats. Die deterministische Berechnung verwendet den natürlichen Logarithmus und behandelt Nullwerte in der ersten Verteilung korrekt. Unterschiedliche Längen, ungültige Summen, negative Werte und Nullwahrscheinlichkeiten in der Referenz werden klar gemeldet, statt ein irreführendes unendliches oder undefiniertes Ergebnis zu liefern.

Verstehen Sie die Bedeutung der KL-Divergenz

Die Kullback-Leibler-Divergenz vergleicht eine Verteilung P mit einer Referenz Q anhand des logarithmischen Verhältnisses der zugehörigen Wahrscheinlichkeiten. Sie beantwortet eine gerichtete Frage: Wie viel Information geht verloren, wenn Q Ergebnisse beschreibt, die tatsächlich P folgen? Null bedeutet, dass beide Verteilungen an jeder Position übereinstimmen; ein größerer positiver Wert zeigt eine stärkere Abweichung. Die Richtung ist entscheidend, denn beim Vertauschen von P und Q ändert sich das Ergebnis meistens. Dieser Rechner liefert D(P || Q): Das erste Array ist die untersuchte Verteilung, das zweite die Referenz. Da natürliche Logarithmen verwendet werden, lautet die Einheit Nats und nicht Bits. Die KL-Divergenz ist keine metrische Distanz: Sie ist asymmetrisch und erfüllt die Dreiecksungleichung nicht. Gerade deshalb eignet sie sich für Informationstheorie, statistische Inferenz, Modellanpassung und Vergleiche mit einer klar definierten Referenz.

Bereiten Sie gültige Wahrscheinlichkeitsarrays vor

Tragen Sie in beide Arrays gleich viele Wahrscheinlichkeiten ein und behalten Sie dieselbe Reihenfolge der Ergebnisse bei. Steht die erste Position in P für Regen, muss sie auch in Q für Regen stehen. Jeder Wert muss endlich und nicht negativ sein; jedes vollständige Array muss eins ergeben. Eine sehr kleine Toleranz berücksichtigt die Gleitkommadarstellung, beliebige Gewichte werden jedoch nicht automatisch normalisiert. Normalisieren Sie Anzahlen oder Bewertungen daher vorher. Null ist in P zulässig, weil ein unmögliches Ereignis nichts zur Summe beiträgt. Jeder Nullwert in der Referenz wird abgelehnt: Bei einem positiven zugehörigen P-Wert ist das logarithmische Verhältnis nicht definiert und die Divergenz kann unendlich werden. Die strenge Prüfung entdeckt außerdem verschobene Kategorien, gekürzte Arrays, ganzzahlige Prozentangaben und unvereinbare Bezeichnermengen.

Interpretieren und verwenden Sie das Ergebnis sorgfältig

Die Antwort enthält die Divergenz und die Einheit Nats. Werte nahe null sprechen dafür, dass Q die Verteilung P gut darstellt; einen allgemein gültigen Grenzwert für gute oder schlechte Modelle gibt es jedoch nicht. Die Bedeutung hängt von Kategorienzahl, Anwendung, Stichprobenverfahren und Fehlerkosten ab. Vergleichen Sie nur Ergebnisse mit denselben Kategorien und derselben Richtung. Sie können Modellversionen verfolgen, aktuelle Daten einer freigegebenen Basislinie gegenüberstellen oder die Kennzahl zusammen mit weiteren Maßen und Unsicherheiten berichten. Verstehen Sie sie nicht als Wahrscheinlichkeit, Prozentsatz, Korrelation oder symmetrische Distanz. Auch Stichprobenrauschen kann zwischen Daten aus demselben Prozess eine Divergenz erzeugen. Der Browser eignet sich für Einzelprüfungen; eine API-Anfrage kostet $0.002 und ermöglicht wiederholbare Automatisierung. Identische gültige Eingaben liefern stets dasselbe gerundete JSON-Ergebnis.

Verteilungsdrift überwachen

Vergleichen Sie eine aktuelle kategoriale Verteilung mit einer positiven Referenz, um gerichtete Änderungen über die Zeit zu quantifizieren.

Probabilistische Modelle bewerten

Messen Sie mit einer etablierten Informationsgröße die Abweichung einer Modellreferenz von einer beobachteten oder gewünschten Verteilung.

Kompressionsannahmen prüfen

Schätzen Sie den Informationsnachteil, wenn Ergebnisse mit anderen Wahrscheinlichkeiten als denen der Quelle dargestellt werden.

In welcher Richtung rechnet das Werkzeug?

Es berechnet D(P || Q) von der ersten Verteilung zur zweiten Referenzverteilung. Beim Vertauschen kann ein anderer Wert entstehen.

Warum wird das Ergebnis in Nats angegeben?

Die Formel nutzt den natürlichen Logarithmus. Mit einem Logarithmus zur Basis zwei würde das Ergebnis in Bits angegeben.

Darf die erste Verteilung Nullwerte enthalten?

Ja. Nach der üblichen Grenzwertkonvention trägt eine Wahrscheinlichkeit von null in P mit null zur Divergenz bei.

Warum sind Nullwerte in der Referenz unzulässig?

Null in Q macht das logarithmische Verhältnis bei einem positiven zugehörigen P-Wert undefiniert und kann unendliche Divergenz bedeuten.

Müssen sich die Wahrscheinlichkeiten exakt zu eins addieren?

Sie müssen innerhalb einer kleinen numerischen Toleranz eins ergeben. Der Rechner prüft Werte, normalisiert Gewichte aber nicht automatisch.

Was kostet eine Berechnung über die API?

Jede API-Anfrage kostet $0.002. Im Browser können Sie die Berechnung auch kostenlos ausführen.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/stat/kl-divergence

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/stat/kl-divergence \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"distribution":[0.5,0.3,0.2],"reference":[0.4,0.4,0.2]}'
{
  "distribution": [
    0.5,
    0.3,
    0.2
  ],
  "reference": [
    0.4,
    0.4,
    0.2
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.kl_divergence",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →