O que é Machine Learning?

Rodrigo Estevam
Turing Talks
Published in
5 min readApr 28, 2019

Olá grandes entusiastas de Inteligência Artificial! Eu sou o Rodrigo e te acompanharei hoje no nosso Turing Talks #2, em continuação a nossa série de posts sobre IA (leiam o post anterior, é bem legal).

Hoje a minha missão é fazer vocês entenderem o básico sobre o que é Machine Learning e quem sabe dar um pontapé inicial para fazer vocês pesquisarem a fundo sobre esse assunto e começar a estudar os algoritmos.

Machine Learning?

Machine Learning (Aprendizado de Máquina, em português) é um ramo de IA que estuda a automatização da criação de modelos com base na análise de dados. Ou seja, a máquina aprende sozinha, sem que ela seja explicitamente programada a priori, a fazer sua “tarefa” analisando os dados que ela tem a seu dispor.

Eu defini como “tarefa” algo que é muito abrangente; dependendo dos tipos de dados e como eles estão organizados é possível fazer muitas coisas diferentes.

Machine Learning está inserido no seu cotidiano mais do que você pensa! A Siri e a Google Assistent, os filtros bonitinhos de cachorrinho do Instagram e até o catálogo de recomendações do Netflix, utilizam algoritmos de aprendizado de máquina.

Não podemos esquecer do nosso amigo Bender

Para nos ajudar a entender todas essas possibilidades de atuação, estruturarei esta explicação por tipo de aprendizado: aprendizado supervisionado, não supervisionado e por reforço.

Diagrama das áreas de Machine Learning, com alguns exemplos de aplicação

Aprendizado Supervisionado (Supervised Learning)

Primeiramente, para que esse tipo de aprendizado seja possível é preciso ter uma base de dados rotulada (labeled dataset), que é uma “tabela” com colunas contendo características (features) e uma sendo o nosso objetivo (target). Prometemos fazer mais posts sobre Data Science futuramente, assim vocês entenderão melhor como é um dataset.

Uma boa analogia para entender esse tipo de aprendizado é pensar que a máquina tem um professor. Como um professor da vida real, ele resolve alguns exemplos para que ela aprenda e consiga generalizar para todos os tipos de situações.

Como o nosso dataset é rotulado, ele já vem com as respostas do que a gente quer prever para alguns casos. O que o modelo deve fazer é aprender com esses casos, para que generalizando, ela consiga predizer/classificar a resposta de um caso que ele ainda não tenha visto.

Classificação

Dizemos que é uma classificação quando o nosso objetivo é classificar um caso dentre algumas opções.

Um bom exemplo disso é uma aplicação em um dataset bem famoso para iniciantes. No IRIS (http://archive.ics.uci.edu/ml/datasets/iris) é fornecida para cada exemplo características de sua estrutura: comprimento e largura da pétala e da sépala, além de sua espécie que pode ser versicolor, setosa ou virginica.

Com isso é possível criar modelos classificatórios que predizem a espécie da flor com base nas suas características.

Primeiras linhas do dataset iris

Outro grande exemplo são as classificações de imagens! Elas são muito usadas em sistemas de segurança e até nos filtros de Instagram que citamos acima (para a detecção do rosto de pessoas).

Muffin ou Chiuaua?

Regressão

Mas e quando o que tentamos acertar não é uma categoria e sim um valor contínuo? Nesse caso precisamos de um modelo de regressão. É o caso de problemas como acertar o preço de uma casa com base em onde é localizada e sua estrutura ou encontrar a idade de uma pessoa usando informações sobre a sua fisionomia.

O que é feito é achar uma função que melhor aproxima aquela descrita pelos dados. Mas como nem sempre os dados descrevem uma função “simples” ou “bonita”, é muito difícil criar um modelo perfeito para esse tipo de problema.

Exemplo de uma regressão linear

Não Supervisionado (Unsupervised Learning)

No aprendizado não supervisionado não se tem os rótulos para a base, ou seja, ele ocorre sem que o algoritmo tenha a resposta para os casos. São usados para clusterização e redução de dimensionalidade.

Na clusterização, o que é feito é agrupar esses casos em grupos que pareçam ser mais semelhantes (clusters), com base nas características que eles apresentam.

Exemplo de um algoritmo de Clusterização

No algoritmos de redução de dimensionalidade a ideia é diminuir a complexidade dos dados escolhendo uma melhor forma de representá los, assim uma análise futura dos dados fica bem mais simples.

O algoritmo da imagem abaixo utiliza métodos de álgebra linear para escolher eixos coordenados que melhor representam os dados.

Algoritmo de redução de dimensionalidade

Aprendizado por Reforço (Reinforcement Learning)

O aprendizado por reforço é bem diferente dos que citamos acima, pois nele não é necessário um dataset para treinar o modelo. A ideia é que o modelo seja um agente que aprende ao interagir com um ambiente, o qual lhe fornece uma resposta (recompensa) para cada ação tomada.

Então o algoritmo começa indo mal e, percebendo isso, com o tempo vai descobrindo maneiras de se sair melhor, ou seja, de obter uma recompensa maior. Assim ele vai sempre tentando melhorar para maximizar seu ganho.

Diagrama do aprendizado por reforço

Exemplos de IAs que usam aprendizado por reforço são aquelas que jogam jogos. Uma que ficou muito famosa foi a AlphaGo que conseguiu ganhar do campeão mundial de Go (jogo de tabuleiro) . Aliás, há um documentário no Netflix sobre ela.

Outro campo em que esse tipo de aprendizado é muito utilizado é na robótica. Tarefas simples para nós seres humanos, como andar, pegar objetos ou até virar uma panqueca na frigideira, são bem complicadas de serem feitas com programação “clássica”.

Então, por meio de simulações ou tentativas no mundo real, é possível treinar esses robôs de maneira que eles aprendam tentando.

É só isso?

Há tanto mais a ser explorado em machine learning que seria cansativo citar tudo nesse texto, mas pretendemos continuar essa série explorando esse tema tão interessante. Por hora, espero que tenham entendido o básico do assunto e gostado desse pequeno texto.

Se você estiver mesmo interessado em saber mais sobre, além de continuar nos acompanhando aqui, siga nossa página no Facebook e fique ligado nas postagens.

Ficamos por aqui,

Grande abraço!

--

--

Rodrigo Estevam
Turing Talks

Aluno de Engenharia Elétrica na Poli-USP Membro do Grupo Turing de IA da USP