Інтуїція щодо розбіжності Куллбека-Лейблера (KL)


47

Я дізнався про інтуїцію, що лежить в основі KL Divergence, наскільки функція розподілу моделі відрізняється від теоретичного / правдивого розподілу даних. Джерело Читаю продовжує говорити про те , що інтуїтивне розуміння «відстаней» між цими двома розподілами є корисним, але не слід сприймати буквально , тому що для двох розподілів і , то KL дивергенція не є симетричною в і .PQPQ

Я не впевнений, як зрозуміти останнє твердження, чи тут розбивається інтуїція "відстані"?

Я би вдячний простим, але проникливим прикладом.


3
Я думаю, що вам доведеться відступити і зрозуміти, що у вас зазвичай є асиметрія в статистиці між справжнім розподілом населення та вибіркою (або правдою та моделлю) тощо, і це відображає розбіжність KL ... Загальна теорія ймовірностей не існує 'ти що розрізнення зазвичай і симетрична метрика має більше сенсу
seanv507

1
Яке «джерело» ви читали?
nbro

Відповіді:


34

A (метрична) відстань повинна бути симетричною, тобто . Але, з визначення, це не так.DD(P,Q)=D(Q,P)KL

Приклад: , , .Ω={A,B}P(A)=0.2,P(B)=0.8Q(A)=Q(B)=0.5

Ми маємо:

KL(P,Q)=P(A)logP(A)Q(A)+P(B)logP(B)Q(B)0.19

і

KL(Q,P)=Q(A)logQ(A)P(A)+Q(B)logQ(B)P(B)0.22

таким чином, і тому не є (метричною) відстані.K LKL(P,Q)KL(Q,P)KL


50

Додаючи до інших відмінних відповідей, відповідь з іншої точки зору, яка, можливо, може внести ще трохи інтуїції, про яку було запропоновано.

Розбіжність -Лейблера - Якщо у Вас є дві гіпотези про те, які розподілу генерування даних , і , то є відношення правдоподібності для тестування проти . Ми бачимо, що розбіжність Кулбека-Лейблера вище є очікуваним значенням коефіцієнта вірогідності в альтернативній гіпотезі. Отже, - міра складності цієї тестової задачі, коли - нульова гіпотеза. Отже, асиметріяX P Q p ( x )

KL(P||Q)=p(x)logp(x)q(x)dx
XPQ H0:QH1:PKL(P||Q)QKL(P||Q)KL(Q||P)p(x)q(x)H0:QH1:PKL(P||Q)QKL(P||Q)KL(Q||P) просто відображає асиметрію між нульовою та альтернативною гіпотезою.

Давайте розглянемо це на конкретному прикладі. Нехай - -розподіл, а - звичайний нормальний розподіл (у числовому іспиті нижче ). Інтеграл, що визначає розбіжність, виглядає складним, тому давайте просто використовувати числову інтеграцію в R:t ν Q ν = 1PtνQν=1

> lLR_1  <-  function(x) {dt(x, 1, log=TRUE)-dnorm(x, log=TRUE)}  
> integrate(function(x) dt(x, 1)*lLR_1(x), lower=-Inf, upper=Inf)
Error in integrate(function(x) dt(x, 1) * lLR_1(x), lower = -Inf, upper = Inf) : 
  the integral is probably divergent

> lLR_2  <-  function(x) {-dt(x, 1, log=TRUE)+dnorm(x, log=TRUE)}  
> integrate(function(x) dnorm(x)*lLR_2(x), lower=-Inf, upper=Inf)
0.2592445 with absolute error < 1e-07

У першому випадку інтеграл, здається, розбігається чисельно, що вказує на розбіжність дуже велике або нескінченне, у другому випадку воно мало, підсумовуючи: Перший випадок підтверджується аналітичною символічною інтеграцією у відповідь @ Xi'an тут: Яке максимальне значення розбіжності Куллбека-Лейблера (KL) .

KL(P||Q)KL(Q||P)0.26

