왜 MCMC에서 Hamiltonian 다이나믹이 랜덤 워크 제안보다 낫습니까?


10

해밀턴 역학은 경우에 따라 메트로폴리스 알고리즘에서 랜덤 워크보다 항상 뛰어납니다. 누군가 너무 많은 수학없이 간단한 단어로 이유를 설명 할 수 있습니까?


1
@ JuhoKokkala, 일반적으로 높은 차원의 문제에서 랜덤 워크 제안은 성능이 좋지 않지만 해머 다이나믹이 있습니다.
Fly_back

@JuhoKokkala HMC에 대한 나의 이해는, 우리는 hamiltonian dynamic system에서 낮은 에너지 H를 가진 샘플을 얻는다는 것입니다. 그리고 나는이 퀴즈를 생각해 봅시다.
Fly_back

3
11 월 초 Andrew Gelman은 Michael Betancourt의 "아름다운 새 논문"에 대해 HMC가 무작위 MCMC보다 나은 이유에 대한 메모를 게시했습니다. Gelman의 주요 요점은 HMC가 경쟁 방법보다 2 배 이상 빠르다는 것입니다. andrewgelman.com/2016/11/03/…
Mike Hunter

2
이 질문은 약간 지정되지 않았지만 아래에 게시 된 답변을 감안할 때 답변이 너무 명확하지 않다고 생각하지 않습니다. 나는 열린 채로 투표하고 있습니다.
gung-복직 모니카

답변:


14

