Os algoritmos de Machine Learning ou Deep Learning podem ser utilizados para "melhorar" o processo de amostragem de uma técnica de MCMC?


21

Com base no pouco conhecimento que tenho dos métodos MCMC (cadeia de Markov Monte Carlo), entendo que a amostragem é uma parte crucial da técnica mencionada acima. Os métodos de amostragem mais comumente usados ​​são Hamiltoniano e Metrópole.

Existe uma maneira de utilizar o aprendizado de máquina ou mesmo o aprendizado profundo para construir um amostrador MCMC mais eficiente?


5
Você poderia especificar que tipo de "melhoria" tem em mente e como vê o papel do aprendizado de máquina nele?
Tim

2
Geralmente, o MCMC geralmente envolve estimar valores de expressões sem forma fechada que são simplesmente muito complexas para encontrar soluções analíticas. É possível que o cluster multivariado (ou abordagens semelhantes) possa ser usado para estimar densidades multivariadas mais simples, mas eu consideraria isso mais uma alternativa ao uso do MCMC.
18116 AdamO em 18/07

1
@ AdamO, por que não converter isso em uma resposta? Parece que pode ser tão bom quanto podemos chegar aqui.
gung - Restabelece Monica

@ Tim Bem, pelo que li, o MCMC extrai amostras de uma distribuição para calcular quantidades inferenciais. O algoritmo MH escolhe aleatoriamente "locais" e depois afirma se eles são aceitáveis. O que eu queria saber é se existem técnicas alternativas de ML. Sei que parece vago e peço desculpas por isso, mas acho o MCMC intrigante e estou tentando entender a teoria e as aplicações práticas estudando sozinho.
Jespar 18/07/16

Respostas:


27

Sim. Diferentemente do que as outras respostas afirmam, métodos 'típicos' de aprendizado de máquina, como os não paramétricos e as redes neurais (profundas), podem ajudar a criar melhores amostradores de MCMC.

O objetivo do MCMC é coletar amostras de uma distribuição-alvo (não normalizada) . As amostras obtidas são usadas para aproximar e permitem principalmente calcular expectativas de funções sob (isto é, integrais de alta dimensão) e, em particular, propriedades de (como momentos).f f ff(x)fff

A amostragem geralmente requer um grande número de avaliações de , e possivelmente de seu gradiente, para métodos como o Hamiltoniano Monte Carlo (HMC). Se for caro para avaliar ou o gradiente não estiver disponível, às vezes é possível criar uma função substituta menos dispendiosa que possa ajudar a orientar a amostragem e é avaliada no lugar de (de uma maneira que ainda preserva as propriedades do MCMC).f ffff

Por exemplo, um artigo seminal ( Rasmussen 2003 ) propõe o uso de Processos Gaussianos (uma aproximação de função não paramétrica) para construir uma aproximação a e executar o HMC na função substituta, apenas com a etapa de aceitação / rejeição do HMC com base em . Isso reduz o número de avaliação do original e permite executar o MCMC em PDFs que, de outra forma, seriam muito caros para avaliar.f flogfff

