Primeiros passos nos modelos de aprendizado de máquina
Ao procurar por materiais complementares sobre os primeiros encontros com algoritmos de aprendizado de máquina, me deparei com um guia para três tipos de machine learning. Adorei o artigo, mas ele é bem voltado para quem está procurando desenvolver os algoritmos em si, para os cientistas de dados e os entusiastas desta ciência. Recomendo bastante para quem quer ver um passo a passo com as bibliotecas de Python que podem ser utilizadas para a resolução destes exercícios. Todavia, queria trazer conceitualmente os modelos também, focando mais em em visão de solução de problemas.
O que é essa supervisão de máquina?
Antes de entrar em qualquer modelo, é importante saber a diferença entre um aprendizado de máquina supervisionado e um aprendizado de máquina não supervisionado.
Aprendizado de Máquina Supervisionado
O aprendizado de máquina supervisionado tem uma série de inputs que conhecemos, também chamados de features e que por padrão chamamos de X, que nos ajuda a determinar o valor de um output que conhecemos, também chamado de label e que por padrão chamamos de Y. Ou seja, nesse tipo de aprendizado, eu sei o que esperar de resultado e posso usar um ou mais inputs para descobrir o resultado esperado.
Aprendizado de Máquina Não Supervisionado
O aprendizado de máquina não supervisionado tem uma série de inputs que conhecemos, também chamados de features e que por padrão chamamos de X, que nos ajuda a determinar o valor de um output que não conhecemos, também chamado de label e que por padrão chamamos de Y. Ou seja, nesse tipo de aprendizado, como eu não sei o que esperar de resultado, o modelo irá me ajudar ao encontrar um resultado inesperado.
Regressão Linear
O primeiro algoritmo que iremos abordar é a Regressão Linear, um modelo de aprendizado de máquina supervisionado. Com ela é possível determinar um output que contenha valores contínuos e não funciona para categorização, ao contrário dos próximos algoritmos que abordaremos. Com a regressão conseguimos prever valores futuros a partir de algumas variáveis, por exemplo, quanto de venda minha loja fará no próximo mês levando em conta a quantidade de horas que fica aberta. Outro exemplo seria o valor de um imóvel de acordo com a quantidade de quartos, banheiros, vagas, metragem, se tem elevador e outras peculiaridades. Conseguimos estimar qual o valor de acordo que um consumidor estaria disposto a aceitar em decorrência de qual grupo de reclamação ele pertence e o valor da causa. Podemos avaliar quanto de retorno teríamos em decorrência de investimentos em marketing e propaganda. Podemos avaliar qual o valor que seria necessário para se gastar em cada assegurado, conseguindo assim melhor levantar qual o apetite a risco que a seguradora tem.
É importante notar que a comparação gráfica de uma regressão linear sempre leva em consideração o valor que previ, representado pela linha, versus os valores que de fato ocorreram. É por isso que quando temos uma regressão linear que leva em consideração mais de uma variável para se calcular o output mantemos uma única linha na visualização gráfica.
Classificação
O segundo algoritmo que iremos abordar é a Classificação, que também é um modelo de aprendizado de máquina supervisionado. Na classificação nós conseguimos determinar uma categoria como output do modelo. É possível termos uma classificação binária ou multiclasse.
Classificações Binárias
A classificação binária classifica os inputs entre duas opções. Um exemplo seria a classificação de e-mails entre spam e o que não é spam. Outros exemplos seriam classificar dentro da base de clientes quais são mais aptos a saírem da base (churn) ou classificar possíveis clientes com base em conversão, dividindo-os entre os que irão efetuar a compra e os que irão desistir da compra.
Exemplos de algoritmos utilizados para este tipo de modelo são:
- Regressão Logística
- K-Nearest Neighbors (KNN)
- Árvores de Decisão
- Support Vector Machine (SVM)
- Naive Bayes
Classificações Multiclasse
A classificação multiclasse classifica o output em três ou mais categorias. Alguns exemplos seriam reconhecimento facial para saber qual usuário o rosto reflete, classificação de espécies de plantas e animais para auxiliar em pesquisa e análise de sentimento de textos para entender quais textos tem um teor de alegria, de tristeza, de raiva, etc.
Exemplos de algoritmos utilizados para este tipo de modelo são:
- K-Nearest Neighbors (KNN)
- Árvores de Decisão
- Naive Bayes
- Random Forest
- Gradient Boosting
Outros algoritmos de classificação binária, a Regressão Logística e Support Vector Machine (SVM), podem ser usados para uma classificação multiclasse dado que sejam adaptados de uma de duas maneiras:
um para um: encaixar o modelo de classificação binária de cada classe e compará-lo a todas as demais classes
pares: encaixar o modelo de classificação para cada par de classes
Clustering
O terceiro e último modelo que iremos abordar é o Clustering, que é um modelo de aprendizado de máquina não supervisionado. O clustering irá utilizar as variáveis que temos de input e separá-las em agrupamentos de acordo com o algoritmo utilizado. Este agrupamento é o output deste modelo.
Existem diversas aplicações para clustering, segmentação de clientes para marketing, detecção de anomalias que serve para apoiar a análise de fraudes e até para a análise de genética é possível utilizar este modelo, por exemplo, agrupamento de genes por composição de polipeptídeos, proteínas e funções.
Existem diversos algoritmos que podem ser utilizados para uma análise de clustering, abaixo deixo listado alguns:
- K-Means
- BIRCH
- DBSCAN
- Gaussiano
Diferença entre Classificação e Clustering
Você entendeu a diferença entre classificação e clustering? Qual seria a principal diferença entre uma classificação multiclasse e uma análise de clusters?
A principal diferença é que na classificação multiclasse eu já sei quais são os agrupamentos que terei ao final, no clustering eu não sei os agrupamentos que serão gerados.
Espero que tenham gostado dessa brevíssima introdução a modelos de aprendizado de máquina e que tenham ficado interessados em aplicá-los em seus problemas na vida real. Se você quiser fazer alguns exercícios em Excel de regressão linear, deixei um passo a passo de como deixar seu Excel pronto e uma lista de exercícios.