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?
Respostas:
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 ) f f f
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 ff f f
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 fregistrof f f
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:
Rasmussen, Carl Edward. "Processos gaussianos para acelerar o Monte Carlo híbrido para integrais bayesianas caras". Estatísticas Bayesianas 7. 2003.
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).
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.
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.
fonte
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.
fonte
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.
fonte
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 .
fonte