Trực giác về sự khác biệt của Kullback-Leibler (KL)


47

Tôi đã tìm hiểu về trực giác đằng sau Phân kỳ KL khi hàm phân phối mô hình khác nhau bao nhiêu so với phân phối lý thuyết / thực của dữ liệu. Nguồn Tôi đọc tiếp tục nói rằng sự hiểu biết trực quan của 'khoảng cách' giữa hai phân bố này là hữu ích, nhưng không nên hiểu theo nghĩa đen bởi vì đối với hai phân bố và , KL phân kỳ là không đối xứng trong và .PQPQ

Tôi không chắc làm thế nào để hiểu câu nói cuối cùng, hay đây là nơi mà trực giác của 'khoảng cách' bị phá vỡ?

Tôi sẽ đánh giá cao một ví dụ đơn giản, nhưng sâu sắc.


3
Tôi nghĩ rằng bạn phải lùi lại và hiểu rằng bạn thường có sự bất cân xứng trong thống kê giữa phân bố dân số thực và mẫu (hoặc đúng và mô hình), v.v., và đây là điều mà KL Divergence phản ánh ... Trong lý thuyết xác suất chung có Thông thường, sự khác biệt đó và một số liệu đối xứng có ý nghĩa hơn
seanv507

1
Bạn đã đọc "nguồn" nào?
nbro

Câu trả lời:


34

Khoảng cách A (số liệu) phải đối xứng, tức là . Nhưng, từ định nghĩa, thì không.D ( P , Q ) = D ( Q , P ) K LDD(P,Q)=D(Q,P)KL

Ví dụ: , , .P ( A ) = 0,2 , P ( B ) = 0,8 Q ( A ) = Q ( B ) = 0,5Ω={A,B}P(A)=0.2,P(B)=0.8Q(A)=Q(B)=0.5

Chúng ta có:

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

do đó và do đó không phải là khoảng cách (số liệu).K LKL(P,Q)KL(Q,P)KL


50

Thêm vào các câu trả lời xuất sắc khác, một câu trả lời với một quan điểm khác mà có thể có thể thêm một số trực giác, được yêu cầu.

Phân kỳ Kullback-Leibler là Nếu bạn có hai giả thuyết về mà phân phối đang tạo ra các dữ liệu , và , sau đó là tỷ lệ khả năng để thử nghiệm chống . Chúng ta thấy rằng sự phân kỳ Kullback-Leibler ở trên là giá trị kỳ vọng của tỷ lệ loglikabilities theo giả thuyết thay thế. Vì vậy, là thước đo độ khó của bài toán kiểm tra này, khi là giả thuyết khống. Vì vậy, sự bất đối xứngX 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) chỉ đơn giản phản ánh sự bất cân xứng giữa giả thuyết không và giả thuyết thay thế.

Chúng ta hãy xem xét điều này trong một ví dụ cụ thể. Đặt là phân phối và là phân phối chuẩn thông thường (trong biểu thức số dưới đây ). Tích phân xác định phân kỳ có vẻ phức tạp, vì vậy chúng ta chỉ cần sử dụng tích hợp số trong 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

Trong trường hợp đầu tiên, tích phân dường như phân kỳ bằng số, biểu thị độ phân kỳ là rất lớn hoặc vô hạn, trong trường hợp thứ hai là nhỏ, tóm tắt: Trường hợp đầu tiên được xác minh bằng tích hợp biểu tượng phân tích trong câu trả lời của @ Xi'an tại đây: Giá trị tối đa của phân kỳ Kullback-Leibler (KL) là gì .

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

Điều này cho chúng ta biết điều gì? Nếu mô hình null là phân phối chuẩn thông thường nhưng dữ liệu được tạo từ phân phối , thì việc từ chối null là khá dễ dàng! Dữ liệu từ phân phối không giống như dữ liệu phân phối bình thường. Trong trường hợp khác, các vai trò được chuyển đổi. Null là nhưng dữ liệu là bình thường. Nhưng dữ liệu phân tán bình thường có thể trông giống như dữ liệu , vì vậy vấn đề này khó khăn hơn nhiều! Ở đây chúng tôi có cỡ mẫu và mọi dữ liệu có thể đến từ phân phối bình thường cũng có thể đến từ ! Chuyển đổi vai trò, không, sự khác biệt chủ yếu đến từ vai trò của các ngoại lệ.t1t1t1t1n=1t1

