Kysymys:
Lasketaanko Kullback-Leibler-divergenssi käytännössä?
smwikipedia
2014-05-16 07:04:48 UTC
view on stackexchange narkive permalink

Käytän KL-divergenssia 2 $ pmf $ $ P $: n ja $ Q $: n välisen erotuksen mittarina.

$$ D_ {KL} (P || Q) = \ sum_ {i = 1} ^ N \ ln \ vasen (\ frac {P_i} {Q_i} \ oikea) P_i $$$$ = - \ summa P (X_i) ln \ vasen (Q (X_i) \ oikea) + \ summa P ( X_i) ln \ vasen (P (X_i) \ oikea) $$

Jos $$ P (X_i) = 0 $$, voimme helposti laskea, että $$ P (X_i) ln \ left (Q (X_i) \ oikea) = 0 $$ $$ P (X_i) ln \ vasen (P (X_i) \ oikea) = 0 $$

Mutta jos $$ P (X_i) \ ne0 $$ ja $$ Q (X_i) = 0 $$ miten lasketaan $$ P (X_i) ln \ vasen (Q (X_i) \ oikea) $$

Voit säästää kaikkia muita jonkin aikaa tuijottaen mitä tarkoitit. Haluat ehkä muuttaa $ P (X_i)! = 0 $ arvoksi $ P (X_i) \ ne 0 $ "\ ne" -merkillä
Tarkoitatko lisäksi, että $ Q (X_i) = 0 $ kaikille $ X_i $: lle? Tällöin KL-divergenssia ei ole määritelty, koska $ Q $ ei ole todennäköisyysfunktio (niiden täytyy olla yhtä kuin tuen yläpuolella).
@Matthew Kiitos, korjattu. Seurasin koodaustapaani vahingossa.
@Matthew $ Q (X_i) = 0 $ joillekin $ X_i $, ei kaikille. Harkitsen kiertotapaa $ P $: n ja $ Q $: n perustamiseksi * samaan lopputulokseen * ja lisäämään pieni * näennäismäärä *, esimerkiksi 0,001, näkemättömille tuloksille. Se voi välttää nolla-arvoiset todennäköisyydet. Mutta en ole varma, onko sivuvaikutuksia.
Kolme vastused:
user1417648
2014-05-21 19:36:27 UTC
view on stackexchange narkive permalink

Et voi ja et. Kuvittele, että sinulla on satunnaismuuttuja todennäköisyysjakaumasta Q. Mutta ystäväsi Bob ajattelee, että tulos tulee todennäköisyysjakaumasta P. Hän on rakentanut optimaalisen koodauksen, joka minimoi odotettujen bittien määrän, jota hänen on käytettävä kertomaan sinulle tulokset. Mutta koska hän rakensi koodauksen P: stä eikä Q: stä, hänen koodinsa ovat pidempiä kuin tarpeen. KL-divergenssi mittaa, kuinka kauan koodit ovat pidempiä.

Oletetaan nyt, että hänellä on kolikko ja hän haluaa kertoa sinulle saadun lopputuloksen. Koska pää ja häntä ovat yhtä todennäköisiä, hän antaa heille molemmat 1-bittiset koodit. 0 päätä, 1 häntä. Jos hän saa hännän hännän pään hännän, hän voi lähettää 1 1 0 1. Nyt, jos hänen kolikonsa laskeutuu reunalle, hän ei voi kertoa sinulle! Mikään hänen lähettämästään koodista ei toimisi. Tässä vaiheessa KL-divergenssi hajoaa.

Koska KL-divergenssi hajoaa, sinun on joko käytettävä toista mittaria tai muita todennäköisyysjakaumia. Se, mitä sinun pitäisi tehdä, riippuu todella siitä, mitä haluat. Miksi verrataan todennäköisyysjakaumia? Mistä todennäköisyysjakaumasi tulevat, arvioidaanko ne datasta?

Sanot todennäköisyysjakaumiesi olevan jotenkin luonnollisen kielen asiakirjoista ja haluat verrata luokkien pareja.

Ensin , Suosittelisin symmetristä sukulaisuusmittaa. Tälle sovellukselle kuulostaa siltä, ​​että A on samanlainen kuin B, koska B on samanlainen kuin A. Se on melko yleistä NLP: ssä.

