Por que a dinâmica hamiltoniana é melhor que a proposta de passeio aleatório no MCMC em alguns casos?
10
A dinâmica hamiltoniana sempre supera, em alguns casos, o desempenho aleatório do algoritmo Metropolis. Alguém poderia explicar o motivo com palavras simples, sem muita matemática?
@JuhoKokkala, geralmente, em problemas de alta dimensão, a proposta de passeio aleatório não tem bom desempenho, no entanto, a dinâmica hamitonial tem.
Fly_back
@JuhoKokkala Meu entendimento sobre o HMC é que, obtemos amostras com H de baixa energia no sistema dinâmico hamiltoniano, e então faço um questionário sobre o motivo pelo qual a amostra proposta pela dinâmica hamiltoniana sempre pode ser aceita.
Fly_back
3
No início de novembro, Andrew Gelman postou uma nota sobre um "belo artigo novo" de Michael Betancourt sobre o porquê o HMC é melhor do que o MCMC aleatório. O ponto principal de Gelman era que o HMC é pelo menos duas vezes mais rápido que os métodos concorrentes. andrewgelman.com/2016/11/03/...
Mike Hunter
2
Esta pergunta é um pouco subespecificada, mas, dadas as respostas postadas abaixo, não acho muito claro para ser respondido. Estou votando para deixar em aberto.
gung - Reinstala Monica
Respostas:
14
Antes de tudo, deixe-me afirmar que não acredito que a taxa de aceitação do HMC (Hamiltonian Monte Carlo) seja sempre mais alta do que o do algoritmo Metropolis. Conforme observado por @JuhoKokkala, a taxa de aceitação do Metropolis é ajustável e a alta taxa de aceitação não significa que seu algoritmo está fazendo um bom trabalho ao explorar a distribuição posterior. Se você usar uma distribuição de proposta extremamente estreita (por exemplo, com um muito pequeno ), obterá uma taxa de aceitação extremamente alta, mas apenas porque você fica basicamente sempre no mesmo lugar, sem explorar a distribuição posterior completa.T(q|q′)=N(q′,σI)σ
O que eu acho que você realmente está perguntando (e se eu estiver certo, edite sua pergunta de acordo) é por que o Hamiltonian Monte Carlo tem (em alguns casos) melhor desempenho que o Metropolis. Com "melhor desempenho", quero dizer que, para muitas aplicações, se você comparar uma cadeia gerada pelo HMC com uma cadeia de igual comprimento (o mesmo número de amostras ) gerada pelo algoritmo Metropolis, a cadeia HMC alcançará um estado estável mais cedo que o A cadeia Metropolis encontra um valor mais baixo para a probabilidade logarítmica negativa (ou um valor semelhante, mas em menos iterações), o tamanho efetivo da amostra é menor, a autocorrelação das amostras decai mais rapidamente com o atraso, etc.N
Vou tentar dar uma idéia do por que isso acontece, sem entrar muito em detalhes matemáticos. Portanto, antes de tudo, lembre-se de que os algoritmos MCMC em geral são úteis para calcular integrais de alta dimensão (expectativas) de uma função (ou mais funções) em relação a uma densidade de destino , especialmente quando não temos uma maneira de coletar amostras diretamente da densidade alvo:fπ(q)
Eπ[f]=∫Qf(q)π(q)dq1…dqd
onde é o vetor de parâmetros dos quais e dependem e é o espaço do parâmetro. Agora, em altas dimensões, o volume do espaço do parâmetro que mais contribui para a integral acima não é o bairro do modo de (ou seja, não é um volume estreito em torno da estimativa de do MLE ), porque aqui é grande, mas o volume é muito pequeno.qdfπQπ(q)qπ(q)
Por exemplo, suponha que você queira calcular a distância média de um ponto partir da origem de , quando suas coordenadas forem variáveis gaussianas independentes com média zero e variação unitária. Então a integral acima se torna:qRd
Eπ[X]=∫Q||q||(2π)−d/2exp(−||q||2/2)dq1…dqd
Agora, a densidade alvo obviamente tem um máximo em 0. No entanto, alterando para coordenadas esféricas e introdução de, você pode ver que o integrando se torna proporcional a . Esta função tem obviamente um máximo a alguma distância da origem. A região dentro de que mais contribui para o valor da integral é chamada de conjunto típico e, para essa integral, o conjunto típico é uma casca esférica de raio . r = | | q | | r d - 1 exp ( - r 2 / 2 ) d r Q R ct √π(q)=(2π)−d/2exp(−||q||2/2)r=||q||rd−1exp(−r2/2)drQR∝d−−√
Agora, pode-se mostrar que, em condições ideais, a cadeia de Markov gerada pelo MCMC primeiro converge para um ponto no conjunto típico, depois começa a explorar todo o conjunto e, finalmente, continua a explorar os detalhes do conjunto. Ao fazer isso, a estimativa da expectativa do MCMC se torna cada vez mais precisa, com viés e variação que diminuem com o aumento do número de etapas.
No entanto, quando a geometria do conjunto típico é complicada (por exemplo, se houver uma cúspide em duas dimensões), o algoritmo Metropolis de caminhada aleatória padrão apresenta muitas dificuldades em explorar os detalhes "patológicos" do conjunto. Tende a pular aleatoriamente "em torno" dessas regiões, sem explorá-las. Na prática, isso significa que o valor estimado da integral tende a oscilar em torno do valor correto, e interromper a cadeia em um número finito de etapas resultará em uma estimativa muito tendenciosa.
O Hamiltoniano Monte Carlo tenta superar esse problema, usando as informações contidas na distribuição de destino (em seu gradiente) para informar a proposta de um novo ponto de amostra, em vez de simplesmente usar uma distribuição de proposta não relacionada ao destino. Portanto, é por isso que dizemos que o HMC usa os derivados da distribuição de destino para explorar o espaço do parâmetro com mais eficiência. No entanto, o gradiente da distribuição de destino, por si só, não é suficiente para informar a etapa da proposta. Como no exemplo da distância média de um ponto aleatório da origem deRd, o gradiente da distribuição de destino, por si só, nos direciona para o modo de distribuição, mas a região ao redor do modo não é necessariamente a região que mais contribui para a integral acima, ou seja, não é o conjunto típico.
Para obter a direção correta, no HMC, introduzimos um conjunto auxiliar de variáveis, chamadas variáveis de momento . Um analógico físico pode ajudar aqui. Um satélite que orbita em torno de um planeta permanecerá em órbita estável somente se seu momento tiver o valor "certo"; caso contrário, se afastará para abrir espaço ou será arrastado em direção ao planeta por atração gravitacional (aqui desempenhando o papel do gradiente da densidade do alvo, que "puxa" em direção ao modo). Da mesma forma, os parâmetros de momento têm o papel de manter as novas amostras dentro do conjunto típico, em vez de tê-las à deriva em direção às caudas ou ao modo.
Este é um pequeno resumo de um artigo muito interessante de Michael Betancourt sobre a explicação do Hamiltoniano Monte Carlo sem matemática excessiva. Você pode encontrar o artigo, que contém mais detalhes, aqui .
Uma coisa que o jornal não cobre em detalhes suficientes, a IMO, é quando e por que o HMC pode fazer pior do que o Metropolis de passeio aleatório. Isso não acontece com frequência (na minha experiência limitada), mas pode acontecer. Afinal, você introduz gradientes, que ajudam a encontrar o caminho no espaço de parâmetros de alta dimensão, mas também o dobro da dimensionalidade do problema. Em teoria, pode acontecer que o abrandamento devido ao aumento da dimensionalidade supere a aceleração dada pela exploração de gradientes. Além disso (e isso é abordado no artigo), se o conjunto típico possui regiões de alta curvatura, o HMC pode "ultrapassar", ou seja, pode começar a amostrar pontos inúteis muito distantes nas caudas, que nada contribuem para a expectativa. Contudo, isso causa instabilidade do integrador simplético que é usado na prática para implementar numericamente o HMC. Assim, esse tipo de problema é facilmente diagnosticado.
Vejo que, enquanto escrevia minha resposta, @DJohnson também citou o artigo de Betancourt. No entanto, acho que a resposta ainda pode ser útil como um resumo do que se pode encontrar no artigo.
DeltaIV 13/02/19
3
Como @JuhoKokkala mencionado nos comentários, alta taxa de aceitação não necessariamente oferece um bom desempenho. A taxa de aceitação da Metropolis Hastings pode ser aumentada diminuindo a distribuição da proposta. Porém, isso fará com que medidas menores sejam tomadas, levando mais tempo para explorar a distribuição de destino. Na prática, há uma troca entre o tamanho da etapa e a taxa de aceitação, e é necessário um equilíbrio adequado para obter um bom desempenho.
O Monte Carlo Hamiltoniano tende a superar o Metropolis Hastings porque pode alcançar pontos mais distantes com maior probabilidade de aceitação. Então, a pergunta é: por que o HMC tende a ter maior probabilidade de aceitação do que o MH para pontos mais distantes ?
O MH tem dificuldade em alcançar pontos distantes porque suas propostas são feitas sem o uso de informações sobre a distribuição de destino. A distribuição da proposta é tipicamente isotrópica (por exemplo, um Gaussiano simétrico). Assim, em cada ponto, o algoritmo tenta mover uma distância aleatória em uma direção aleatória. Se a distância for pequena em relação à rapidez com que a distribuição de destino muda nessa direção, há uma boa chance de que a densidade nos pontos atuais e novos seja semelhante, dando pelo menos uma chance razoável de aceitação. Em distâncias maiores, a distribuição do alvo pode ter mudado bastante em relação ao ponto atual. Portanto, a chance de encontrar aleatoriamente um ponto com densidade semelhante ou (esperançosamente) maior pode ser baixa, principalmente à medida que a dimensionalidade aumenta. Por exemplo, se o ponto atual estiver em uma cordilheira estreita, haverá '
Por outro lado, o HMC explora a estrutura da distribuição de destino. Pode-se pensar em seu mecanismo de proposta usando uma analogia física, conforme descrito em Neal (2012). Imagine um disco deslizando sobre uma superfície montanhosa e sem atrito. A localização do disco representa o ponto atual e a altura da superfície representa o log negativo da distribuição de destino. Para obter um novo ponto proposto, o disco recebe um momento com direção e magnitude aleatórias, e sua dinâmica é simulada à medida que desliza sobre a superfície. O disco acelera nas direções em declive e desacelera nas direções em subida (talvez até parando e deslizando para trás novamente). Trajetórias que se movem para os lados ao longo da parede de um vale se curvam para baixo. Portanto, a própria paisagem influencia a trajetória e a puxa para regiões de maior probabilidade. O impulso pode permitir que o disco ultrapasse pequenas colinas e também ultrapasse pequenas bacias. A localização do disco após algumas etapas de tempo fornece o novo ponto proposto, que é aceito ou rejeitado usando a regra padrão da Metropolis. Explorar a distribuição de destino (e seu gradiente) é o que permite ao HMC alcançar pontos distantes com altas taxas de aceitação.
Como uma resposta solta (que parece ser o que você está procurando), os métodos hamiltonianos levam em consideração a derivada da probabilidade do log, enquanto o algoritmo MH padrão não.
Respostas:
Antes de tudo, deixe-me afirmar que não acredito que a taxa de aceitação do HMC (Hamiltonian Monte Carlo) seja sempre mais alta do que o do algoritmo Metropolis. Conforme observado por @JuhoKokkala, a taxa de aceitação do Metropolis é ajustável e a alta taxa de aceitação não significa que seu algoritmo está fazendo um bom trabalho ao explorar a distribuição posterior. Se você usar uma distribuição de proposta extremamente estreita (por exemplo, com um muito pequeno ), obterá uma taxa de aceitação extremamente alta, mas apenas porque você fica basicamente sempre no mesmo lugar, sem explorar a distribuição posterior completa.T(q|q′)=N(q′,σI) σ
O que eu acho que você realmente está perguntando (e se eu estiver certo, edite sua pergunta de acordo) é por que o Hamiltonian Monte Carlo tem (em alguns casos) melhor desempenho que o Metropolis. Com "melhor desempenho", quero dizer que, para muitas aplicações, se você comparar uma cadeia gerada pelo HMC com uma cadeia de igual comprimento (o mesmo número de amostras ) gerada pelo algoritmo Metropolis, a cadeia HMC alcançará um estado estável mais cedo que o A cadeia Metropolis encontra um valor mais baixo para a probabilidade logarítmica negativa (ou um valor semelhante, mas em menos iterações), o tamanho efetivo da amostra é menor, a autocorrelação das amostras decai mais rapidamente com o atraso, etc.N
Vou tentar dar uma idéia do por que isso acontece, sem entrar muito em detalhes matemáticos. Portanto, antes de tudo, lembre-se de que os algoritmos MCMC em geral são úteis para calcular integrais de alta dimensão (expectativas) de uma função (ou mais funções) em relação a uma densidade de destino , especialmente quando não temos uma maneira de coletar amostras diretamente da densidade alvo:f π(q)
onde é o vetor de parâmetros dos quais e dependem e é o espaço do parâmetro. Agora, em altas dimensões, o volume do espaço do parâmetro que mais contribui para a integral acima não é o bairro do modo de (ou seja, não é um volume estreito em torno da estimativa de do MLE ), porque aqui é grande, mas o volume é muito pequeno.q d f π Q π(q) q π(q)
Por exemplo, suponha que você queira calcular a distância média de um ponto partir da origem de , quando suas coordenadas forem variáveis gaussianas independentes com média zero e variação unitária. Então a integral acima se torna:q Rd
Agora, a densidade alvo obviamente tem um máximo em 0. No entanto, alterando para coordenadas esféricas e introdução de, você pode ver que o integrando se torna proporcional a . Esta função tem obviamente um máximo a alguma distância da origem. A região dentro de que mais contribui para o valor da integral é chamada de conjunto típico e, para essa integral, o conjunto típico é uma casca esférica de raio . r = | | q | | r d - 1 exp ( - r 2 / 2 ) d r Q R ct √π(q)=(2π)−d/2exp(−||q||2/2) r=||q|| rd−1exp(−r2/2)dr Q R∝d−−√
Agora, pode-se mostrar que, em condições ideais, a cadeia de Markov gerada pelo MCMC primeiro converge para um ponto no conjunto típico, depois começa a explorar todo o conjunto e, finalmente, continua a explorar os detalhes do conjunto. Ao fazer isso, a estimativa da expectativa do MCMC se torna cada vez mais precisa, com viés e variação que diminuem com o aumento do número de etapas.
No entanto, quando a geometria do conjunto típico é complicada (por exemplo, se houver uma cúspide em duas dimensões), o algoritmo Metropolis de caminhada aleatória padrão apresenta muitas dificuldades em explorar os detalhes "patológicos" do conjunto. Tende a pular aleatoriamente "em torno" dessas regiões, sem explorá-las. Na prática, isso significa que o valor estimado da integral tende a oscilar em torno do valor correto, e interromper a cadeia em um número finito de etapas resultará em uma estimativa muito tendenciosa.
O Hamiltoniano Monte Carlo tenta superar esse problema, usando as informações contidas na distribuição de destino (em seu gradiente) para informar a proposta de um novo ponto de amostra, em vez de simplesmente usar uma distribuição de proposta não relacionada ao destino. Portanto, é por isso que dizemos que o HMC usa os derivados da distribuição de destino para explorar o espaço do parâmetro com mais eficiência. No entanto, o gradiente da distribuição de destino, por si só, não é suficiente para informar a etapa da proposta. Como no exemplo da distância média de um ponto aleatório da origem deRd , o gradiente da distribuição de destino, por si só, nos direciona para o modo de distribuição, mas a região ao redor do modo não é necessariamente a região que mais contribui para a integral acima, ou seja, não é o conjunto típico.
Para obter a direção correta, no HMC, introduzimos um conjunto auxiliar de variáveis, chamadas variáveis de momento . Um analógico físico pode ajudar aqui. Um satélite que orbita em torno de um planeta permanecerá em órbita estável somente se seu momento tiver o valor "certo"; caso contrário, se afastará para abrir espaço ou será arrastado em direção ao planeta por atração gravitacional (aqui desempenhando o papel do gradiente da densidade do alvo, que "puxa" em direção ao modo). Da mesma forma, os parâmetros de momento têm o papel de manter as novas amostras dentro do conjunto típico, em vez de tê-las à deriva em direção às caudas ou ao modo.
Este é um pequeno resumo de um artigo muito interessante de Michael Betancourt sobre a explicação do Hamiltoniano Monte Carlo sem matemática excessiva. Você pode encontrar o artigo, que contém mais detalhes, aqui .
Uma coisa que o jornal não cobre em detalhes suficientes, a IMO, é quando e por que o HMC pode fazer pior do que o Metropolis de passeio aleatório. Isso não acontece com frequência (na minha experiência limitada), mas pode acontecer. Afinal, você introduz gradientes, que ajudam a encontrar o caminho no espaço de parâmetros de alta dimensão, mas também o dobro da dimensionalidade do problema. Em teoria, pode acontecer que o abrandamento devido ao aumento da dimensionalidade supere a aceleração dada pela exploração de gradientes. Além disso (e isso é abordado no artigo), se o conjunto típico possui regiões de alta curvatura, o HMC pode "ultrapassar", ou seja, pode começar a amostrar pontos inúteis muito distantes nas caudas, que nada contribuem para a expectativa. Contudo, isso causa instabilidade do integrador simplético que é usado na prática para implementar numericamente o HMC. Assim, esse tipo de problema é facilmente diagnosticado.
fonte
Como @JuhoKokkala mencionado nos comentários, alta taxa de aceitação não necessariamente oferece um bom desempenho. A taxa de aceitação da Metropolis Hastings pode ser aumentada diminuindo a distribuição da proposta. Porém, isso fará com que medidas menores sejam tomadas, levando mais tempo para explorar a distribuição de destino. Na prática, há uma troca entre o tamanho da etapa e a taxa de aceitação, e é necessário um equilíbrio adequado para obter um bom desempenho.
O Monte Carlo Hamiltoniano tende a superar o Metropolis Hastings porque pode alcançar pontos mais distantes com maior probabilidade de aceitação. Então, a pergunta é: por que o HMC tende a ter maior probabilidade de aceitação do que o MH para pontos mais distantes ?
O MH tem dificuldade em alcançar pontos distantes porque suas propostas são feitas sem o uso de informações sobre a distribuição de destino. A distribuição da proposta é tipicamente isotrópica (por exemplo, um Gaussiano simétrico). Assim, em cada ponto, o algoritmo tenta mover uma distância aleatória em uma direção aleatória. Se a distância for pequena em relação à rapidez com que a distribuição de destino muda nessa direção, há uma boa chance de que a densidade nos pontos atuais e novos seja semelhante, dando pelo menos uma chance razoável de aceitação. Em distâncias maiores, a distribuição do alvo pode ter mudado bastante em relação ao ponto atual. Portanto, a chance de encontrar aleatoriamente um ponto com densidade semelhante ou (esperançosamente) maior pode ser baixa, principalmente à medida que a dimensionalidade aumenta. Por exemplo, se o ponto atual estiver em uma cordilheira estreita, haverá '
Por outro lado, o HMC explora a estrutura da distribuição de destino. Pode-se pensar em seu mecanismo de proposta usando uma analogia física, conforme descrito em Neal (2012). Imagine um disco deslizando sobre uma superfície montanhosa e sem atrito. A localização do disco representa o ponto atual e a altura da superfície representa o log negativo da distribuição de destino. Para obter um novo ponto proposto, o disco recebe um momento com direção e magnitude aleatórias, e sua dinâmica é simulada à medida que desliza sobre a superfície. O disco acelera nas direções em declive e desacelera nas direções em subida (talvez até parando e deslizando para trás novamente). Trajetórias que se movem para os lados ao longo da parede de um vale se curvam para baixo. Portanto, a própria paisagem influencia a trajetória e a puxa para regiões de maior probabilidade. O impulso pode permitir que o disco ultrapasse pequenas colinas e também ultrapasse pequenas bacias. A localização do disco após algumas etapas de tempo fornece o novo ponto proposto, que é aceito ou rejeitado usando a regra padrão da Metropolis. Explorar a distribuição de destino (e seu gradiente) é o que permite ao HMC alcançar pontos distantes com altas taxas de aceitação.
Aqui está uma boa crítica:
fonte
Como uma resposta solta (que parece ser o que você está procurando), os métodos hamiltonianos levam em consideração a derivada da probabilidade do log, enquanto o algoritmo MH padrão não.
fonte