ForHosting KIT · Outils pour développeurs

Calculateur de divergence de Kullback-Leibler

Ce calculateur de divergence de Kullback-Leibler mesure l’écart entre une distribution de probabilité discrète et une distribution de référence.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Saisissez deux tableaux de même longueur dont les probabilités totalisent un pour obtenir la divergence orientée en nats. Le calcul déterministe emploie le logarithme naturel et traite correctement les zéros de la première distribution. Il contrôle aussi les données et signale les longueurs différentes, sommes incorrectes, valeurs négatives et probabilités de référence nulles au lieu de produire un résultat infini ou indéfini trompeur.

Comprendre ce que mesure la divergence KL

La divergence de Kullback-Leibler compare une distribution P à une référence Q grâce au rapport logarithmique de leurs probabilités correspondantes. Elle répond à une question orientée : quelle information perd-on lorsque Q représente des résultats qui suivent en réalité P ? Un résultat nul signifie que les distributions coïncident à chaque position ; une valeur positive plus élevée révèle un écart supérieur. L’ordre compte, car permuter P et Q modifie généralement la réponse. Ce calculateur fournit D(P || Q) : le premier tableau est la distribution évaluée et le second la référence. Il utilise le logarithme naturel, donc l’unité est le nat et non le bit. La divergence KL n’est pas une distance métrique : elle est asymétrique et ne respecte pas l’inégalité triangulaire. Ces propriétés conviennent à la théorie de l’information, à l’inférence statistique et à l’ajustement de modèles.

Préparer des tableaux de probabilités valides

Saisissez autant de probabilités dans chaque tableau et conservez le même ordre des catégories. Si la première position désigne la pluie dans P, elle doit aussi désigner la pluie dans Q. Chaque valeur doit être finie et non négative, et chaque tableau complet doit totaliser un. Une très faible tolérance tient compte des nombres à virgule flottante, mais les pondérations arbitraires ne sont pas normalisées. Normalisez donc les effectifs ou scores au préalable. Un zéro dans P est permis, car un événement impossible apporte zéro à la somme. Tout zéro dans la référence est refusé : il rend le rapport logarithmique indisponible lorsque la valeur correspondante de P est positive et peut produire une divergence infinie. Cette validation détecte aussi les catégories décalées, tableaux tronqués, pourcentages entiers et ensembles d’étiquettes incompatibles.

Interpréter et exploiter le résultat avec discernement

La réponse contient la divergence et l’unité nats. Une valeur proche de zéro indique que Q représente bien P, mais aucun seuil universel ne sépare un bon modèle d’un mauvais. La portée du résultat dépend du nombre de catégories, de l’application, de l’échantillonnage et du coût des erreurs. Comparez des calculs ayant les mêmes catégories et la même orientation. Vous pouvez suivre les versions d’un modèle, confronter une distribution récente à une référence approuvée ou publier cette mesure avec d’autres indicateurs et estimations d’incertitude. Ne l’interprétez ni comme une probabilité, ni comme un pourcentage, une corrélation ou une distance symétrique. Le bruit d’échantillonnage peut créer un écart entre deux échantillons du même processus. Le navigateur convient aux contrôles ponctuels ; une requête API coûte $0.002 et facilite l’automatisation. Des entrées valides identiques donnent toujours le même JSON arrondi.

Surveiller la dérive d’une distribution

Comparez une distribution catégorielle récente à une référence strictement positive afin de quantifier son évolution orientée.

Évaluer des modèles probabilistes

Mesurez l’écart entre la référence d’un modèle et une distribution observée ou cible avec une grandeur informationnelle reconnue.

Vérifier des hypothèses de compression

Estimez la pénalité d’information liée à des probabilités de représentation différentes de celles de la source.

Dans quel sens le calcul est-il effectué ?

Le calcul donne D(P || Q), de la première distribution vers la seconde, qui sert de référence. Les permuter peut changer la valeur.

Pourquoi le résultat est-il exprimé en nats ?

La formule emploie le logarithme naturel. Un logarithme en base deux donnerait un résultat en bits.

La première distribution peut-elle contenir zéro ?

Oui. Selon la convention de limite habituelle, une probabilité nulle dans P contribue pour zéro à la divergence.

Pourquoi les probabilités de référence nulles sont-elles refusées ?

Un zéro dans Q rend le rapport logarithmique indéfini si le P correspondant est positif et peut entraîner une divergence infinie.

Les probabilités doivent-elles totaliser exactement un ?

Elles doivent totaliser un à une faible tolérance numérique près. Le calculateur valide les valeurs sans normaliser les poids.

Quel est le prix d’un calcul par API ?

Chaque requête API coûte $0.002. Vous pouvez également lancer gratuitement le calcul dans votre navigateur.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

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

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →