Explorando e interpolando uma função usando aprendizado de máquina?

7

Quais métodos gerais de aprendizado de máquina existem que tentam "aprender" ou interpolar uma função multivariada suave e que conseguem realmente escolher os pontos em que a função é avaliada durante o processo de aprendizado (exploração)?

A idéia seria que cada avaliação de função seja mais ou menos dispendiosa e o algoritmo aprenda a explorar as regiões do espaço em que o ganho de conhecimento é maior (vs. o custo de avaliar a função). A função pode ser não analítica (por exemplo, com dobras) nos casos mais interessantes.

Minha formação é em física e tenho certeza de que tais métodos existem, mas apesar de algumas pesquisas, não consegui encontrar algo diretamente relevante, possivelmente porque não conheço os termos certos a serem procurados. Eu só sei que, de um modo mais geral, o 'aprendizado por reforço' é a área da IA ​​que lida com exploração e recompensas, então talvez os métodos que eu estou pedindo representem algum caso especial disso.

Para esclarecimento, aqui está um exemplo: você pode obter o diagrama de fases de uma substância, ou seja, a densidade em função da pressão pe temperatura T. Então, estamos lidando com uma função (principalmente) suave de duas variáveis ​​(p, T). Sua avaliação em qualquer ponto (p, T) requer uma simulação cara-de-Carlo (muito tempo de CPU; quanto depende até onde você está no espaço p-T). O algoritmo ideal escolheria criteriosamente pontos (p, T) nos quais avaliar a densidade, tentando ir para regiões onde a função tem as características mais salientes (por exemplo, linhas de transição de fase, ou seja, não analiticas). Depois, quando você solicita ao algoritmo a densidade em qualquer outro ponto (p, T), ele fornece a melhor interpolação / extrapolação possível que ele pode obter, considerando todas as informações que adquiriu durante sua fase exploratória.

Florian Marquardt
fonte
Se, de fato, essa questão não foi muito abordada, isso também seria uma informação muito útil para mim. Definitivamente, consigo pensar em muitas aplicações possíveis (em física e ciência da computação em geral). Mas, dado todo o esforço em "agentes inteligentes" que exploram algum ambiente desconhecido, pode-se esperar que as pessoas tenham analisado situações em que esse ambiente é uma função suave desconhecida (uma paisagem montanhosa, por assim dizer).
Florian Marquardt
Acabei de adicionar um exemplo típico de aplicação, para esclarecer.
Florian Marquardt
As transições de fase que você descreve são altamente descontínuas / caóticas / fractais em seus (possivelmente "estreitos") "centros", de modo que a idéia de que isso seja uma "função suave" seja possivelmente imprecisa / enganosa.
vzn
@vzn: Embora a dinâmica microscópica em um sistema usual de muitas partículas seja realmente caótica (o que é importante para a termização), as propriedades termodinâmicas médias resultantes são funções suaves dos parâmetros, exceto quando pulam (ou apresentam outras não analiticas) na fase linhas de transição. Por exemplo, na linha de transição de fase de gás líquido no plano (p, T), há um salto na densidade.
Florian Marquardt

Respostas:

3

Eu examinaria o campo do "projeto experimental ideal" em problemas inversos bayesianos, particularmente o trabalho recente de Alen Alexandrian.

http://arxiv.org/abs/1410.5899

http://www4.ncsu.edu/~aalexan3/research.html

Essencialmente, existe um problema inverso interno para aproximar a função com base em medições pontuais de quantidades derivadas, hospedado em um problema externo de otimização para escolher os pontos com base na minimização de uma combinação do erro e da variação.

Além disso, você não precisa executar um procedimento completo de solução interna-externa. Em vez disso, você pode usar as condições KKT para o problema interno como restrição para o problema externo e formular um sistema KKT "meta" para o problema combinado.

É formulado na linguagem de problemas inversos restritos ao PDE, mas também se aplica a situações mais simples como o seu problema (o "PDE" se torna a matriz de identidade ..)

Nick Alger
fonte
Obrigado! Pelo que li, acho que a maior parte do design experimental ideal se preocupa com dados estocásticos, então ainda precisaria entender como isso se especializa em uma função suave determinística.
Florian Marquardt
É comum usar técnicas bayesianas como essa, mesmo quando a resposta verdadeira é determinística, considerando a própria incerteza sobre a resposta como elemento estocástico. Se você gosta de usar probabilidades como essa ou não, tudo se resume a se você é bayesiano ou freqüentador; é um ponto muito controverso entre os estatísticos ... De qualquer forma, se isso não o incomoda, eu sugeriria um campo aleatório gaussiano com o laplaciano inverso como covariância como o anterior, para dar maior probabilidade a funções suaves. Ou seja,πanterior(f)exp(-fΔ-1 1f).
Nick Alger
2

Aprendizado ativo é um termo usado na literatura de aprendizado de máquina para a situação em que o algoritmo de aprendizado pode consultar interativamente o valor da função em determinados pontos. Não sei se existem algoritmos existentes na literatura para o aprendizado ativo de funções multivariadas suaves, mas parece que é isso que você deseja. Você poderia gastar um pouco de tempo com o Google Scholar procurando trabalho nessa área.

Você também pode observar o design experimental ideal .

DW
fonte
11
Obrigado! Percorrendo a página da Wikipedia, encontrei o site de aprendizado ativo da Burr Settles e a revisão de literatura associada . Desde uma primeira leitura, eu recordo que os exemplos típicos têm uma função discreta (rótulos para classificação). Portanto, ainda preciso encontrar algo sobre funções suaves, embora talvez seja apenas uma variante simples do que eles dizem (fácil de traduzir para o especialista, não tão fácil para mim agora).
Florian Marquardt
-2

algoritmos genéticos podem ser usados ​​para esse fim. em alguns casos, a avaliação da função de condicionamento físico é um pouco "cara". parte da dificuldade é codificar algum tipo de medida de "regiões interessantes" e essa métrica teria que quantificar medidas em avaliações de múltiplas funções, ou seja, uma única avaliação de função não é suficiente para "perceber uma tendência". ou seja:

o algoritmo aprende a explorar as regiões do espaço onde o ganho de conhecimento é maior

e depois você o chama de "encontrando recursos mais salientes" . essa afirmação é problemática porque geralmente é difícil quantificar matematicamente "onde o ganho de conhecimento é o maior" ou "características salientes". uma possibilidade de formalizar / quantificar é considerar "alta entropia versus baixa entropia" para a qual existe um grande corpo de teoria.

seu problema também é um pouco dividido entre as linhas de aprendizado supervisionado e não supervisionado, de modo que é uma área para analisar melhor o problema.

Um recente caso importante de aplicação bem-sucedida de ML na física foi o desafio de aprendizado de máquina de Higgs e incorpora muitas das idéias que você menciona. nesse caso, o comportamento da trilha de partículas é previsto pelo algoritmo ML e aprende automaticamente sobre ruído versus sinal nos dados. algoritmos vencedores geralmente usavam árvores de decisão, conforme descrito no artigo.

vzn
fonte
11
Obrigado, mas não está claro para mim como o que estou pedindo pode ser formulado em termos de algoritmo genético (mesmo em princípio), talvez você possa elaborar?
Florian Marquardt
não sei qual parte não está clara. está tudo implícito na teoria básica dos algoritmos genéticos, conforme esboçado nas respostas / links (tente seguir alguns). pode elaborar mais / detalhadamente no Computer Science Chat . (a propósito, alguns algoritmos para "mapear" fractais têm uma estrutura semelhante como você descreve, por exemplo, mandelbrot set visualização etc.)
vzn