Theo phân phối thay thế có một xác suất khá lớn để có được một mẫu có xác suất rất nhỏ theo mô hình null (bình thường), mang lại sự khác biệt rất lớn. Nhưng khi phân phối thay thế là bình thường, thực tế tất cả dữ liệu chúng ta có thể nhận được sẽ có xác suất vừa phải (thực sự, mật độ ...) theo mô hình null , do đó độ phân kỳ nhỏ.t1t1

Điều này có liên quan đến câu trả lời của tôi ở đây: Tại sao chúng ta nên sử dụng lỗi t thay vì lỗi thông thường?


22

Trước hết, việc vi phạm điều kiện đối xứng là vấn đề nhỏ nhất với phân kỳ Kullback - Leibler. cũng vi phạm bất đẳng thức tam giác. Bạn có thể chỉ cần giới thiệu phiên bản đối xứng là , nhưng đó vẫn không phải là số liệu, vì cả và vi phạm bất đẳng thức tam giác. Để chứng minh rằng chỉ cần lấy ba đồng xu A, B & C thiên vị tạo ra ít đầu hơn nhiều so với đuôi, ví dụ: đồng xu có xác suất đầu: A = 0,1, B = 0,2 và C = 0,3. Trong cả hai trường hợp, phân kỳ KL thường xuyên D hoặc SKL phiên bản đối xứng của nó, hãy kiểm tra xem chúng không có bất đẳng thức tam giác đầy đủ 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)
Chỉ cần sử dụng công thức này:
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

Tôi đã giới thiệu ví dụ này trong mục đích. Hãy tưởng tượng rằng bạn đang ném một số đồng tiền, ví dụ 100 lần. Miễn là đồng tiền này không thiên vị, bạn chỉ cần mã hóa kết quả tung với chuỗi 0-1 bit, (1 đầu, 0 đuôi). Trong tình huống như vậy khi xác suất đầu giống như xác suất đuôi và bằng 0,5, đó là một mã hóa khá hiệu quả. Bây giờ, chúng tôi có một số đồng xu thiên vị, vì vậy chúng tôi muốn mã hóa các kết quả có khả năng hơn với mã ngắn hơn, ví dụ: hợp nhất các nhóm đầu và đuôi và biểu diễn chuỗi các đầu k với mã dài hơn chuỗi k đuôi (chúng có nhiều khả năng hơn). Và ở đây xảy ra phân kỳ Kullback-Leibler . Nếu P đại diện cho phân phối kết quả thực sự và Q chỉ là xấp xỉ của P, thìD(P||Q)D(P||Q) biểu thị hình phạt bạn phải trả khi bạn mã hóa kết quả thực sự đến từ P distrib với mã hóa dành cho Q (hình phạt theo nghĩa của các bit thừa bạn cần sử dụng).

Nếu bạn chỉ cần số liệu, hãy sử dụng khoảng cách Bhattacharyya (tất nhiên phiên bản đã sửa đổi )1[xp(x)q(x)]


7
Nếu một người quan tâm đến việc thực sự có một số liệu có mối liên hệ chặt chẽ hơn với phân kỳ KL, họ có thể xem xét căn bậc hai của phân kỳ Jensen-Shannon thay cho Bhattacharyya.
Đức hồng y

5

Tôi bị cám dỗ ở đây để đưa ra một câu trả lời hoàn toàn trực quan cho câu hỏi của bạn. Đọc lại những gì bạn nói, phân kỳ KL là một cách để đo khoảng cách giữa hai phân phối vì bạn sẽ tính khoảng cách giữa hai bộ dữ liệu trong một không gian Hilbert, nhưng cần thận trọng.

