Clustering: Dois-je utiliser la divergence Jensen-Shannon ou son carré?

15

Je regroupe les distributions de probabilité en utilisant l' algorithme de propagation d'affinité et je prévois d'utiliser la divergence de Jensen-Shannon comme métrique de distance.

Est-il correct d'utiliser JSD lui-même comme distance ou JSD au carré? Pourquoi? Quelles différences résulteraient du choix de l'un ou de l'autre?

AlcubierreDrive
la source

Réponses:

20

Je pense que cela dépend de la façon dont il doit être utilisé.

Juste pour référence pour d'autres lecteurs, si et Q sont des mesures de probabilité, alors la divergence de Jensen-Shannon est J ( P , Q ) = 1PQR=1

J(P,Q)=12((P∣∣R)+(Q∣∣R))
est la mesure médiane etD()est la divergence de Kullback-Leibler.R=12(P+Q)(∣∣)

Maintenant, je serais tenté d'utiliser la racine carrée de la divergence de Jensen-Shannon car c'est une métrique , c'est-à-dire qu'elle satisfait toutes les propriétés "intuitives" d'une mesure de distance.

Pour plus de détails à ce sujet, voir

Endres et Schindelin, Une nouvelle métrique pour les distributions de probabilité , IEEE Trans. sur Info. Tes. , vol. 49, non. 3, juil.2003, p. 1858-1860.

Bien sûr, dans un certain sens, cela dépend de ce dont vous avez besoin. Si vous ne l'utilisez que pour évaluer une mesure par paire, alors toute transformation monotone de JSD fonctionnerait. Si vous cherchez quelque chose qui se rapproche le plus d'une "distance au carré", alors le JSD lui-même est la quantité analogue.

Soit dit en passant, vous pourriez également être intéressé par cette question précédente et les réponses et discussions associées.

cardinal
la source
Cool, je vais lire "une nouvelle métrique pour la distribution de probabilité" dès que possible. Txh
ocram
Merci! Je ne savais pas que JSD lui-même est déjà analogue à dist ** 2
AlcubierreDrive
Merci pour l'excellente explication! Juste une petite question. Je sais que J-Divergence est symétrique en cela J(P,Q) = J(Q,P). J'ai lu que la divergence JS est symétrique en P et Q. Est-ce à dire JS(P,Q) = JS(Q,P)? Je pose cette question car j'utilise la KLdivfonction du flexmixpackage dans R. Pour mes deux distributions, la sortie matricielle de KLdiv n'est pas symétrique. Je m'attendais à ce que JS corrige cela, mais la sortie de JS (calculée à l'aide de KL) n'est pas symétrique.
Legend
1
PQ