Jos haluat pitää kiinni KL: stä, yksi asia, jonka voisit tehdä, on arvioida todennäköisyysfunktio molemmista asiakirjoista ja nähdä sitten kuinka monta ylimääräistä bittiä tarvitset keskimäärin kumpaankin asiakirjaan. Tämä on (P || (P + Q) / 2 + Q || (P + Q) / 2) / 2

Suuri selitys, mutta hieman hämmentävä: tapa, jolla kuvaat ensimmäisen kappaleen, eikö olekin KL (Q || P)?
seosjakauman käyttäminen tukien yhdistämisen saamiseksi ja välittäjänä on idea, jonka olen kadonnut 20 vuotta \ o /
concipiotech
2014-05-16 08:13:29 UTC
view on stackexchange narkive permalink

Olen käytännössä törmännyt myös tähän asiaan. Tässä tapauksessa olen havainnut, että arvon 0 korvaaminen hyvin pienellä määrällä voi aiheuttaa ongelmia. Käyttämästäsi arvosta riippuen otat "puolueellisuuden" KL-arvoon. Jos käytät KL-arvoa hypoteesitestaukseen tai muuhun käyttöön, johon liittyy kynnysarvo, tämä pieni arvo voi kallistaa tuloksia. Olen havainnut, että tehokkain tapa käsitellä tätä on harkita KL: n laskemista vain yhdenmukaisen hypoteesi-avaruuden X_i yli, jossa Kumpikin P ja Q eivät ole nollia. Pohjimmiltaan tämä rajoittaa KL: n toimialueen toimialueeseen, jossa molemmat on määritelty, ja estää sinut ongelmista käytettäessä KL: tä hypoteesitestien suorittamiseen.

Kiitos. Se on mielenkiintoinen ehdotus. Pohjimmiltaan se yrittää myös perustaa P: n ja Q: n samaan lopputulokseen. Yritän sitä.
Jos lasken KL: n tietojoukolle, jossa sekä P että Q eivät ole nollia, onko minun normalisoitava P ja Q uudelleen tämän osajoukon yli? Tai käytä vain alkuperäistä todennäköisyysarvoa? Minun pitäisi. Muuten P ja Q eivät vieläkään ole samalla pohjalla.
Yritin juuri ehdotuksellasi. P jakaa yli 10K-tuloksen ja Q jakaa myös 10K-tuloksen. Mutta P: llä ja Q: lla on yhteisiä vain 3K-tulokset. Jos käytän vain yleisiä 3K-tuloksia P: n ja Q: n välisen eron arvioimiseksi, en usko sen olevan järkevää. Koska sivuutamme monia asioita. Ja BTW, tulos tällä lähestymistavalla on aivan erilainen kuin mitä saan lisäämällä pienen määrän (tai näennäismäärän).
Lisää asiayhteys. Työskentelen NLP-kokeilua. Minulla on useita asiakirjaluokkia, ja haluan kertoa, kuinka lähellä kukin luokkapari liittyy toisiinsa.
Daniel Mahler
2014-05-22 10:16:19 UTC
view on stackexchange narkive permalink

Jos todennäköisyysjakauma on $ Q_i = 0 $ mille tahansa $ i $: lle, se tarkoittaa, että olet varma, että $ Q_i $ ei voi esiintyä. Siksi jos $ Q_i $ koskaan noudatettaisiin, se edustaisi ääretöntä yllätystä / tietoa, mitä Shannon-tiedot edustavat. KL: n toissijaisuus edustaa ylimääräisen yllätyksen (ts. Menetetyn tiedon) määrää havaintoa kohden, jos jakaumaa $ Q $ käytetään lähentämiseen $ P $. Jos likiarvio ennustaa 0 todennäköisyyden tapahtumalle, jolla on todellisuudessa postitiivinen todennäköisyys, koet ääretön yllätys jonkin prosenttiosuuden ajasta ja siten keskimäärin äärettömän yllätyksen.

Ratkaisu on, ettei koskaan sallita 0 tai 1 todennäköisyys arvioiduissa jakaumissa. Tämä saavutetaan yleensä jollain tasoituksella, kuten Good-Turing-tasoitus, Dirichlet-tasoitus tai Laplace-tasoitus.



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...