1. Início
  2. Machine Learning & AI
  3. Diferenças entre as abordagens de Aprendizagem de Máquina

Diferenças entre as abordagens de Aprendizagem de Máquina

lupa aumentando uma engrenagem dourada

Cada vez mais somos apresentados a casos de sucesso envolvendo a implementação de algoritmos de aprendizagem de máquina (machine learning) como Facebook, Netflix, Ifood, entre outros.

Dessa forma, você decide trazer essa ‘boa nova’ aos seus negócios para acelerar suas vendas, ou criar campanhas de marketing mais atraentes e com isso obter um maior engajamento do público.

Porém, ao pesquisar, você se depara com dois tipos de algoritmos de aprendizagem de máquina, que são:

  • Aprendizado de máquina supervisionado
  • Aprendizagem de máquina não supervisionado

E agora, qual usar? Uso os dois, ou nenhum? Será que existe algum deles que é melhor que o outro? Acredite, essas perguntas e esses estranhamentos são mais comuns do que parece.

Digo isso por experiência própria. Quando comecei a estudar aprendizagem de máquina, eu tinha essas dúvidas e algumas dificuldade no que diz respeito à implementação.

Exemplo prático de machine learning

tela de um tablet com um carrinho de compras

Para sanar as dúvidas sobre aprendizagem de máquina supervisionada e não supervisionada eu trouxe um exemplo que venho me debruçando há algum tempo: o uso de aprendizagem de máquina em comércio de roupas.

Para o nosso estudo eu trouxe um conjunto de dados (nesse caso anedótico) para exemplificar ilustrar os exemplos.

O exemplo que utilizaremos é o seguinte: Um e-commerce de roupas decidiu utilizar aprendizado de máquina para criar uma campanha de marketing que seja mais atraente ao público em geral.

Sabe aqueles e-mails marketing que recebemos com promoções de uma dezena de lojas? Então, muito provavelmente eles utilizam algoritmos de machine learning para descobrir o seu perfil de compra e selecionar os produtos que acreditam ter potencial de venda para o seu perfil de consumidor.

Aqui faremos uma breve discussão de como utilizar algoritmos e, para isso, temos os seguintes dados:

Banco de dados do cliente:

ID: Identificação do cliente

Idade: Idade do cliente

Gênero: Gênero do cliente que comprou a roupa, para fins didáticos iremos considerar apenas o gênero binário, ou seja, masculino ou feminino.

Data: Data em que o cliente efetuou a compra

Hora:  Hora em que o cliente efetuou a compra

Calça: Valor binário identificando se o cliente comprou ou não a calça, sendo 1-Comprou e 0- Não comprou

Calça Id: Código do produto.

Números likes calça: Número de avaliações positivas que essa calça teve por outros clientes

Avaliação cliente calça: Avaliação que o cliente deu à peça de roupa indo de 1 a 5, sendo 1-péssimo e 5-ótimo.

Calçado: Valor binário identificando se o cliente comprou ou não o calçado, sendo 1-Comprou e 0- Não comprou

Calçado Id: Código do produto.

Números likes calçado: Avaliação que o cliente deu ao calçado indo de 1 a 5, sendo 1-péssimo e 5-ótimo.

Avaliação calçado: Número de avaliações positivas que esse calçado teve por outros clientes

Avaliação cliente calçado:  Avaliação que o cliente deu à peça de roupa indo de 1 a 5, sendo 1-péssimo e 5-ótimo.

Camisa: Valor binário identificando se o cliente comprou ou não a camisa, sendo 1-Comprou e 0- Não comprou

Camisa Id: Código do produto.

Números likes camisa: Número de avaliações positivas que essa camisa teve por outros clientes

Avaliação cliente camisa:  Avaliação que o cliente deu à peça de roupa, indo de 1 a 5, sendo 1-péssimo e 5-ótimo.

Vestido: Valor binário identificando se o cliente comprou ou não o vestido, sendo 1-Comprou e 0- Não comprou

Vestido Id: Código do produto.

Números likes vestido:  Número de avaliações positivas que esse vestido teve por outros clientes.

Avaliação cliente vestido:  Avaliação que o cliente deu à peça de roupa indo de 1 a 5, sendo 1-péssimo e 5-ótimo.

Valor da compra: Valor gasto pelo cliente na compra.

Os campos descritos como números de likes indicam quantos likes a peça recebeu. Não necessariamente dizem respeito a se pessoa que deu o like comprou a peça, na verdade o like pode simbolizar o desejo de compra.

