Bem vindo, Machine Learning

Postado 16 de novembro de 2017

Um dos assuntos mais falados do momento é machine learning, embora isso não seja algo novo. A matemática por trás de ML surgiu lá nos anos 80! A cada ano que passa, os algoritmos de aprendizado vêm ficando cada vez melhores, nos deixando um passo mais próximos da tão esperada inteligência artificial.

Começamos a desbravar esse caminho aqui na Youse e estamos aprendendo, pouco a pouco, o que é e o que não é machine learning. Existem algumas questões que sempre assombram as empresas quando elas começam a molhar os pés nas águas geladas da A.I., e a primeira delas é “esse negócio vale a pena mesmo?”.

Se você ainda está incerto sobre o poder da inteligência artificial no nosso dia-a-dia, sugiro dar uma olhadinha no livro “Inevitável – As 12 forças tecnológicas que mudarão o nosso mundo“, do Kevin Kelly. Se estiverem sem tempo, a primeira das doze forças é a inteligência artificial. Podem parar de ler depois dela (se vocês acham que vão conseguir, boa sorte).

Não estamos falando de robôs assassinos que vão decidir erradicar o ser humano da face da Terra, mas de aplicações focadas e bastante específicas. Adicionar consciência de si mesmo aos nossos algoritmos só iria torná-los menos eficientes na tarefa para a qual foram projetados. Não queremos que o Tesla tenha uma crise existencial e bata em um poste, queremos?

Agora que tiramos Eu, Robô da frente, a próxima pergunta é sobre Matemática. Temos que saber tudo sobre Álgebra Linear, Cálculo, Equações Diferenciais e Estatística? A maioria dos blogs por aí dizem que não, mas acho que a resposta honesta é um pouco mais complicada do que isso. Existem bibliotecas que fazem o trabalho sujo para nós, mas como vamos conseguir expertise em algo que nem sabemos como funciona? Saber a matemática é importante, mas talvez só valha a pena depois de já termos aprendido a caminhar com as próprias pernas. É possível aplicar machine learning sem saber a Matemática, mas aprimorar cada vez mais os algoritmos requer um conhecimento cada vez mais profundo do que está acontecendo. Cedo ou tarde, vamos ter que aprendê-la.

A questão é que o pré-requisito para aprender machine learning não é Matemática, mas saber analisar dados. Não é à toa que uma das profissões mais visadas do momento é a de Data Science. A Matemática não vai salvar seu trabalho se os dados estiverem mal estruturados ou se forem mal interpretados, enquanto que um trabalho bem feito nos dados pode sobreviver bem sem Matemática avançada.

O algoritmo vai predizer coisas, mas não vai nos dizer o porquê daquela predição. Esse segredo está escondido nos dados e é ali que devemos focar a maior parte do nosso trabalho.

 

O que eu posso fazer com ML?

 

Para aplicar ML em nossos produtos, temos que entender do que ele é capaz. Machine learning é, basicamente, um programa que aprende automaticamente a partir de dados. Em vez de dizer absolutamente tudo o que ele precisa fazer, você mostra exemplos para ele e deixa que ele aprenda sozinho.

Parece mágica? Não é. No fundo, é tudo Matemática. Veja o caso de uma regressão linear. Existe um exemplo bem clássico de predizer o valor de uma casa dado sua área. Se obtermos dados de várias casas, podemos desenhar pontos em um gráfico, como esse:

A linha tracejada no meio é o que o modelo vai aprender. Ele generaliza o problema traçando uma linha que se ajusta aos pontos e usa essa linha para fazer suas predições. Será que, se descermos a linha um pouquinho no eixo y, o resultado melhora? Ou, talvez, se inclinarmos ela um pouquinho? Esse é um processo de otimização que o próprio algoritmo vai fazer para tentar diminuir a taxa de erro.

Existem alguns tipos de problemas que podem ser solucionados com ML:

– Regressão: quando queremos descobrir um valor numérico, como o preço de uma casa ou de uma passagem aérea;

– Recomendação: quando tentamos encontrar o que o usuário realmente quer. Encontramos um bom exemplo disso na Amazon ou na Netflix;

– Classificação: quando tentamos descobrir o tipo de alguma coisa. O exemplo mais clássico é o filtro de spam dos e-mails, mas podemos pensar, por exemplo, em um algoritmo que diga se um carro está ou não danificado;

– Ranqueamento: quais desses resultados são os mais relevantes? É isso que o Google faz quando realizamos uma busca;

– Detecção de anomalia: a busca de coisas incomuns nos nossos dados;

– Clusterização: quem comprou isso também comprou…

 

Machine Learning é um assunto incrivelmente abrangente. Ainda temos muito o que aprender, mas uma coisa é certa: todo o nosso foco precisa estar nos dados. Com dados melhores, podemos colocar inteligência em cada pedacinho do nosso ecossistema e fazer predições melhores e mais assertivas. Saber o que armazenar é um problema gigantesco por si só e estruturar os dados para fornecê-los a modelos que ainda não existem parece uma missão hercúlea.

Só nos resta seguir adiante e ver onde esse machine learning vai nos levar.