우선, HMC (Hamiltonian Monte Carlo)의 수용 률이 Metropolis 알고리즘보다 항상 높다고는 생각하지 않습니다. @JuhoKokkala가 지적한 것처럼 Metropolis의 수락 률은 조정 가능하며 수락 률이 높다고해서 알고리즘이 사후 분포를 탐색하는 데 좋은 역할을하고있는 것은 아닙니다. 매우 좁은 제안서 배포 (예 : 매우 작은 와 함께 사용하면 수락 률이 매우 높아집니다. 그러나 전체 후방 분포를 탐색하지 않고 기본적으로 항상 같은 장소에 머무르기 때문입니다.T(q|q)=N(q,σI)σ

내가 정말로 생각하는 것은 (그리고 내가 옳다면 그에 따라 질문을 편집하십시오) 해밀턴 몬테 카를로가 메트로 폴리스보다 성능이 좋은 이유는 무엇입니까? "더 나은 성능"이란 많은 응용 분야에서 HMC가 생성 한 체인을 Metropolis 알고리즘으로 생성 된 동일한 길이 (동일한 수의 샘플 )와 비교하면 HMC 체인이 메트로폴리스 체인은 음의 로그 우도 (또는 유사한 값이지만 반복 횟수는 적음)의 값이 더 낮고 유효 샘플 크기가 더 작으며, 지연 시간에 따라 샘플의 자동 상관 관계가 더 빨리 감소합니다.N

나는 수학적인 세부 사항에 너무 많이 들어 가지 않고 왜 그런 일이 발생하는지에 대한 아이디어를 제공하려고 노력할 것입니다. 그래서, 우선 호출의 일반 MCMC 알고리즘 함수의 고차원 적분 값 (기대) (또는 그 이상의 기능)를 계산하는 것이 유용하다는 목표 농도에 대해를 우리가 가지고 있지 않는 경우 expecially에, 목표 밀도에서 직접 샘플링하는 방법 :fπ(q)

Eπ[f]=Qf(q)π(q)dq1dqd

여기서 는 와 의존 하는 매개 변수 의 벡터 이고 는 매개 변수 공간입니다. 이제 높은 차원에서 위의 적분에 가장 많이 기여하는 매개 변수 공간의 부피는 모드와 인접 하지 않습니다 (즉, MLE 추정치 주위의 좁은 부피가 아닙니다 ). 여기서 는 크지 만 볼륨은 매우 작습니다.qdfπQπ(q)qπ(q)

예를 들어, 좌표가 평균 및 단위 분산이 0 인 독립 가우스 변수 인 경우 의 원점에서 점 의 평균 거리를 계산한다고 가정합니다 . 그런 다음 위의 적분은 다음과 같습니다.qRd

Eπ[X]=Q||q||(2π)d/2exp(||q||2/2)dq1dqd

이제 목표 밀도 의 최대 값은 0입니다. 그러나 변경하여 구면 좌표에integrand가 비례한다는 것을 알 수 있습니다 . 이 기능은 원점에서 약간 떨어진 거리에서 최대 값을 나타냅니다. 적분의 값에 가장 큰 기여를하는 내부 영역을 일반 집합 이라고하며 ,이 적분의 경우 일반 집합은 반경 의 구형 쉘입니다 .π(q)=(2π)d/2exp(||q||2/2)r=||q||rd1exp(r2/2)drQRd

이제 이상적인 조건에서 MCMC에 의해 생성 된 Markov 체인이 먼저 일반 집합의 한 지점으로 수렴 한 다음 전체 집합을 탐색하기 시작하고 마지막으로 집합의 세부 정보를 계속 탐색합니다. 이를 수행 할 때 기대치의 MCMC 추정치가 단계 수의 증가에 따라 감소하는 바이어스 및 분산으로 인해 더욱 정확 해집니다.

그러나, 전형적인 세트의 지오메트리가 복잡 할 때 (예를 들어, 2 차원의 단서가있는 경우), 표준 랜덤 워크 메트로폴리스 알고리즘은 세트의 "병리학 적"세부 사항을 탐색하는 데 많은 어려움을 겪는다. 이 지역을 탐험하지 않고 무작위로 "주변으로"점프하는 경향이 있습니다. 실제로 이것은 적분의 추정값이 올바른 값을 중심으로 진동하는 경향이 있으며 유한 한 단계에서 체인을 중단하면 추정값이 잘못 바이어스됩니다.

Hamiltonian Monte Carlo는 대상 분포와 관련이없는 제안 분포를 사용하는 대신 대상 분포에 포함 된 정보 (그라데이션)를 사용하여 새 샘플 점을 제안함으로써이 문제를 극복하려고합니다. 그래서 우리는 HMC가 목표 분포의 도함수를 사용하여 모수 공간을보다 효율적으로 탐색한다고 말합니다. 그러나, 목표 분포의 기울기는 그 자체로 제안 단계를 알리기에 충분 하지 않다. 의 원점에서 임의의 점의 평균 거리의 예에서와 같이Rd목표 분포의 기울기는 그 자체로 우리를 분포의 모드로 향하게하지만, 모드 주변의 영역은 반드시 위의 적분에 가장 크게 기여하는 영역 일 필요는 없다. 즉, 전형적인 집합이 아니다.

올바른 방향을 얻기 위해 HMC에서 운동량 변수 라는 보조 변수 세트를 소개 합니다. 실제 아날로그가 도움이 될 수 있습니다. 행성 주위를 공전하는 위성은 그 운동량이 "올바른"값을 가진 경우에만 안정된 궤도에 머무르며, 그렇지 않으면 열린 공간으로 표류하거나 중력 적 인력에 의해 행성쪽으로 끌려갑니다 (여기에서 역할을 수행함) 목표 밀도의 구배, 모드를 향해 "당김". 같은 방식으로, 모멘텀 매개 변수는 테일 또는 모드쪽으로 표류하지 않고 새 샘플을 일반 세트 내에 유지하는 역할을합니다.

이 글은 과도한 수학없이 Hamiltonian Monte Carlo를 설명하는 Michael Betancourt의 매우 흥미로운 논문의 작은 요약입니다. 자세한 내용은 여기를 참조하십시오 .

논문이 충분히 자세하게 다루지 않는 한 가지 이유는 IMC가 랜덤 워크 메트로폴리스보다 HMC가 더 나빠질 수있는시기와 이유입니다. 이것은 제한된 경험 내에서 자주 발생하지 않지만 일어날 수 있습니다. 결국 그라디언트를 도입하여 고차원 매개 변수 공간에서 길을 찾을 수 있지만 문제의 차원도 두 배가됩니다. 이론적으로, 차원의 증가로 인한 속도 저하는 그라디언트 활용으로 인한 가속을 극복 할 수 있습니다. 또한 일반적인 세트에 곡률이 높은 영역이있는 경우 HMC가 "오버 슈트"할 수 있습니다. 즉 꼬리에서 매우 멀리있는 쓸모없는 포인트를 샘플링하여 예상에 아무런 영향을 미치지 않습니다. 하나, 이것은 실제로 수치 적으로 HMC를 구현하기 위해 사용되는 대칭 적분기의 불안정성을 야기한다. 따라서 이런 종류의 문제는 쉽게 진단됩니다.


1
@DJohnson이 답변을 작성하는 동안 Betancourt의 논문도 인용했습니다. 그러나 그 답은 여전히 ​​논문에서 찾을 수있는 것의 요약으로 유용 할 수 있다고 생각합니다.
DeltaIV

3

의견에 @JuhoKokkala가 언급했듯이 높은 수락 률이 반드시 좋은 성능을 제공하지는 않습니다. 제안 배포를 줄임으로써 Metropolis Hastings의 수락 률을 높일 수 있습니다. 그러나 이로 인해 더 작은 단계가 수행되어 목표 분포를 탐색하는 데 시간이 더 걸립니다. 실제로, 단계 크기와 수용 속도 사이에는 균형이 있으며 좋은 성능을 얻으려면 적절한 균형이 필요합니다.

해밀턴 몬테카를로는 메트로폴리스 헤이스팅스보다 실적이 높은 경향이 있습니다. 따라서 문제는 : 왜 더 멀리 떨어진 지점에서 HMC가 MH보다 더 높은 수용 확률을 갖는 경향이 있습니까?

MH는 목표 분포에 대한 정보를 사용하지 않고 제안서를 작성하기 때문에 원거리에 도달하는 데 어려움이 있습니다. 제안 분포는 일반적으로 등방성입니다 (예 : 대칭 가우스). 따라서 각 지점에서 알고리즘은 임의의 거리에서 임의의 방향으로 임의의 거리를 이동하려고 시도합니다. 목표 분포가 해당 방향으로 얼마나 빨리 변하는 지에 비해 거리가 작 으면 현재와 새로운 점의 밀도가 비슷 해져서 적어도 합리적인 수용 가능성을 제공 할 가능성이 높습니다. 더 먼 거리에서 목표 분포는 현재 점에 비해 상당히 약간 변경되었을 수 있습니다. 따라서, 특히 치수가 증가함에 따라 유사하거나 (희망적으로) 더 높은 밀도를 갖는 점을 무작위로 발견 할 가능성이 낮을 수 있습니다. 예를 들어 현재 지점이 좁은 융기 부분에 있으면

대조적으로, HMC는 목표 분포의 구조를 이용합니다. 제안 메커니즘은 Neal (2012)에 설명 된대로 물리적 비유를 사용하는 것으로 생각할 수 있습니다. 언덕이 많고 마찰이없는 표면에서 퍽이 미끄러지는 것을 상상해보십시오. 퍽의 위치는 현재 점을 나타내고 표면의 높이는 대상 분포의 음의 로그를 나타냅니다. 제안 된 새로운 점을 얻기 위해, 퍽은 임의의 방향과 크기로 운동량을 부여받으며, 표면 위로 미끄러질 때 그 역학이 시뮬레이션됩니다. 퍽은 내리막 길 방향으로 가속하고 오르막길 방향으로 감속합니다 (아마도 내리막 길을 멈추고 다시 미끄러지는 경우도 있음). 계곡 벽을 따라 옆으로 움직이는 궤도는 아래쪽으로 구부러집니다. 따라서 풍경 자체가 궤도에 영향을 미쳐 더 높은 확률 영역으로 끌어 당깁니다. 모멘텀을 사용하면 퍽이 작은 언덕 위로 볏을 낼 수 있으며 작은 분지를 넘어 설 수도 있습니다. 몇 번의 시간 단계 후 퍽의 위치는 표준 메트로폴리스 규칙을 사용하여 수락 또는 거부되는 새로운 제안 된 포인트를 제공합니다. 목표 분포 (및 그 기울기)를 활용하면 HMC가 높은 수용 률로 먼 지점에 도달 할 수 있습니다.

다음은 좋은 리뷰입니다.

닐 (2012) . 해밀턴 역학을 사용하는 MCMC.


0

느슨한 답으로 (당신이 찾고있는 것처럼 보입니다) Hamiltonian 메소드는 로그 가능성의 파생을 고려하지만 표준 MH 알고리즘은 그렇지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.