로그 공간에서 불연속 (범주) 분포에서 어떻게 샘플링합니까?


12

범주 이 확률 등 으로 그려 벡터 정의 된 불연속 분포가 있다고 가정 합니다. 그런 다음 분포의 일부 값이 너무 작아서 컴퓨터의 부동 소수점 숫자 표현에 언더 플로가 발생하므로 보상하기 위해 모든 계산을 로그 공간에서 수행합니다. 이제 로그 공간 벡터 있습니다.θ0,θ1,...,θN0θ0log(θ0),log(θ1),...,log(θN)

원래 확률이 보유하고 (카테고리 는 확률 그려 지지만) 로그 공간을 떠나지 않도록 분포에서 표본 추출이 가능 합니까? 다시 말해, 언더 플로없이이 분포에서 어떻게 샘플링합니까?iθi

답변:


15

Gumbel-max 트릭을 사용하여 로그 공간남기지 않고 로그 확률이 주어진 범주 형 분포에서 샘플링 할 수 있습니다 . 비정규 화 된 로그 확률 , softmax 함수를 사용하여 적절한 확률로 변환 될 수 있습니다.α1,,αk

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

그러한 분포로부터 시료 같은 경우 사실을 이용할 수 표준 Gumbel와 분포 찍은 독립 샘플 위치에 의해 매개 변수화된다 ,g1,,gkG(0)m

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

그런 다음 (아래 참조 참조)

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

우리는 걸릴 수 있습니다

z=argmaxi{gi+αi}

확률로 매개 변수화 된 범주 형 분포의 표본으로 이 접근 방식은 Ryan AdamsLaurent Dinh의 블로그 항목에 자세히 설명되어 있으며 Chris J. Maddison, Daniel Tarlow 및 Tom Minka 신경 정보 처리 시스템 회의 (2014) 에서 연설 ( 슬라이드 )을 했으며 A * 라는 제목 논문을 썼습니다. 이 아이디어를 일반화 한 샘플링 (2016 년 Maddison, 2016 년 Maddison, Mnih and Teh, 2016 년 Jang and Poole, 2016)은 자신을이 속성을 처음 설명한 사람들 중 한 사람이라고 언급 한 Yellott (1977)를 언급합니다.p1,,pk

를 취하여 역변환 샘플링 을 사용하여 구현하는 것은 매우 쉽습니다. 여기서 는 균일 분포에서 가져옵니다 . 범주 형 분포에서 샘플링하는 데 가장 시간 효율적인 알고리즘은 아니지만 일부 시나리오에서 이점이 될 수있는 로그 공간을 유지할 수 있습니다.gi=log(logui)ui(0,1)


Maddison, CJ, Tarlow, D. 및 Minka, T. (2014). A * 샘플링. [In :] 신경 정보 처리 시스템의 발전 (pp. 3086-3094).

지엘 옐로 (1977). Luce의 선택 공리, Thurstone의 비교 판단 이론 및 이중 지수 분포 간의 관계 수학 심리학 저널, 15 (2), 109-144.

Maddison, CJ, Mnih, A., & Teh, YW (2016). 구체적 분포 : 불연속 랜덤 변수의 연속 완화. arXiv 프리 프린트 arXiv : 1611.00712.

장 E., 구, S. & Poole, B. (2016). Gumbel-Softmax를 통한 범주 재 파라미터 화. arXiv 프리 프린트 arXiv : 1611.01144.

CJ 매디슨 (2016). Monte Carlo의 푸 아송 공정 모델. arXiv 프리 프린트 arXiv : 1602.05986.


5

언더 플로 / 오버플로를 피하는 일반적인 방법은 다음과 같습니다.

하자 .m=maxilog(θi)

하자 .θi=exp(log(θi)m)

에서 샘플링 할 수 있습니다 .θ=[θ1,θ2,...]


1
이는 하나의 값과 최대 값의 차이가 너무 크지 않는 한 작동합니다. 그런 경우 exp정밀도가 떨어질 수 있으며 [1.0, 3.45e-66, 0.0, 7.54e-121] . 이 경우에도 강력한 답변을 제시하고 싶습니다. 하지만 지금은 귀하의 답변을지지합니다.
Josh Hansen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.