As Tribos do Machine Learning

Jéssica Costa
A Garota do TI
Published in
3 min readAug 18, 2022

Atualmente se fala muito em Machine Learning, mas esse termo não é recente. A História conta que foi Arthur Lee Samuel, um cientista do MIT, que utilizou essa expressão pela primeira vez na década de 1950. Como toda ideia, existem divergências de pensamento. Popularizada no livro de Pedro Domingos, O Algoritmo Mestre, as tribos de pensamento do Machine Learning mostram as diversas abordagens para algoritmos inteligentes e como elas resolvem problemas diferentes.

A primeira tribo é a simbolista, que trabalha com a ideia de manipulação de símbolos, similar ao que se faz em soluções de equações. Um ponto importante dos simbolistas é que um conhecimento não começa do zero, é preciso de um conhecimento inicial para incorporar novos. Os sistemas especialistas e a linguagem Prolog (baseada em lógica de predicados e símbolos) são exemplos dessa tribo. As árvores de decisão também são algoritmos bem utilizados e trabalham com decisões baseadas em regras.

A segunda é a conexionista, que trabalha com inspiração biológica baseada nas conexões realizadas no cérebro. O modelo de McCulloch & Pitts (1943) do neurônio artificial e Rosenblatt (1957) com o Perceptron deram origem aos primeiros modelos de redes neurais. As redes neurais evoluíram não só com os neurônios artificiais, mas também com o conceito de multicamadas o que deu origem as redes neurais profundas, a Deep Learning que temos hoje. Inclusive o cientista Kunihiko Fukushima(1979) foi pioneiro em pesquisas de neurociência aplicada a engenharia com sua primeira rede convolucional, a “Neocognitron”.

A terceira é a evolucionista, que se baseia nas ideias da seleção natural de Charles Darwin, ou seja, mais algoritmos com inspiração biológica. Esses algoritmos chamados de evolucionários pois trabalham com conceitos de genética e evolução. O algoritmo genético faz parte desse grupo e consiste em execuções por várias gerações para testar várias soluções, dessa forma várias mutações podem ocorrer e consequentemente a geração de melhores resultados. Inclusive a AdaNet, um framework baseado no Tensorflow para AutoML foi construída com base em evolução.

A quarta é a bayesiana, como o próprio o nome sugere baseia em inferência estatística. O teorema de Bayes e seus derivados está bem presente neste tipo de algoritmo probabilístico. A famosa fórmula P(A|B) = P(A)P(B|A)/P(B) pode ser cravada numa parede dada sua importância. Um algoritmo bayesiano muito famoso é o Naïve Bayes, muito utilizado em problemas de classificação. Outro modelo probabilístico muito utilizado em biologia computacional são as cadeias de Markov.

A quinta e última tribo é a analogista, que trabalha com o reconhecimento de semelhanças entre situações e consequentemente inferir outras semelhanças. O algoritmo muito utilizado é o K-vizinhos mais próximos, ou KNN (nearest neighbors), desenvolvido em 1951 pelos estatísticos Evelyn Fix e Joe Hodges. Além de ser simples em termos de complexidade computacional, é chamado de “preguiçoso” por não aprender uma função discriminatória dos dados. As máquinas de vetores de suporte, ou SVMs (support vector machines), também fazem desse grupo e foram inventadas pelo soviético Vladimir Vapnik. De uma forma muito simplória este algoritmo trabalho com hiperplanos que estabelecem fronteiras entre as classes.

O objetivo é apresentar as principais ideias das tribos e seus algoritmos, mas são conteúdos extensos. É recomendado a leitura do livro de Domingos (referência no final) para entender com mais exemplos. Se pergunta muito qual o melhor algoritmo de Machine Learning e não se tem uma resposta correta. Tipo de problema, poder computacional disponível, tipo de dado são variáveis que devem ser levados em conta na escolha dos algoritmos para posterior avaliação de seus resultados. Os resultados podem surpreender. Até outro post!

Referências:
Domingos, Pedro. O algoritmo mestre: como a busca pelo algoritmo de machine learning definitivo recriará nosso mundo. Novatec Editora, 2017.
https://aprenderdatascience.com/k-vizinhos-mais-proximos-knn/
https://ai.googleblog.com/2018/10/introducing-adanet-fast-and-flexible.html
https://www.infoq.com/br/news/2020/02/alexa-genetic-deep-learning/
https://link.springer.com/article/10.1007/BF00344251
https://www.neuroelectrics.com/blog/2016/08/02/artificial-neural-networks-the-rosenblatt-perceptron/
fi.edu/laureates/kunihiko-fukushima
https://iaexpert.academy/2017/03/23/ia-simbolica-x-ia-conexionista/

--

--

Jéssica Costa
A Garota do TI

Mestre em Ciência da Computação, GDE em Machine Learning e Cientista de Dados