Agora que entendemos melhor os dados que temos, partiremos para os algoritmos de aprendizagem de máquina.

>>Leitura Recomendada:
Leia nosso artigo sobre 5 ferramentas de Big Data para você conhecer

Aprendizado de máquina supervisionado

teclado de computador com buy escrito na tecla enter

Ao utilizarmos a aprendizagem de máquina supervisionada recebemos um conjunto de dados que serão divididos em variáveis de saída, ou variáveis dependentes, e variáveis de entrada, ou predecessoras. Nosso objetivo é utilizar as variáveis de entrada para prever as variáveis de saída.

E esta previsão pode ser de duas formas:

  • Algoritmos de classificação
  • Algoritmos de regressão 

Algoritmos de classificação

Como exemplo de algoritmo de classificação, utilizaremos as seguintes informações do nosso banco de dados de e-commerce de roupas:

Variáveis de entrada

Id Idade Gênero Avaliação calça Avaliação cliente calça Calça Id
1 27 M 5 NaN 2135
2 30 M 10 3 2130
3 25 F 21 5 1930
4 31 F 17 1 1931
5 18 F 9 NaN 1932
6 40 M 10 4 2135
7 35 F 13 3 1932

Variáveis de saída

Calça
0
1
1
1
0
1
1

Os NaNs que temos no banco de dados dizem respeito aos clientes que não compraram a calça, ou que ainda não compraram, dessa forma a avaliação está indisponível para eles.

A abordagem que faremos é a seguinte, classificaremos este cliente:

Id Idade Gênero Avaliação calça Avaliação cliente Calça Id calça
8 25 F 25 NaN 1930 ????

Ele será classificado com o valor 1 ou 0, isto é, se compraria ou não a calça. Assim, se o algoritmo avaliar que ele compraria a calça, podemos destinar um e-mail mostrando a calça. Ou, se ele estiver logado no site, podemos exibir essa calça em destaque.

Esse exemplo é interessante pois, quando um cliente vai à loja, ele compra baseado na prova da peça. Ou seja, o cliente vai até o provador e se olha no espelho e decide ou não se compra a peça.

Porém, em um site, o cliente não tem como provar a peça. Dessa forma ele compra baseado em outras coisas, como por exemplo: feedback positivo, avaliações, fotos da peça, entre outras coisas.

Como curiosidade o cliente de id foi classificado como compra.

Algoritmo de regressão

Ao utilizarmos um algoritmo de regressão estamos, em boa parte dos casos, interessados em prever um valor numérico. Em nosso exemplo utilizaremos o algoritmo de regressão a fim de prever o valor de compra gasto por um determinado cliente que adicionou um item à cesta de compra do site.

Variáveis de entrada

Id Idade Gênero Calça Calçado Camisa Vestido Data
1 27 M 0 1 0 1 07/03/2019
2 30 M 1 0 0 0 05/03/2019
3 25 F 1 1 1 1 05/03/2019
4 31 F 1 0 1 1 01/03/2019
5 18 F 0 1 0 0 15/03/2019
6 40 M 1 1 0 1 10/03/2019
7 35 F 1 0 1 1 09/03/2019

Variáveis de saída

Valor de compra
R$ 150,98
R$ 75,10
R$ 250,73
R$ 110,45
R$ 59,90
R$ 178,89
R$ 134,14

Nossa abordagem será: Fazer uma regressão para predizer quanto o seguinte cliente gastará naquela compra.

Id Idade Gênero Calça Calçado Camisa Vestido Valor de compra
8 25 F 1 NaN NaN NaN ?????

O cliente de id 8 adicionou a calça em seu carrinho, desta forma o algoritmo fará uma regressão de quanto o cliente gastará em sua compra.

Pode parecer estranho a priori o modelo de funcionamento desse algoritmo funcionar, mas vamos analisar o seguinte: Imagine que o cliente de id 8 com a calça em seu carrinho gastou R$ 75,10, porém o algoritmo de regressão sinalizou que o cliente gastará R$150,00.

Isso pode nos indicar que o cliente tem pretensão de gastar mais, porém pode não ter encontrado outras peças que tenha gostado. Então podemos utilizar o algoritmo de classificação para analisar quais as peças de roupa o algoritmo indica como compra.

Dessa forma, antes de o cliente finalizar sua compra, podemos mandar uma mensagem com as peças de roupas que o algoritmo de classificação sinalizou como 1 para ele.