A idéia de usar substitutos para acelerar o MCMC tem sido muito explorada nos últimos anos, essencialmente ao tentar maneiras diferentes de criar a função substituta e combiná-la de forma eficiente / adaptável a diferentes métodos do MCMC (e de maneira a preservar a 'correção' 'da amostragem MCMC). Relacionados à sua pergunta, esses dois artigos muito recentes usam técnicas avançadas de aprendizado de máquina - redes aleatórias ( Zhang et al. 2015 ) ou funções exponenciais do kernel aprendidas adaptativamente ( Strathmann et al. 2015 ) - para criar a função substituta.

O HMC não é a única forma de MCMC que pode se beneficiar dos substitutos. Por exemplo, Nishiara et al. (2014) constroem uma aproximação da densidade do alvo ajustando a distribuição de Student multivariada ao estado de várias cadeias de um amostrador de conjunto e use isso para executar uma forma generalizada de amostragem de fatia elíptica .t

Estes são apenas exemplos. Em geral, várias técnicas distintas de ML (principalmente na área de aproximação de função e estimativa de densidade) podem ser usadas para extrair informações que possam melhorar a eficiência dos amostradores MCMC. A sua real utilidade - por exemplo, medido em número de "amostras independentes eficazes por segundo" - é condicional na ser caro ou um pouco difícil de calcular; Além disso, muitos desses métodos podem exigir ajustes próprios ou adicionais, restringindo sua aplicabilidade.f

Referências:

  1. Rasmussen, Carl Edward. "Processos gaussianos para acelerar o Monte Carlo híbrido para integrais bayesianas caras". Estatísticas Bayesianas 7. 2003.

  2. Zhang, Cheng, Babak Shahbaba e Hongkai Zhao. "Aceleração Hamiltoniana de Monte Carlo usando Funções Substitutas com Bases Aleatórias". pré-impressão do arXiv arXiv: 1506.05555 (2015).

  3. Strathmann, Heiko, et al. "Monte Carlo Hamiltoniano sem gradiente, com famílias exponenciais de kernel eficientes". Avanços nos sistemas de processamento de informações neurais. 2015.

  4. Nishihara, Robert, Iain Murray e Ryan P. Adams. "MCMC paralelo com amostragem de fatia elíptica generalizada." Journal of Machine Learning Research 15.1 (2014): 2087-2112.


2
Não sei se os métodos que você listou estão realmente na categoria de "métodos de aprendizado de máquina", mas apenas nos métodos padrão do MCMC (embora esse seja o desfoque das linhas). O único que definitivamente parece ser um método de ML / DL foi o 3, que removeu "rede neural" de seu título (e parece admitir no texto que o uso de métodos de ML padrão seria muito lento).
Cliff AB

2
t

1
Muito obrigado @lacerbi. Fico feliz por poder usar suas referências como fundamento para futuras pesquisas.
Jespar

6

Um método que pode conectar os dois conceitos é o de um algoritmo multivariado do Metropolis Hastings. Nesse caso, temos uma distribuição de destino (a distribuição posterior) e uma distribuição de proposta (geralmente uma distribuição normal ou t-multivariada).

Um fato bem conhecido é que, quanto mais a distribuição da proposta for da distribuição posterior, menos eficiente será o amostrador. Então, pode-se imaginar usar algum tipo de método de aprendizado de máquina para criar uma distribuição de proposta que corresponda melhor à verdadeira distribuição posterior do que uma simples distribuição normal / t multivariada.

No entanto, não está claro que isso melhore a eficiência. Ao sugerir aprendizado profundo, presumo que você possa estar interessado em usar algum tipo de abordagem de rede neural. Na maioria dos casos, isso seria significativamente mais caro em termos de computação do que todo o método MCMC de baunilha. Da mesma forma, não sei por que os métodos NN (ou mesmo a maioria dos métodos de aprendizado de máquina) fazem um bom trabalho ao fornecer densidade adequada fora do espaço observado, crucial para o MCMC. Portanto, mesmo ignorando os custos computacionais associados à construção do modelo de aprendizado de máquina, não vejo uma boa razão para melhorar a eficiência da amostragem.


Cliff AB Sinto que você e o @AdamO me esclareceram os conceitos do MCMC e do ML mais do que passar horas em outro livro. Agradeço o seu esforço pessoal e estou feliz por você ter mencionado algumas áreas nas quais eu posso aprofundar.
Jespar 18/07/16

@Sessionion a que livro você está se referindo?
18716 AdamO em 18/07

@AdamO Atualmente, estou lendo o Reinforcement Learning de Richard Sutton e o Machine Learning: uma perspectiva probabilística de Kevin Murphy que contém um capítulo do MCMC; e também publicações de vários periódicos de ML e Computational Statistics.
Jespar

3

O Machine Learning se preocupa com previsão, classificação ou agrupamento em um ambiente supervisionado ou não supervisionado. Por outro lado, o MCMC está simplesmente preocupado em avaliar um complexo intergral (geralmente sem forma fechada) usando métodos numéricos probabilísticos. A amostragem metrópole definitivamente não é a abordagem mais usada. De fato, este é o único método do MCMC que não possui nenhum componente probabilístico. Portanto, o ML não informaria nada ao MCMC nesse caso.

Importância de amostragem baseado faz exigem um componente probabilística. É mais eficiente que o Metropolis sob algumas suposições básicas. Os métodos de ML podem ser usados ​​para estimar esse componente probabilístico se ele se encaixar em algumas suposições. Exemplos podem ser agrupamentos multivariados para estimar uma densidade Gaussiana complexa de alta dimensão. Não estou familiarizado com abordagens não paramétricas para esse problema, mas isso poderia ser uma área interessante de desenvolvimento.

No entanto, o ML me destaca como uma etapa distinta no processo de estimativa de um modelo de probabilidade complexa de alta dimensão que é subsequentemente usado em um método numérico. Não vejo como o ML realmente melhora o MCMC nesse caso.


Obrigado @AdamO, pelo menos agora tenho uma compreensão muito melhor desta área.
Jespar 18/07/16

1
Acho que essa resposta está incompleta e possivelmente incorreta (dependendo da interpretação da pergunta real do OP, o que não está completamente claro). Métodos típicos de ML, como não paramétricos e redes neurais, podem e são usados ​​para melhorar os amostradores MCMC. De fato, é uma área ativa de pesquisa. Veja minha resposta e referências para começar.
lacerbi

1
p

Obrigado @AdamO. Ainda assim, para ser sincero, não entendo sua explicação ou como ela corrige sua resposta. Por exemplo, não entendo o que você quer dizer quando diz que Metropolis "não tem nenhum componente probabilístico". Além disso, você afirma que o ML não pode ajudar na amostragem, o que é simplesmente falso (mesmo na definição restrita de amostragem como estimativa de uma integral de alta dimensão), como mostra minha resposta.
lacerbi

3
@AdamO: processos gaussianos, métodos de kernel, redes de base aleatória. Em geral, qualquer forma de aproximação de função ou estimativa de densidade funcionaria. Se estes não são métodos de ML, não sei o que é ... (observe que o OP solicitou métodos de ML ou DL). Além disso, como perguntei acima, você pode explicar o que quis dizer quando escreveu que o Metropolis não tem um componente probabilístico? Obrigado!
lacerbi

0

Houve alguns trabalhos recentes em física computacional em que os autores usaram as Máquinas Restritas de Boltzmann para modelar a distribuição de probabilidade e, em seguida, propuseram (esperançosamente) atualizações eficientes de Monte Carlo arXiv: 1610.02746 . A idéia aqui acaba sendo bastante semelhante às referências dadas por @lacerbi acima.

Em outra tentativa 1702.08586 , o autor construiu explicitamente Boltzmann Machines que pode executar (e até descobrir) as atualizações do famoso conjunto de Monte Carlo .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.