O que é aprendizado de maquina (machine learning) ?

Rodrigo Azevedo
3 min readSep 4, 2020

--

O aprendizado de máquina (em inglês, machine learning) é um método de análise de dados que automatiza a construção de modelos analíticos ou tarefas que em abordagens tradicionais necessitam que de atualização constante de código. É o campo que dá a computadores a habilidade de aprender sem ser explicitamente programado.

A maioria das pessoas quando ouvem falar em “aprendizado de máquina” pensam em um robô exercendo alguma função futurista, mas a realidade é que ele já está a muito tempo entre nós! O primeiro aplicativo que realmente ficou famoso e conquistou o mundo na década de 1990 foi o filtro de spam. O filtro de spam foi seguido por centenas de aplicativos que agora, silenciosamente, fornecem centenas de produtos, recursos e sistemas de recomendações que nós utilizamos diariamente.

Para entender melhor o por que da utilização de aprendizado de máquina vamos tomar como exemplo a construção de um filtro de spam e ver as diferenças entre a abordagem tradicional e a utilização do mesmo. Nós escreveríamos o programa da seguinte forma:

  1. Na parte de estudo do problema iremos identificar as características do spam. Algumas palavras ou frases (“Compre”, “Aproveite”, “Imperdível”) costumam aparecer no campo do assunto e talvez você note outros padrões no nome do remetente, corpo do e-mail, e assim por diante.
  2. Por segundo, escreveríamos um algoritmo de detecção para cada um dos padrões observados, e, se fossem detectamos, nosso programa marcaria esses e-mails como spam.
  3. Por último, testamos nosso programa, e repetiremos os passos 1 e 2 até que tenhamos um resultado satisfatório.
Como não é um problema comum, nosso programa provavelmente se tornará uma longa lista de instruções e regras complexas, com uma manutenção muito difícil.

Em contrapartida, uma solução baseada em técnicas de aprendizado de máquina aprende automaticamente através de conjuntos de treinamentos quais palavras e frases são bons indicadores de spam, detectando padrões de palavras frequentes em exemplos de spam se comparados aos exemplos dos e-mails que não são considerados spam.

O programa será muito menor, de mais fácil manutenção e, provavelmente, mais preciso.

Além disso, se os spammers percebem que todos os seus e-mails contendo determinada palavra são bloqueados, poderão começar a escrever novas variações da palavra. Um filtro de spam que utiliza as abordagens de programação tradicionais precisaria ser constantemente atualizado para marcar como spam a nova palavra. Em contrapartida, um filtro que utiliza o aprendizado de máquina perceberia automaticamente que a nova palavra tornou-se frequente no spam marcado pelo usuário e passaria a marcar como spam sem a intervenção do usuário.

Finalizando, situações em que o aprendizado de máquina se torna ótimo:

  • Problemas para os quais as soluções existentes exigem muita configuração manual ou uma longas listas de regras.
  • Problemas complexos para os quais não existe uma boa solução quando utilizamos uma abordagem tradicional.
  • Ambientes que sofrem constantes mudanças: um sistema de aprendizado de máquina pode se adaptar constantemente a novos dados.
  • Compreensão de problemas complexos que lidam com grandes quantidades de dados.

Obrigado pela leitura! O livro utilizado como base para elaboração desse artigo foi o Mãos à Obra: Aprendizado de Máquina com Scikit-Learn & TensorFlow.

--

--

No responses yet