As técnicas de aprendizado de máquina são "algoritmos de aproximação"?


23

Recentemente, houve uma pergunta semelhante ao ML na troca de pilha de teoria, e eu postei uma resposta recomendando o método de Powell, descida de gradiente, algoritmos genéticos ou outros "algoritmos de aproximação". Em um comentário, alguém me disse que esses métodos eram "heurísticos" e não "algoritmos de aproximação" e frequentemente não chegavam perto do ideal teórico (porque "freqüentemente ficam presos nos mínimos locais").

Outros concordam com isso? Além disso, parece-me que existe uma sensação de que os algoritmos heurísticos podem se aproximar dos ótimos teóricos se forem configurados para explorar grande parte do espaço de pesquisa (por exemplo, definir parâmetros / tamanhos de etapas pequenos), embora eu ainda já vi isso em um jornal. Alguém sabe se isso foi demonstrado ou comprovado em um artigo? (se não for para uma classe grande de algoritmos, talvez para uma classe pequena digamos NNs etc.)


em uma maior reflexão sobre esta questão parece que o / área relevante relacionada de pesquisa é chamado de otimização global métodos / variantes em cima do local do tipo algoritmos por exemplo gradiente de descida ...
vzn

Respostas:


29

Eu acho que você está misturando vários conceitos importantes. Deixe-me tentar esclarecer algumas coisas:

  • Existem métodos metaheurísticos, que são métodos que tentam iterativamente melhorar uma solução candidata. Exemplos disso são pesquisa tabu, recozimento simulado, algoritmos genéticos etc. Observe que, embora possa haver muitos casos em que esses métodos funcionam bem, não há um entendimento profundo de quando esses métodos funcionam e quando não funcionam. E o mais importante, quando eles não chegam à solução, podemos estar arbitrariamente longe dela. Os problemas resolvidos pelos métodos metaheurísticos tendem a ser discretos por natureza, porque existem ferramentas muito melhores para lidar com problemas contínuos. Mas de vez em quando você vê metaheurísticas para problemas contínuos também.

  • Existem métodos de otimização numérica, as pessoas nesta comunidade examinam cuidadosamente a natureza da função que deve ser otimizada e as restrições da solução (em grupos como otimização convexa, programação quadrática, programação linear etc.) e aplicam algoritmos que foram mostrados trabalhar para esse tipo de função e esse tipo de restrição. Quando as pessoas nesta área dizem "mostrado para trabalhar", elas significam uma prova. A situação é que esses tipos de métodos funcionam em problemas contínuos. Mas quando seu problema se enquadra nessa categoria, essa é definitivamente a ferramenta a ser usada.

  • Existem métodos discretos de otimização, que tendem a ser coisas que, por natureza, estão conectadas a algoritmos para problemas discretos bem estudados: como caminhos mais curtos, fluxo máximo, etc. As pessoas nessa área também se preocupam com o fato de seus algoritmos realmente funcionarem (provas). Há um subconjunto de pessoas neste grupo que estuda problemas realmente difíceis para os quais não se espera que exista um algoritmo rápido. Eles estudam algoritmos de aproximação, que são algoritmos rápidos, para os quais são capazes de mostrar que sua solução está dentro de um fator constante do verdadeiro ideal. Isso é chamado de "algoritmos de aproximação". Essas pessoas também mostram seus resultados como provas.

Então ... para responder sua pergunta, não acho que as metaheurísticas sejam algoritmos de aproximação. Não me parece algo ligado à opinião, é apenas fato.


re "métodos de otimização numérica", "métodos de otimização discretos", parece que muitas técnicas de ML podem estar comprovadamente dentro de um fator constante do verdadeiro ideal se seu "espaço de pesquisa inicial" for forçado a ser grande, mas eu não vi uma referência nisto.

2
Discordo. * para otimização numérica, você pode obter o mínimo local (é claro, também pode aplicar procedimentos que tornam isso impossível de se conseguir). * O mesmo é para redes neurais (pelo menos isso pode acontecer durante o treinamento do perceptron). * Algoritmos genéticos também podem chegar ao mínimo local; além disso, se você optar por grandes taxas de mutação, não terá evolução sensata! Também suspeito fortemente que existem conjuntos de dados que sempre farão com que certos modelos apresentem erros arbitrariamente grandes.
jb.

2
@vzn muitas pessoas escolhem modelos para os quais a solução ideal pode ser encontrada. Isso ocorre porque o uso de funções de perda convexa, como fazem os SVMs. Encontrar o verdadeiro ideal aqui significa "encontrar a solução ideal no seu espaço de pesquisa", para que isso não tenha nada a ver com a aparência do espaço de pesquisa. Como jb disse, para funções gerais de perda, encontrar o ideal ideal é geralmente impossível / inviável.
Andreas Mueller

aceitando esta resposta como uma descrição do estado atual das coisas e categorias gerais de aplicativos, mas ainda acho que existem alguns thms de ponte que existem e ainda precisam ser comprovados que vinculam áreas separadas. a prova de que NNs pode modelar ou "aproximados" qualquer fn matemática contínua de grau arbitrário de precisão está intimamente relacionado ... ie Kolmogorov thm
vzn

3

O aprendizado de máquina geralmente lida com a otimização de uma função que possui muitos mínimos locais. Redes neurais feedforward com unidades ocultas são um bom exemplo. Sejam essas funções discretas ou contínuas, não há método que atinja um mínimo global e pare. É fácil provar que não há algoritmo geral para encontrar um mínimo global de uma função contínua, mesmo que seja unidimensional e suave (com infinitas derivadas). Na prática, todos os algoritmos para o aprendizado de redes neurais ficaram no mínimo local. É fácil verificar isso: crie uma rede neural aleatória, faça um grande conjunto de respostas a entradas aleatórias e tente aprender outra rede neural com a mesma arquitetura para copiar as respostas. Embora a solução perfeita exista, nem a retropropagação, nem qualquer outro algoritmo de aprendizado poderá descobri-la,

Alguns métodos de aprendizado, como recozimento simulado ou algoritmos genéticos, exploram muitos mínimos locais. Para funções contínuas, existem métodos como a descida em gradiente, que encontram o mínimo local mais próximo. Eles são muito mais rápidos, por isso são amplamente utilizados na prática. Mas, com tempo suficiente, o primeiro grupo de métodos supera o posterior em termos de erro no conjunto de treinamento. Mas, com restrições de tempo razoáveis, para problemas do mundo real, o último grupo geralmente é melhor.

Para alguns modelos, como regressão logística, há um mínimo local, a função é convexa, a minimização converge para o mínimo, mas os modelos são simplistas.

Essa é a verdade amarga.

Observe também que a prova de convergência e a prova de convergência para a melhor solução são duas coisas diferentes. O algoritmo K-means é um exemplo disso.

Finalmente, para alguns modelos, não sabemos como aprender. Por exemplo, se a saída é uma função computável arbitrária das entradas, não conhecemos bons algoritmos que, em tempo razoável, encontram uma máquina de Turing ou equivalente implementando essa função. Por exemplo, se f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (dez primeiros primos), não fazemos conhece algum algoritmo de aprendizagem capaz de prever, em tempo razoável, que f (11) = 31, a menos que já conheça o conceito de números primos.

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.