Trouxe a integração de uma algoritmo de classificação e de regressão para compreensão dos algoritmos de aprendizagem de máquina supervisionado.   

>>Leitura Recomendada:
Algoritmos de Recomendação: O que são e como implementar?

Aprendizado de máquina não supervisionado

robo pequeno dourado

Ao utilizarmos um algoritmo de aprendizagem de máquina não supervisionado, não possuímos dados de entrada e de saída. Dessa forma, podemos estar interessados em:

  • Registros de compras: Associar produtos ou traçar perfil dos clientes
  • Transações bancárias: Verificar normalidade de transações bancárias

Para o nosso exemplo vamos, através do histórico de compras, traçar o perfil de compras e com isso agrupar os clientes por perfil.

Então o que fazemos com esse tipo de algoritmo? Para justificar o uso desse algoritmo vamos contextualizá-lo um pouco melhor.

Estamos utilizando um exemplo simplificado de e-commerce, mas um e-commerce de roupas real possui centenas de peças de roupa e cada peça de roupa tem centenas de modelos.

Dessa forma, quando utilizarmos nosso algoritmo de classificação, teremos que testar item a item de nossa loja, isso tornaria o processo lento.

Imagine um cliente que finalize sua compra ter que esperar dois minutos ou mais para o algoritmo conseguir testar item a item quais peças de roupa o algoritmo de classificação indica como compra.

Para evitar isso faremos  o seguinte: Utilizamos o algoritmo de máquina não supervisionado para agrupar os clientes de acordo com seu perfil de compras.

Dessa forma, quando um novo cliente entrar no site, podemos colocá-lo em um dos grupos e assim, ao invés de testarmos todos os itens da loja, testamos apenas os itens que estão naquele grupo de clientes.

Variáveis que utilizaremos em nosso exemplo:

Id Idade Gênero Calça Calçado Camisa Camisa Vestido
1 27 M 0 1 0 1 0
2 30 M 1 0 0 0 1
3 25 F 1 1 1 1 1
4 31 F 1 0 1 1 1
5 18 F 0 1 0 0 0
6 40 M 1 1 0 1 1
7 35 F 1 0 1 1 1
8 24 M 1 0 1 0 1
9 25 F 0 1 1 1 0
10 30 M 1 1 1 0 1

Em nosso caso faremos o cluster sobre o gênero, criando assim dois grupos: feminino e masculino.

Grupo Feminino:

Id Idade Gênero Calça Calçado Camisa Camisa Vestido
3 25 F 1 1 1 1 1
4 31 F 1 0 1 1 1
5 18 F 0 1 0 0 0
7 35 F 1 0 1 1 1
9 25 F 0 1 1 1 0

Grupo Masculino

Id Idade Gênero Calça Calçado Camisa Camisa Vestido
1 27 M 0 1 0 1 0
2 30 M 1 0 0 0 1
6 40 M 1 1 0 1 1
8 24 M 1 0 1 0 1
10 30 M 1 1 1 0 1

Dessa forma, quando um cliente entrar em nosso e-commerce, podemos adicionar ele ao grupo feminino ou masculino. E então, ao invés de testarmos item a item podemos testar apenas os itens que são pertinentes àquele grupo, ou seja, os itens que são comprados com frequência pelo grupo.

Claro que dentro de cada grupo podemos agrupar ainda mais, por exemplo: por idade, por peça comprada e etc…

>> Leitura Recomendada:
Mineração de texto: python para descobrir emoções

Conclusão

Ao longo desse artigo percebemos que cada um dos algoritmos de aprendizagem de máquina servem a propósitos específicos, sendo possível a integração de ambos. Em nosso caso mostramos como os algoritmos de aprendizagem de máquina supervisionado e não supervisionado podem ser utilizados para melhorar o marketing e as vendas.

Enfim, eu trouxe este exemplo pois acredito ser muito interessante e apenas arranhamos o que pode ser explorado aqui. Podemos, por exemplo, fazer análise de tendência de roupas, visão computacional, detectar padrões em roupas e, assim, fazer agrupamento de roupas com base em características principais, enfim, as possibilidade são imensas nessa área.

 

 

Quer conhecer a plataforma líder em recrutamento tech?

A solução mais completa para recrutar os melhores talentos tech.

Precisa de ajuda para recrutar talentos?

Conheça o Serviço de Recrutamento da Geekhunter

Leituras Recomendadas

Quer receber conteúdos incríveis como esses?

Assine nossa newsletter para ficar por dentro de todas as novidades do universo de TI e carreiras tech.