Yapamazsın ve yapamazsın. Olasılık dağılımının rastgele bir değişkenine sahip olduğunuzu düşünün. Ama arkadaşınız Bob, sonucun P olasılık olasılığından geldiğini düşünüyor. sonuç. Ancak, kodlamayı Q'dan değil P'den oluşturduğundan, kodları gerekenden daha uzun olacaktır. KL-divergence kodların ne kadar uzun olacağını ölçer.
Şimdi bir madalyonun olduğunu ve elde ettiği sonuçların sırasını söylemek istediğini varsayalım. Baş ve kuyruk eşit derecede büyük olduğundan, onlara her iki 1 bitlik kodu verir. Kafa için 0, kuyruk için 1. Kuyruk kuyruğu baş kuyruğu alırsa, 1 1 0 1 gönderebilir. Şimdi, madeni parası kenara düşerse size söyleyemez! Size gönderdiği hiçbir kod işe yaramaz. Bu noktada KL ayrışması bozulur.
KL-ıraksama çöktüğünden, başka bir ölçü veya başka olasılık dağılımları kullanmanız gerekecektir. Yapmanız gereken gerçekten ne istediğinize bağlıdır. Neden olasılık dağılımlarını karşılaştırıyorsunuz? Olasılık dağılımlarınız nereden geliyor, verilerden mi tahmin ediliyor?
Olasılık dağılımlarınızın bir şekilde doğal dil belgelerinden geldiğini ve kategori çiftlerini karşılaştırmak istediğinizi söylüyorsunuz.
İlk olarak, simetrik bir ilişki ölçüsü öneririm. Bu uygulama için A'nın B'ye benzer olması, B'nin A'ya benzer olması gibi görünür.
Kosinüs benzerlik ölçüsünü denediniz mi? NLP'de oldukça yaygındır.
KL'ye bağlı kalmak istiyorsanız, yapabileceğiniz bir şey, her iki belgeden de bir olasılık işlevi tahmin etmek ve ardından her iki belge için ortalama kaç bit daha ihtiyacınız olduğunu görmek. Yani (P || (P + Q) / 2 + Q || (P + Q) / 2) / 2