Що це нам говорить на практиці? Якщо модель нуля є стандартним нормальним розподілом , але дані генеруються з -розподіленого, то це досить легко відкинути нуль! Дані з розподілу не виглядають як звичайні розподілені дані. В іншому випадку ролі перемикаються. Нуль - але дані нормальні. Але звичайні розподілені дані можуть виглядати як дані , тому ця проблема набагато складніше! Ось розмір вибірки , і всі дані, які можуть надходити від звичайного розподілу, також можуть надходити з ! Перемикання ролей, а не, різниця здебільшого виходить від ролей, що переживають люди.t1t1t1t1n=1t1

За альтернативного розподілу існує досить велика ймовірність отримання вибірки, яка має дуже малу ймовірність за нульовою (нормальною) моделлю, що дає величезну розбіжність. Але коли альтернативний розподіл нормальний, практично всі дані, які ми можемо отримати, матимуть помірну ймовірність (дійсно, щільність ...) за нульовою моделлю , тому розбіжність невелика.t1t1

Це пов’язано з моєю відповіддю тут: Чому слід використовувати t помилки замість звичайних помилок?


22

Перш за все, порушення умови симетрії є найменшою проблемою дивергенції Кульбека-Лейблера. також порушує нерівність трикутника. Ви можете просто ввести симетричну версію як , але це все ще не метрична, тому що і і порушує нерівність трикутника. Щоб довести, що просто візьміть три зміщені монети A, B & C, які виробляють набагато менше головок, ніж хвости, наприклад, монети з ймовірністю головок: A = 0,1, B = 0,2 і C = 0,3. В обох випадках, регулярна дивергенція KL D або її симетрична версія SKL, перевірте, чи вони не заповнюють нерівності трикутника D(P||Q)

SKL(P,Q)=D(P||Q)+D(Q||P)
D(P||Q)SKL(P,Q)
D(A||B)+D(B||C)D(A||C)
SKL(A,B)+SKL(B,C)SKL(A,C)
Просто використовуйте ці формули:
D(P||Q)=ipilog(piqi)
SKL(P,Q)=i(piqi)log(piqi)

D(A||B)=0.1log(0.10.2)+0.9log(0.90.8)0.0159
D(B||C)0.0112
D(A||C)0.0505
0.0159+0.01120.0505
SKL(A,B)0.0352
SKL(B,C)0.0234
SKL(A,C)0.1173
0.0352+0.02340.1173

Я ввів цей приклад спеціально. Давайте уявимо, що ви кидаєте кілька монет, наприклад, 100 разів. Поки ці монети є неупередженими, ви просто кодуєте результати підкидання з послідовністю 0-1 біт, (1 голова, 0 хвіст). У такій ситуації, коли ймовірність голови аналогічна ймовірності хвоста і дорівнює 0,5, це досить ефективне кодування. Тепер у нас є кілька упереджених монет, тому ми б скоріше зашифрували більш ймовірні результати з більш коротким кодом, наприклад, об'єднати групи голів і хвостів і представляти послідовності k голів з більш довгим кодом, ніж послідовність k хвостів (вони більш вірогідні). І тут виникає дивергенція Куллбека-Лейблера . Якщо P являє собою істинне розподіл результатів, а Q - лише наближення P, тоD(P||Q)D(P||Q) позначає штраф, який ви сплачуєте, коли кодуєте результати, які насправді надходять з P-дистрибутива з кодуванням, призначеним для Q (штраф у розумінні додаткових бітів, які потрібно використовувати).

Якщо вам просто потрібна метрика, використовуйте відстань Бхаттачарія (звичайно, модифіковану версію )1[xp(x)q(x)]


7
Якщо хтось стосується того, щоб насправді мати метрику з тіснішим зв’язком з розбіжністю KL, вони могли б розглянути квадратний корінь розбіжності Йенсена-Шеннона замість Бхаттачарії.
кардинал

5

Мені тут спокуса дати чисто інтуїтивну відповідь на ваше запитання. Перефразовуючи те, що ви говорите, розбіжність KL - це спосіб виміряти відстань між двома розподілами, як би ви обчислити відстань між двома наборами даних у просторі Гільберта, але слід бути обережним.

