# Machine Learning: o que é de fato aprendizado de máquina

> Hoje vamos falar do aprendizado de máquina, ou aprendizagem de máquina, isto é, vamos falar do Machine Learning. É um dos temas da moda, que iremos desmitificar nesse texto. O termo, que aparece em quase todo pitch de startup ou conversas sobre inteligência artificial. Bora lá? O que é Machine Learning? Antes de entender do [&hellip;]

**URL:** https://northern.com.br/machine-learning-o-que-e-de-fato-aprendizado-de-maquina/  
**Data:** 2022-04-27

---

Hoje vamos falar do aprendizado de máquina, ou aprendizagem de máquina, isto é, vamos falar do [*Machine Learning*](https://tecnoblog.net/responde/machine-learning-ia-o-que-e/). É um dos temas da moda, que iremos desmitificar nesse texto. O termo, que aparece em quase todo pitch de startup ou conversas sobre inteligência artificial. Bora lá?

## O que é Machine Learning?

Antes de entender do aprendizado de máquina, vamos recordar um pouco sobre como funciona o aprendizado humano. Aprendemos observando situações, aprendemos errando, aprendemos fazendo coisas, enfim, existem várias formas de aprender. Lembro quando era criança, e minha mãe me falou para não colocar o dedo na boca do fogão, senão eu ia me queimar. Eu poderia ter aprendido ouvindo o conselho dela, mas eu decidi colocar o dedo mesmo assim, afinal ela podia estar errada… Aprendi da pior maneira, queimei meu dedo e fiquei ouvindo que deveria “ouvir minha mãe” por muitos meses/anos… rsrsrs… 

Note que, nesse exemplo, já colocamos algumas coisas que aparecem nos códigos de Machine Learning: se colocar o dedo na boca do fogão, então vai se queimar. Essa instrução, por mais banal que pareça, envolve um dos dilemas do cotidiano humano: a famosa tomada de decisão. Nessa situação, parece óbvio a decisão a ser tomada. Mas como diria o filosofo Voltaire, “[*Common sense is not so common*](https://www.goodreads.com/book/show/19390.Philosophical_Dictionary)”, ou seja, o senso comum não é tão comum assim. Imagine uma situação que você acha evidente agir de forma A, e seu melhor amigo acha evidente agir de forma B, e você acha uma extrema estupidez agir de forma B… Quando isso ocorrer, lembre-se de Voltaire… rsrsrs… Calma, esse texto não é focado em filosofia, mas é bom citar esse exemplo, para enfatizarmos que desenvolver algoritmos para a máquina aprender e tomar a melhor decisão não é uma tarefa fácil. Não é fácil nem para nós humanos. Portanto é um campo que tem muito a crescer, mas já apresenta vários resultados expressivos. Vamos citar alguns deles?

## Como funciona o treinamento de um modelo de machine learning?

Vou começar por um trabalho da turma de Stanford. Eles queriam “ensinar um helicóptero” a realizar manobras difíceis, que apenas pilotos experientes eram capazes de realizar. Esse problema é muito interessante, pois um dos objetivos de colocar a máquina para fazer tarefas de humanos, é justamente tirar os humanos de situações que coloquem sua vida em perigo. 

Se o voo for de risco, seria melhor que não tivesse nenhuma pessoa envolvida, apenas a máquina. Então eles desenvolveram um algoritmo que inicialmente aprendia vendo as manobras difíceis (acrobacias, por exemplo) realizadas por um outro helicóptero. Eles explicaram os procedimentos nesse vídeo intitulado [*Autonomous Helicopters Teach Themselves to Fly Stunts*](https://www.youtube.com/watch?v=M-QUkgk3HyE) (Helicópteros autônomos ensinam a si mesmos a fazer acrobacias). A situação é muito bacana, eles utilizaram Helicópteros de brinquedo, pilotados por controle remoto. Então o helicóptero “autônomo” olha, através de câmeras, um outro helicóptero controlado por um humano. Ele fica “observando as manobras”, aprendendo com o que o outro faz. Depois de um tempo de aprendizado, ele começa a realizar de forma similar o que o outro fazia. É um exemplo típico de aprendizado de máquina. Nesse caso, a máquina era o helicóptero. O aprendizado era por observação, e o objetivo era o de realizar manobras difíceis. Os detalhes do algoritmo não são triviais, e fogem do escopo desse texto. 

Outro exemplo muito bacana, está associado a um projeto de fazer o “computador ensinar a si mesmo” a [jogar diversos jogos de Atari](https://www.forbes.com/sites/paulrodgers/2015/02/28/googles-deepmind-masters-atari-games/?sh=44d5fcc66c48). Para quem não sabe, muitas décadas atrás existia um videogame chamado Atari, que fazia muito sucesso. Nesse projeto, foi desenvolvido um algoritmo que aprendia à medida que ia jogando o jogo.  No vídeo intitulado [“Google DeepMind’s Deep Q-learning playing Atari Breakout!”](https://www.youtube.com/watch?v=V1eYniJ0Rnk) é apresentado o software jogando o jogo “Atari Breakout”. É um vídeo curto, de pouco menos de 2 minutos, que vale a pena ver. É possível observar que no começo, o algoritmo joga muito mal, parece uma pessoa iniciante, fazendo erros básicos. Mas à medida que vai jogando, vai aprendendo a melhor maneira de jogar, e de ganhar mais pontos, dependendo da decisão que toma. No final, ele descobre “as manhas” do jogo, e fica craque. Isso ocorre depois de mais de 4 horas de treinamento, ou seja, mais de 4 horas jogando.

## A performance de um modelo de Machine Learning

Os exemplos do Atari e do Helicóptero são típicos de aprendizado de máquina, mas você poderia dizer: não estou nem aí para isso, quero saber como posso aplicar a técnica em minha linha de produção, em meu e-commerce, etc… O princípio é o mesmo. Os algoritmos iriam “observar”, monitorar o que vem sendo feito, e buscar formas mais otimizadas, melhores de obter os resultados. Aprender com o que vem sendo feito, e fazer melhor. A ideia é essencialmente essa, e pode ser aplicada em várias áreas. Vamos ver o exemplo de aplicação de uma métrica para o caso de avaliação de qualidade de testes de Covid?

## As métricas de um modelo de Machine Learning

O pessoal do Google (já disse isso antes, esse pessoal é fera…), disponibilizou um curso de Aprendizado de Máquina chamado* *[*Machine Learning Crash Course*](https://developers.google.com/machine-learning/crash-course/classification/precision-and-recall). Se você clicar no link, indiquei a página que mostra especificamente algumas métricas de classificação utilizadas em Machine Learning. Existe a precisão, que é uma métrica que pretende responder à seguinte pergunta: Qual proporção de identificações positivas foi efetivamente correta? Para facilitar o entendimento, vamos pensar que queremos que a máquina aprenda a identificar quem tem Covid e quem não tem, da melhor forma possível. Imagine que precisamos aprender com os diversos testes disponíveis no mercado. Temos os testes que dão o verdadeiro positivo (VP), ou seja, a pessoa testou positivo e realmente tem Covid. Tem o falso positivo (FP), que é o caso que a pessoa deu positivo, mas não tinha covid. Tem o falso negativo (FN), nesse caso o teste deu que a pessoa não tinha covid, mas ela tinha. E por fim, tem o verdadeiro negativo (VN), que é quando o teste dá um resultado negativo, e a pessoa realmente não tem Covid. A precisão é uma métrica calculada da seguinte maneira: Precisão = VP/(VP + FP). Então se tivermos 700 verdadeiros positivos e 300 falsos positivos, podemos dizer que a precisão é 700/(700 + 300) = 0,70 = 70%. Podemos colocar essa métrica em nosso algoritmo, e esse valor servir de referência para uma tomada de decisão. Informar, por exemplo, se o teste em questão é confiável ou não. O algoritmo de ML poderia aprender com diversos testes, que possuem diferentes precisões, e sugerir que um teste confiável tenha mais que 85% de precisão, por exemplo. Existem várias outras métricas, para quem tiver interesse, existe [esse material](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html#sklearn.metrics.f1_score) em Python que pode ajudar.Existe um kit para desenvolver projetos em *Machine Learning*, que é o [*scikit-learn*](https://scikit-learn.org/stable/index.html). Quem tiver interesse, vale a pena dar uma olhada. O assunto é muito vasto, e hoje vamos parar por aqui. Espero que o texto tenha dado uma noção geral. Quem estiver pensando em colocar a mão na massa, em algum projeto prático, é só dar um toque. Bons negócios e até a próxima.