Machine Learning: tudo que você precisa saber

73
2

Machine Learning, ou Aprendizado de Máquina, é uma área da computação que tem recebido tanta atenção recentemente que seus profissionais já estão até posando para comerciais de perfume.

Neste artigo, falaremos sobre esse assunto de maneira intuitiva, simplificando a complexidade por trás do tema, e daremos um panorama de como e em quais situações, técnicas de machine learning podem ser utilizadas.

O que é machine learning?

Resolver um problema de maneira tradicional com um computador é feito criando um algoritmo que define um conjunto de instruções (como uma receita) para gerar a saída esperada a partir de suas entradas. Por exemplo, se o problema em questão é somar dois números A e B (as entradas, nesse caso), poderíamos criar um programa que gera a seguinte saída: A + B.

Já a abordagem praticada em machine learning baseia-se em criar um algoritmo que aprende a resolver o problema a partir de vários exemplos. Nesse caso, para resolver o mesmo problema de somar dois números A e B, criaríamos um algoritmo que, dados vários exemplos de números A e B e a saída esperada (um exemplo poderia ser A=1, B=1 e saída=2), aprende um modelo para resolver a tarefa em questão.

Técnicas de machine learning são extremamente úteis em situações em que não sabemos muito bem como escrever uma solução para o problema em um algoritmo (como no caso de dizer se são gatos ou cachorros em uma foto). Em cenários do tipo, fazemos com que o algoritmo aprenda a partir de vários exemplos de entradas e saídas corretas (ainda no contexto dos cãezinhos e bichanos, fotos com cachorros tem como saída esperada a palavra “cachorro”, e fotos com gatos tem como saída esperada a palavra “gato”).

Tipos de machine learning

Existem diversas técnicas de machine learning. Elas podem ser divididas em grupos relacionados ao tipo de aprendizado:

Supervisionado

Dentro dessa categoria de aprendizado, o algoritmo precisa de exemplos rotulados (com respostas) na tarefa em questão. Por exemplo, se o problema é descobrir se um paciente, dados os seus sintomas, está com a doença X, “alimentamos” o algoritmo com vários casos de sintomas e o rótulo, dizendo se esse paciente em questão está doente ou não. É a classe de problemas mais estudada e utilizada dentre as técnicas de machine learning.

Não supervisionado

Nessa categoria de algoritmos, o objetivo é obter uma melhor representação dos dados, como agrupar as entradas em grupos (um exemplo prático seria segmentar clientes), e dessa maneira rótulos pré-definidos não são utilizados. Pesquisadores como Geoffrey Hinton e Yan Lecun apontaram essa categoria de aprendizado como extremamente promissora e possivelmente o caminho para grandes avanços na área de machine learning.

Aprendizado por reforço

Esse tipo de algoritmo faz com que agentes (um robô, por exemplo) aprendam uma política de ações para estados que maximizem a recompensa esperada. Um exemplo prático é de um agente que aprende a jogar Xadrez e tenta maximizar a recompensa final de ganhar a partida a partir das ações tomadas em cada estado do jogo.

Métodos de machine learning

Existe uma grande variedade de métodos disponíveis em bibliotecas de software abertas, como TensorFlow e ScikitLearn, desde lineares, passando por modelos baseados em árvores até modelos profundos (deep learning). O papel de um profissional de machine learning é saber quando (vantagens e desvantagens) e como utilizar cada um dos modelos já conhecidos para resolver o problema em questão.

Caso se interesse em compreender melhor ou se formar na área, leia nosso artigo sobre cientistas de dados.

Aplicações de machine learning

Cientistas de dados e pesquisadores em diversas áreas da computação são alguns dos profissionais que aplicam técnicas de aprendizado de máquina no seu dia a dia. Para exemplificar quais tipos de problemas podem ser resolvidos, vamos descrever alguns casos atuais de predições de modelos de machine learning que provavelmente afetam o seu dia a dia e mostrar avanços recentes impressionantes na área.

Recomendação de filmes, séries e vídeos

Os filmes e vídeos que aparecem no Netflix e Youtube são listas personalizadas, geradas a partir de técnicas de machine learning que tentam estimar de quais itens cada usuário tem mais chance de gostar e assistir em sequência.

Esses modelos utilizam o histórico de filmes e vídeos assistidos por usuário para realizar tais predições. Os posts do Facebook, imagens no Instagram e tweets no Twitter seguem a mesma lógica e, a partir de técnicas de aprendizado de máquina, tentam prever qual a melhor ordem para apresentar os resultados em suas páginas (posts mais relevantes para você devem aparecer primeiro).


Leia também: Big Data e Netflix: uma parceria de sucesso


Tradução automática

Os sistemas por trás da tradução do Google e do Facebook são totalmente automáticos, baseados em técnicas de machine learning que aprenderam modelos para traduzir frases. Esses modelos conseguem atingir precisão quase humana na tarefa de tradução.

Jogos

Modelos que aprendem políticas para jogar jogos baseando-se em técnicas de machine learning já conseguiram performance superior à humana em alguns jogos, como Go, Poker e até Dota!

Está claro agora como as aplicações de machine learning são essenciais para a evolução do trabalho com dados e para a revolução de negócios, não é? Vamos continuar essa discussão nos comentários!

Sobre o autor:

Gustavo Penha é cientista de dados na Hekima e aluno de mestrado na UFMG. Ama uma boa história (livros, quadrinhos, séries e filmes), correr e passar tempo com as pessoas que gosta.

 

Top