Pular para o conteúdo

Aprendizado de máquina: supervisionado e não supervisionado

Aprendizado de máquina (machine learning) é dar a uma máquina a habilidade de aprender, mesmo que nem tudo esteja explicitamente programado. Contudo, existem duas grandes divisões iniciais de formas pela qual o aprendizado de máquina pode ocorrer: aprendizado de máquina supervisionado; e aprendizado de máquina não supervisionado. Veja os detalhes neste artigo.

O que é aprendizado de máquina?

O aprendizado de máquina ocorre quando um algoritmo ou um programa de computador consegue melhorar sua performance nas tarefas que desempenha com base na experiência, utilizando inteligência artificial. Essa experiência ocorre com a alimentação de dados e informações colhidas a partir de interações com o mundo real.

Dessa forma, podemos dividir o aprendizado de máquina em supervisionado, que busca responder um target, ou seja, há uma variável explícita a ser respondida; e não supervisionado, em que busca-se identificar grupos ou padrões a partir dos dados, sem um objetivo específico a ser alcançado.

O vídeo a seguir auxilia na compreensão dos conceitos básicos de aprendizado de máquina:

Na sequência do artigo veja os principais conceitos, métodos e exemplos introdutórios de aplicações de aprendizado de máquina na linguagem R.

[IMPORTANTE] Como machine learning gera valor nos negócios?

Aprendizado de máquina é composto por um conjunto de métodos. Sendo assim, para identificar qual tipo de abordagem de machine learning é mais adequada a cada situação é preciso entender muito bem a pergunta de negócio que busca-se resolver.

Neste contexto vale ressaltar que o mais importante não é o método em si.

A questão é: não existem problemas de aprendizado de máquina para serem resolvidos, mas sim problemas práticos de negócio. Por isso, o foco deve ser mantido em soluções que atendam às dores sentidas pelas empresas e que de fato vão resolver problemas reais.

Para saber mais sobre como elaborar projetos de análise de dados considere estudar o Business Analytics Canvas desenvolvido pela empresa Aquarela Advanced Analytics, especializada em soluções para Data Science.

Assim, o aprendizado de máquina irá gerar muito valor para as empresas.

Aprendizado de máquina supervisionado

Em termos de machine learning aplicado a empresas, quando se tem uma pergunta de negócio do tipo “Qual ação de marketing mais impacta nas vendas?” estamos falando de aprendizado de máquina supervisionado, pois estamos tentando identificar as causas que impactam na variável “vendas”.

Nos modelos de aprendizagem de máquina supervisionada conseguimos dar pesos ou calibrar o nível de assertividade e de precisão de um modelo. A maior parte dos modelos de machine learning são supervisionados.

São dividos em:

  • Regressão: métodos de regressão buscam encontrar como uma variável evolui em relação a outras. Estão entre os métodos mais comuns e mais ensinados nas aulas de estatística nas universidades.
  • Classificação: são métodos que buscam explicar uma variável categórica, com duas categorias (variável binária) ou mais.

Podem existir ainda modelos de aprendizado de máquina mistos, que podem utilizar partes de regressão para fazer classfificação, ou o oposto.

Modelo supervisionado #1. Regressão

Os modelos de regressão buscam encontrar como uma variável se comporta na medida em que outra variável sofre oscilações. Um exemplo da aplicação de regressão é de análises temporais, que inlclui aplicações em campos como finanças e meteorologia, por exemplo.

Modelos de regressão são muito estudados nas disciplinas de estatística báisca ao redor de mundo.

No exemplo abaixo, aplicado na linguagem R e usando o dataset mtcars, segue um diagrama de dispersão com a reta de uma regressão linear simples entre a eficiência de combustível de motores (km por litro) e o tamanho do motor, em polegadas cúbicas.

mpg_kml <- 0.4251438581 # Constante para converter milhas por gl para km/lt.
ggplot(mtcars, aes(x=disp, y=mpg*mpg_kml)) + 
  geom_point()+
  geom_smooth(method=lm)+
labs(x = "Tamanho do motor (polegadas cúbicas)", y = "Eficiência de combustível (Km por litro)")
plot of chunk regress

A equação da regressão linear simples para explicar a variável “Km por litro” ficará com os seguintes termos:

model <- lm(mtcars$mpg*mpg_kml ~ mtcars$disp)
summary(model)
## 
## Call:
## lm(formula = mtcars$mpg * mpg_kml ~ mtcars$disp)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.0799 -0.9363 -0.4094  0.6918  3.0740 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 12.584196   0.522808  24.070  < 2e-16 ***
## mtcars$disp -0.017522   0.002003  -8.747 9.38e-10 ***
## ---
## Signif. codes:  0***  0.001**  0.01* 
## 
## Residual standard error: 1.382 on 30 degrees of freedom
## Multiple R-squared:  0.7183, Adjusted R-squared:  0.709 
## F-statistic: 76.51 on 1 and 30 DF,  p-value: 9.38e-10

