Desmistificando termos em Machine Learning - tipos de aprendizado

Desmistificando termos em Machine Learning - tipos de aprendizado
Bruno Raphaell
Bruno Raphaell

Compartilhe

Machine Learning (aprendizado de máquina) é o ramo da Inteligência Artificial que possibilita aos computadores aprenderem com os dados com a menor interferência humana possível. Sistemas de recomendações, detecção de fraudes, reconhecimento de imagens e comandos por voz são alguns exemplos de aplicações presentes no nosso cotidiano.

Há diversas formas nas quais as máquinas podem realizar esse aprendizado. No artigo Desmistificando termos em Machine Learning é mencionado o aprendizado de máquina supervisionado, mas o que ele significa? Quais são as outras formas? Neste artigo vamos desmistificar termos relacionados aos tipos de aprendizagem, quais algoritmos fazem parte de cada um deles e algumas de suas aplicações.

Aprendizado supervisionado (supervised learning)

No aprendizado de máquina supervisionado, o algoritmo aprende com dados usados para treinamento com os quais já se sabe a solução, chamada de rótulos (labels). Quando estamos trabalhando com um algoritmo supervisionado, usamos um conjunto de dados que já estão inclusos nas respostas a serem treinadas no modelo.

O exemplo mais clássico desse tipo de algoritmo é o de classificar se um e-mail é spam (não solicitado pelo usuário, como no caso de publicidades) ou ham. Para treinar o modelo, usamos muitos e-mails que contém a resposta para a pergunta "É spam?". À partir das características dos e-mails classificados como "Sim, é spam", o algoritmo aprende a rotular o que é spam e ham. Esse tipo de modelo é denominado de classificação.

Uma outra aplicação que pode ser feita com modelos supervisionados é o de prever um determinado número, como o preço de uma casa, quilometragem de automóvel, idade, etc. Esse tipo de modelo é denominado de regressão, pois encontram padrões de como uma variável muda em relação às outras.

Alguns desses algoritmos são:

  • k-Nearest Neighbors
  • Support Vector Machines (SVMs)
  • Linear regression
  • Logistic regression
  • Decision Trees
  • Random Forests

Aprendizado não supervisionado (unsupervised learning):

O aprendizado não-supervisionado não possui a necessidade dos dados usados para treino conterem os rótulos ou a classificação. Nele, busca-se encontrar o padrão entre as diferentes amostras e separar as que possuem as mesmas características. Caso possua uma boa base de dados dos clientes de um e-commerce, por exemplo, e deseja-se conhecer o perfil desses clientes, o aprendizado não-supervisionado é perfeito para essa tarefa.

Quando o Spotify, YouTube e Netflix recomendam algo, o que é feito de fato é a execução de um algoritmo não-supervisionado para agrupar os clientes e fazer recomendações com base nas experiências nas plataformas. Outra aplicação acontece na detecção de fraudes em cartões de créditos, evitando golpes financeiros.

Alguns algoritmos não-supervisionados mais utilizados são:

Clusterização: tem como objetivo o agrupamento dos dados que possuem características semelhantes.

  • K-Means
  • DBSCAN
  • Hierarchical Cluster Analysis (HCA)

Detecção de anomalia: agrupa as informações de acordo com o que se espera e detecta as ações que fogem do padrão.

  • One-class SVM
  • Isolation Forest

Redução de dimensionalidade: tem o objetivo de fazer a simplificação dos dados sem a perda de muitas informações.

  • PCA
  • t-SNE

Aprendizado semi-supervisionado (semi-supervised learning):

É a mistura dos dois algoritmos apresentados anteriormente. Como rotular toda uma base de dados é custoso em tempo e muitas vezes em dinheiro, é muito comum uma parte do conjunto de dados estar rotulada e a outra parte não. Surge, então, a necessidade de algum algoritmo que trabalhe com uma base de dados dessa forma.

Esse tipo de aprendizado é muito usado também na detecção de fraudes para rotular os dados que não possuem labels para então usar o aprendizado supervisionado. Um exemplo desse algoritmo é a Rede de Crenças Profundas (ou Deep Belief Network, DBN), na qual é utilizada uma parte do modelo de forma não-supervisionada e outra supervisionada.

Aprendizado por reforço (reinforcement learning):

É o que mais se diferencia dos outros que foram apresentados. O sistema de aprendizado, que nesse contexto receberá o nome de agente, é treinado para tomar uma sequência de decisões. Nesse tipo de aprendizado o agente executa alguma ação e recebe recompensas ou penalidades em troca. Seu objetivo é ser capaz de tomar as melhores decisões para obter o maior número de recompensas ao longo do tempo, usando testes totalmente aleatórios no início e obtendo a melhor solução ao final.

É amplamente utilizado na robótica e em jogos. Um exemplo de aplicação é o AlphaGo que aprendeu a jogar go analisando as melhores estratégias de vitória de milhões de jogos que estavam à sua disposição. Em seguida, jogou milhões de jogos contra si, aprendendo as melhores jogadas que o levavam sempre a vitória. Em 2017, apareceu em publicações por ter derrotado o campeão mundial de go, Ke Jie.

Conclusão

Fundo azul escuro com desenhos, palavras e fluxograma na cor branca. Da parte superior até a metade da imagem temos um fluxograma com 5 retângulos, sendo um retângulo principal e outros quatro menores ligados a ele. No retângulo principal, está escrito “Tipos de aprendizado de máquina”. Abaixo do retângulo principal temos os 4 retângulos contendo os termos “supervisionado”, “não-supervisionado”, “semi-supervisionado”, “por reforço”, sendo um em cada retângulo. Abaixo desse retângulos temos 4 ícones, da esquerda para a direita, da seguinte forma: o primeiro ícone é um gráfico com os eixos x e y e uma reta crescente na diagonal; o segundo ícone apresenta 4 círculos, com o desenho de bonecos até a parte da cintura, ligados entre si e a outros cinco círculos menores. O terceiro ícone é o mesmo desenho do primeiro e do segundo ícone separados por uma linha na diagonal. O quarto ícone é o desenho de um boneco em pé ao lado de 3 outros desenhos sobrepostos de uma lâmpada, um balão de fala e uma engrenagem. Abaixo de cada ícone temos os seguintes termos, da esquerda para a direita: “dados rotulados”, “dados não-rotulados”, “dados rotulados e não-rotulados”, “aprende com os erros”. No canto inferior direito da imagem temos a logomarca da Alura.

Nesse artigo aprendemos mais sobre os diferentes tipos de aprendizado de máquina, alguns algoritmos que compõem cada um e aplicações presentes no nosso cotidiano. Entender e aprofundar nessa temática é essencial para o crescimento como cientista de dados. Então, deixo as seguintes indicações de conteúdo:

Bruno Raphaell
Bruno Raphaell

Estudante de Engenharia Elétrica na Universidade Federal do Piauí (UFPI). Atualmente, faz parte do Scuba Team, atuando nos fóruns de Data Science e Machine Learning. Apaixonado por música, programação e trocar conhecimento. ^^

Veja outros artigos sobre Data Science