Làm cách nào để lấy mẫu từ một phân phối (phân loại) rời rạc trong không gian nhật ký?


12

Giả sử tôi có phân phối rời rạc được xác định bởi vectơ θ0,θ1,...,θN sao cho loại 0 sẽ được rút ra với xác suất θ0 và cứ thế. Sau đó tôi phát hiện ra rằng một số giá trị trong phân phối quá nhỏ đến mức chúng nằm dưới biểu diễn số dấu phẩy động của máy tính của tôi, vì vậy, để bù lại, tôi thực hiện tất cả các tính toán của mình trong không gian nhật ký. Bây giờ tôi có một khúc gỗ không gian véc tơ log(θ0),log(θ1),...,log(θN) .

Có thể lấy mẫu từ phân phối sao cho xác suất ban đầu được giữ (loại i được rút ra với xác suất θi ) nhưng không bao giờ rời khỏi không gian log? Nói cách khác, làm thế nào để tôi lấy mẫu từ bản phân phối này mà không có dòng chảy?

Câu trả lời:


15

Có thể lấy mẫu từ phân phối phân loại theo xác suất log mà không cần rời khỏi không gian nhật ký bằng thủ thuật Gumbel-max . Ý tưởng là nếu bạn đang trao unnormalized log-xác suất , có thể được dịch sang xác suất thích hợp sử dụng hàm softmaxα1,,αk

pi=exp(αi)jexp(αj)

sau đó đến mẫu từ phân phối như vậy, bạn có thể sử dụng thực tế là nếu được mẫu độc lập lấy từ phân phối Gumbel chuẩn parametrized theo vị trí m ,g1,,gkG(0)m

F(Gg)=exp(exp(g+m))

sau đó nó có thể được hiển thị (xem tài liệu tham khảo bên dưới) rằng

argmaxi{gi+αi}exp(αi)jexp(αj)maxi{gi+αi}G(logiexp{αi})

và chúng ta có thể lấy

z=argmaxi{gi+αi}

như một mẫu từ phân phối phân loại tham số theo xác suất . Cách tiếp cận này được mô tả chi tiết hơn trong các mục blog của Ryan AdamsLaurent Dinh , hơn nữa Chris J. Maddison, Daniel Tarlow và Tom Minka đã đưa ra một bài giảng ( slide ) về hội nghị Hệ thống xử lý thông tin thần kinh (2014) và viết một bài báo có tựa đề A * Lấy mẫup1,,pk đã khái quát những ý tưởng đó (xem thêm Maddison, 2016; Maddison, Mnih và Teh, 2016; Jang và Poole, 2016), người đề cập đến Yellott (1977) đề cập đến ông là một trong những người đầu tiên mô tả tài sản này.

Thật dễ dàng để thực hiện nó bằng cách sử dụng lấy mẫu biến đổi nghịch đảo bằng cách lấy trong đó u i được rút ra từ phân phối đồng đều trên ( 0 , 1 ) . Đây chắc chắn không phải là thuật toán hiệu quả nhất về thời gian để lấy mẫu từ phân phối phân loại, nhưng nó cho phép bạn ở trong không gian log, điều có thể là một lợi thế trong một số tình huống.gi=log(logui)ui(0,1)


Maddison, CJ, Tarlow, D., & Minka, T. (2014). A * lấy mẫu. [Trong:] Những tiến bộ trong hệ thống xử lý thông tin thần kinh (trang 3086-3094).

Yellott, JI (1977). Mối quan hệ giữa tiên đề lựa chọn của Luce, lý thuyết về phán đoán so sánh của Thurstone và phân bố theo cấp số nhân. Tạp chí Tâm lý học toán học, 15 (2), 109-144.

Maddison, CJ, Mnih, A., & Teh, YW (2016). Phân phối cụ thể: Thư giãn liên tục các biến ngẫu nhiên rời rạc. bản in sẵn arXiv arXiv: 1611.00712.

Jang, E., Gu, S., & Poole, B. (2016). Xác định lại phân loại với Gumbel-Softmax. bản in sẵn arXiv arXiv: 1611.01144.

Maddison, CJ (2016). Một mô hình quá trình Poisson cho Monte Carlo. bản in sẵn arXiv arXiv: 1602.05986.


5

Đây là một cách phổ biến để tránh tràn / tràn.

m=maxilog(θi)

θi=exp(log(θi)m)

θ=[θ1,θ2,...].


1
This works as long as the difference between any one value and the max isn't too great---when that happens, the exp can lose precision, leading to distributions like [1.0, 3.45e-66, 0.0, 7.54e-121]. I'd like to hold out for some answer that is robust even in that case. But for now I'm upvoting your answer.
Josh Hansen
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.