Чому? Розбіжність KL - це не відстань, яку ви зазвичай можете використовувати, як, наприклад, норма . Дійсно, вона є додатною і дорівнює нулю тоді і тільки тоді, коли два розподіли рівні (як в аксіомах для визначення відстані). Але, як згадувалося, воно не симетричне. Існують способи обійти це, але є сенс, щоб він не був симетричним.L2

Дійсно, дивергенція KL визначає відстань між модельним розподілом (який ви насправді знаєте) та теоретичним таким, що має сенс поводитися по-різному ("теоретичне" відстань від до припускаючи, що модель ) та ("емпірична" відстань від до припускаючи дані ), оскільки вони означають зовсім інші заходи.QPKL(P,Q)PQPKL(Q,P)PQQ


4

Підручник Елементи теорії інформації дає нам приклад:

Наприклад, якби ми знали справжній розподіл p випадкової величини, ми могли б побудувати код із середньою довжиною опису H (p). Якщо замість цього ми використовували код для розподілу q, нам знадобиться H (p) + D (p || q) біти в середньому для опису випадкової величини.

Перефразовуючи наведене вище твердження, ми можемо сказати, що якщо ми змінимо розподіл інформації (з q на p), нам потрібно D (p || q) додаткових бітів в середньому для кодування нового розподілу.

Ілюстрація

Дозвольте мені проілюструвати це, використовуючи одне його застосування в природній обробці мови.

Вважаю , що велика група людей, позначений B, є посередниками , і кожен з них призначається завданням вибрати іменник від turkey, animalі bookта передач його на C. Існує ім'я хлопця , який може послати кожен з них по електронній пошті , щоб дати їм деякі натяки. Якщо ніхто з групи не отримав електронний лист, вони можуть підняти брови і вагатися на час, розглядаючи, що потрібно C. І ймовірність обрання кожного варіанту становить 1/3. Надзвичайно рівномірний розподіл (якщо ні, це може стосуватися їх власних уподобань, і ми просто ігноруємо такі випадки).

Але якщо їм дано дієслово, наприклад baste, 3/4 з них можуть вибрати, turkeyа 3/16 вибрати animalта 1/16 вибрати book. Тоді скільки інформації в бітах в середньому отримав кожен з посередників, коли вони знають дієслово? Це є:

D(p(nouns|baste)||p(nouns))=x{turkey,animal,book}p(x|baste)log2p(x|baste)p(x)=34log23413+316log231613+116log211613=0.5709  bits

Але що робити, якщо подане дієслово read? Ми можемо собі уявити, що вони обирають bookне вагаючись, тоді середній приріст інформації для кожного посередника з дієслова readстановить:

D(p(nouns|read)||p(nouns))=x{book}p(x|read)log2p(x|read)p(x)=1log2113=1.5849  bits
Ми можемо бачити, що дієслово readможе дати медіаторам більше інформації. І ось що може виміряти відносна ентропія.

Давайте продовжимо нашу розповідь. Якщо С підозрює, що іменник може бути неправильним, тому що А сказав йому, що він, можливо, помилився, надіславши невірне дієслово до посередників. Тоді скільки інформації в бітах може дати така штука поганих новин C?

1) якщо дієслово, задане A, було baste:

D(p(nouns)||p(nouns|baste))=x{turkey,animal,book}p(x)log2p(x)p(x|baste)=13log21334+13log213316+13log213116=0.69172  bits

2) але що робити, коли дієслово було read?

D(p(nouns)||p(nouns|baste))=x{book,,}p(x)log2p(x)p(x|baste)=13log2131+13log2130+13log2130=  bits

Оскільки С ніколи не знає, якими були б інші два іменники, і будь-яке слово в лексиці було б можливим.

Ми можемо бачити, що розбіжність KL несиметрична.

Я сподіваюся, що я маю рацію, і якщо ні, будь ласка, прокоментуйте та допоможіть виправити мене. Заздалегідь спасибі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.