No exemplo acima, 12,58 do intercepto representa o ponto em que a reta de melhor ajuste da regressão corta o eixo y quando x = 0. Além disso, cada aumento na polegada cúbica acarreta numa redução de 0,0175 da eficiência do motor em termos de km/lts.

Modelo supervisionado #2. Classificação

Em modelos de aprendizado de máquina do tipo classificação a ideia é prever variáveis categóricas, e não numéricas, como no caso da regressão.

Neste tipo de aborgadem entram análises que buscam compreender e prever variáveis:

  • binárias: apenas duas categorias, geralmente representadas por “ocorrência de um evento = 1” ou “não ocorrência de um evento = 0”;
  • classifcadas em faixas: como níveis de renda, faixas de idade, faixas de número de funcionários por empresa, escala de ruim, regular e bom, etc.; ou ainda
  • variáveis puramente categóricas não ordenadas: como gênero, raça, setor de atuação da empresa, etc.

Exemplo de classificação: regressão logística

Um exemplo básico de aprendizado de máquina supervisionado por classificação é o uso da regressão logística. Na regressão logística vamos conseguir fazer previsões acerca de uma variável discreta binária.

Veja exemplos de variáveis binárias que podem ser utilizadas como target nos modelos supervisionados de machine learning:

  • 1 = Cliente pagou; 0 = Cliente não pagou.
  • 1 = Entrega foi realizada; 0 = Entrega não foi realizada.
  • 1 = Meta foi alcançada; 0 = Meta não foi alcançada, e assim por diante.
ggplot(mtcars, aes(x=mpg*mpg_kml, y=am)) + 
  geom_point()+
labs(x = "Eficiência de combustível (Km por litro)", y = "Transmissão (0 = Aut.; 1 = Man.)")
plot of chunk logistic

Aprendizado de máquina não supervisionado

Quando a pergunta de negócio é algo do tipo “Quais os perfis de clientes que compram em uma loja?” estamos falando de apredizado de máquina não supervisionado. Neste caso, portanto, não temos uma variável específica a ser respondida, pois estamos apenas buscando encontrar os indivíduos, itens ou elementos semelhantes.

Modelos não supervisionados são mais raros na prática, mas são muito úteis para guiar o raciocício do cientista de dados no processo de exploração dos dados para análises futuras.

Modelo de clusterização não supervisionado

A abordagem de clustering pode tanto ser utilizada para classificação em métodos supervisionados – quando existe uma variável categórica com labels conhecidas; quanto pode ser utilizada em um contexto não supervisionado – quando não se conhece as possíveis categorias existentes.

Um exemplo para replicar um caso de clusterização não superivionado é gerar dados aleatórios e fazer o clustering em cima destes dados. Veja como ficam os dados gerados pelo R:

x <- as_tibble( rbind(matrix(rnorm(100, sd = 0.3), ncol = 2), matrix(rnorm(100, mean=1,sd=0.3),ncol=2)))

colnames(x) <- c("x", "y")

ggplot(x, aes(x = x, y = y)) +
    geom_point()
plot of chunk tbl_iris

Se aplicarmos um dos algoritmos mais conhecidos para clusterização, o k-means, o resultado ficaria da seguinte forma:

cl <- kmeans(x, 2)
x <- cbind(x,  cl = cl$cluster) %>% mutate(cl = as.factor(cl))

ggplot(x, aes(x = x, y = y, shape = cl, color = cl)) +
    geom_point()
plot of chunk cluster

Este é um bom exemplo de abordagem para utilizar quando se deseja descobrir perfis ou padrões de comportamento, sem necessariamente ter um target na análise.

Conclusões sobre o aprendizado de máquina

Nos modelos supervisionados o procedimento mais comum para realizar uma análise de dados é dividir o conjunto de dados em duas partes: treino e teste. O modelo de aprendizado de máquina é então treinado no dataset de treino, logicamente. Posteriormente o modelo é aplicado para realizar predições no conjunto de dados de teste, momento no qual é feita uma avaliação da qualidade das predições.

Já nos modelos não supervisionados a abordagem é diferente. Isso ocorre porque como não há uma variável específica a ser explicada (ou seja, não há um target), então não há sentido em treinar o conjunto de dados, pois também não será possível avaliar a assertividade do modelo. No aprendizado de máquina não superviosionado procuramos encontrar padrões, perfis, itens semelhantes.

Concluindo, para identificar qual tipo de abordagem de machine learning é mais adequada a cada situação é preciso entender muito bem a pergunta de negócio que busca-se resolver e manter sempre o foco em gerar valor com as análises.

O método não é o fim, mas sim um meio.

Referências

Introduction to Machine Learning with R: Rigorous Mathematical Analysis, O'Reilly Media. 2018. Ver.

Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking, O'Reilly Media. 2013. Ver.