O que é um algoritmo Meta?

8

Atualmente, estou lendo um trabalho de pesquisa sobre o meta-algoritmo de atualização de peso multiplicativo. Não tenho muita certeza do que eles querem dizer com "meta-algoritmo". É simplesmente um algoritmo geral que pode ser usado para diferentes propósitos?

Não consegui encontrar nenhuma definição exata para esse termo, embora tenha encontrado exemplos de meta-algoritmos, como Boosting in machine learning.

monadoboi
fonte

Respostas:

13

Eu interpreto como significando "técnica algorítmica". É uma estrutura geral que pode ser usada para resolver vários problemas.

Não se preocupe muito com o significado dessa frase. Não é algo com uma definição aceita, e você não precisa entendê-la para obter o valor desse documento de pesquisa; é apenas uma frase passageira. Em vez disso, concentre-se em entender as idéias e os resultados técnicos no documento de pesquisa.

DW
fonte
4
Você sabe, para um campo construído com a exatidão implacável exigida pelas máquinas que codificamos, quando se trata de se comunicar com outros seres humanos, somos muito, muito ruins nisso.
CorsiKa
11
@corsiKa O implementador de seres humanos seguiu o princípio de Postel (metade disso ...), o que torna difícil dizer quando entradas ambíguas ou erradas são processadas incorretamente. Se a comunicação com humanos exigisse exatidão implacável e tivesse um feedback claro do fracasso, tenho certeza de que a comunicação seria muito mais precisa. No entanto, o princípio de Postel leva à necessidade de manter a compatibilidade de bugs, portanto não podemos esperar que seja corrigida em uma versão futura. Mais seriamente, não acho que os cientistas da computação sejam particularmente piores que a média nessa frente.
Derek Elkins saiu de SE
2

O termo "meta-algoritmo" tem um significado bastante bem aceito no contexto da teoria da aprendizagem, que é o campo de pesquisa do qual se originam pesos multiplicativos.

Especificamente, um meta-algoritmo, no contexto da teoria da aprendizagem, é um algoritmo que decide como usar um conjunto de outros "algoritmos" (geralmente, embora não necessariamente não-meta) (que podem ser tão burros quanto uma saída constante, por exemplo) e constrói um novo algoritmo a partir deles, geralmente combinando ou ponderando as saídas dos algoritmos do componente. (Porém, não considere isso uma definição canônica.) Normalmente, esses algoritmos de componentes são vistos como caixas-pretas que recebem e produzem sua saída, com o funcionamento interno oculto / irrelevante.

Existem vários exemplos de meta-algoritmos. O algoritmo de ponderação multiplicativa referenciado é um exemplo. Um exemplo particularmente simples é a votação majoritária em um conjunto de classificadores binários: suponha que você tenha vários algoritmos de classificação binária e não saiba como escolher um bom. Você pode computar todos eles e deixá-los votar. A votação neste caso é o meta-algoritmo. Obviamente, isso pode não funcionar muito bem, e você pode querer fazer algo como votação ponderada, onde o peso de alguma forma varia com o desempenho observado.

Apenas alguns exemplos de meta-algoritmos que posso pensar no momento:

  • pesos multiplicativos
  • maioria ponderada
  • aumentando
  • ensacamento
  • média do conjunto, votação
  • "Siga o Mestre"

Como sempre, você pode encontrar exemplos que obscurecem a linha entre meta e não meta. Por exemplo, vizinhos K-mais próximos podem ser considerados uma votação / média ponderada dos algoritmos de componentes, onde cada vizinho em potencial (isto é, os pontos marcados no conjunto de dados) é seu próprio algoritmo de componente, com uma saída constante, e a ponderação é uma função de distância da entrada do algoritmo.

feijão
fonte