Existem centenas, senão milhares, de algoritmos e métodos estatísticos. Quando comecei nessa área, o primeiro método que eu tentava em absolutamente todo dataset era o K-means. Era meu algoritmo de cabeceira.

Nas primeiras tentativas, percebi rapidamente o que Wolpert e Macready escreveram em 1997. Eles provaram matematicamente o que eu já suspeitava: não existe um algoritmo que sirva para tudo.

O trabalho influente deles ficou conhecido como o teorema No-Free-Lunch (NFL).

Entendendo o Teorema

Wolpert e Macready definem os algoritmos de otimização de propósito geral em termos da relação entre o desempenho de um algoritmo $a$ e o problema de otimização $f$ sobre o qual ele é executado.

No artigo, eles levantam diversas questões relacionadas ao melhor casamento entre algoritmos e problemas.

O Teorema NFL

Sem entrar nos detalhes matemáticos, é isso que o teorema NFL implica:

Se o algoritmo a consegue superar o algoritmo b, então existem outras funções nas quais b vai superar a.

A conclusão mostrou que algoritmos aleatórios têm desempenhos diferentes dependendo do problema e das funções necessárias. Isso leva à conclusão de que alguns algoritmos são melhores do que outros para resolver um conjunto específico de problemas.

O artigo também destaca a importância de incorporar conhecimento específico do problema ao comportamento do algoritmo.

Pense em um dataset usado para segmentação de clientes. Você pode descobrir que o K-means (a) funciona muito bem para entender seus clientes — vamos chamar isso de problema 1.

Agora, imagine que você tem um dataset parecido, mas o objetivo é fazer uma previsão de vendas, o problema 2. O mesmo algoritmo a que você usou no problema 1 não performa bem. Já uma Árvore de Decisão (b) vai se sair muito melhor nesse dataset.

Conclusão

A ideia de que um algoritmo é melhor do que outro é falsa. O desempenho depende muito do conjunto de problemas com o qual você está trabalhando.

Em ciência de dados, isso é altamente dependente do dataset em questão — mesmo quando eles são estatisticamente similares.

O Teorema NFL me ensinou que não existe um algoritmo que sirva para tudo. Minha abordagem mudou drasticamente desde então.