Tại sao? Phân kỳ KL không phải là khoảng cách mà bạn có thể sử dụng thường xuyên, chẳng hạn như định mức . Thật vậy, nó dương và bằng 0 khi và chỉ khi hai phân phối bằng nhau (như trong các tiên đề để xác định khoảng cách). Nhưng như đã đề cập, nó không đối xứng. Có nhiều cách để phá vỡ điều này, nhưng nó có ý nghĩa đối với nó để không đối xứng.L2

Thật vậy, phân kỳ KL xác định khoảng cách giữa phân phối mô hình (mà bạn thực sự biết) và theo lý thuyết sao cho có thể xử lý các khác nhau khoảng cách "lý thuyết" của với giả sử mô hình ) và (khoảng cách "theo kinh nghiệm" của đến giả sử dữ liệu ) vì chúng có nghĩa là các biện pháp khá khác nhau.QPKL(P,Q)PQPKL(Q,P)PQQ


4

Sách giáo khoa Các yếu tố của lý thuyết thông tin cho chúng ta một ví dụ:

Ví dụ: nếu chúng ta biết phân phối p thực của biến ngẫu nhiên, chúng ta có thể xây dựng mã với độ dài mô tả trung bình H (p). Thay vào đó, nếu chúng ta sử dụng mã cho phân phối q, chúng ta sẽ cần các bit H (p) + D (p || q) để mô tả biến ngẫu nhiên.

Để diễn giải câu lệnh trên, chúng ta có thể nói rằng nếu chúng ta thay đổi phân phối thông tin (từ q thành p), chúng ta cần trung bình thêm các bit D (p | | q) để mã hóa phân phối mới.

Sự minh họa

Hãy để tôi minh họa điều này bằng cách sử dụng một ứng dụng của nó trong xử lý ngôn ngữ tự nhiên.

Hãy xem xét rằng một nhóm lớn của người dân, dán nhãn B, là trung gian và mỗi người trong số họ được giao một nhiệm vụ để lựa chọn một danh từ từ turkey, animalbookvà truyền nó cho C. Có một tên chàng trai Một người có thể gửi cho mỗi người trong số họ một email để cung cấp cho họ một số gợi ý. Nếu không ai trong nhóm nhận được email, họ có thể nhướng mày và do dự một lúc xem xét C cần gì. Và xác suất của mỗi lựa chọn được chọn là 1/3. Phân phối thống nhất (nếu không, nó có thể liên quan đến sở thích riêng của họ và chúng tôi chỉ bỏ qua các trường hợp như vậy).

Nhưng nếu họ được cho một động từ, như baste, 3/4 trong số họ có thể chọn turkeyvà 3/16 chọn animalvà 1/16 chọn book. Sau đó, trung bình có bao nhiêu thông tin trong các bit của các trung gian đã thu được một khi họ biết động từ? Nó là:

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

Nhưng nếu động từ đưa ra là readgì? Chúng tôi có thể tưởng tượng rằng tất cả trong số họ sẽ chọn bookkhông do dự, sau đó mức tăng thông tin trung bình cho mỗi người hòa giải từ động từ readlà:

D(p(nouns|read)||p(nouns))=x{book}p(x|read)log2p(x|read)p(x)=1log2113=1.5849  bits
Chúng ta có thể thấy rằng động từ readcó thể cung cấp cho các hòa giải viên nhiều thông tin hơn. Và đó là những gì entropy tương đối có thể đo lường được.

Hãy tiếp tục câu chuyện của chúng tôi. Nếu C nghi ngờ rằng danh từ đó có thể sai vì A nói với anh ta rằng anh ta có thể đã mắc lỗi bằng cách gửi động từ sai cho người hòa giải. Sau đó, bao nhiêu thông tin trong bit có thể là một mẩu tin xấu như vậy cung cấp cho C?

1) nếu động từ do A đưa ra là 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) nhưng nếu động từ là readgì?

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

Vì C không bao giờ biết hai danh từ kia sẽ là gì và bất kỳ từ nào trong từ vựng đều có thể.

Chúng ta có thể thấy rằng sự phân kỳ KL là không đối xứng.

Tôi hy vọng tôi đúng, và nếu không xin vui lòng bình luận và giúp sửa chữa cho tôi. Cảm ơn trước.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.