Modelos de Machine Learning: Uma comparação entre os modelos — Parte 2

Bruno Pellanda
tecnologia no Grupo Boticário
4 min readJul 13, 2021
Caminho de dados estilo “Matrix” em tela de notebook
Caminho de dados estilo “Matrix” em tela de notebook | Foto de Markus Spiske na Unsplash

Parte 2

Dando continuidade ao tema do artigo anterior, iremos abordar alguns algoritmos um pouco diferentes, como por exemplo, problemas não supervisionados e de redução de dimensionalidade.

Gradient Boosted Trees

Gradient Boosting é uma técnica de aprendizado de máquina para regressão, classificação e outros problemas, que produz um modelo de previsão na forma de um conjunto de modelos de previsão fracos, normalmente árvores de decisão. Quando uma árvore de decisão é o algoritmo utilizado, o modelo resultante é chamado de Gradient Boosted Trees, que geralmente supera o Random Forest. Ele constrói o modelo em uma forma de estágio, como fazem outros métodos de boost, e os generaliza, permitindo a otimização de uma função de perda diferenciável arbitrária (loss function). [1]

Premissas

  • Nenhuma

Vantagens

  • Boa performance
  • Apta para quase todos problemas de machine learning
  • Consegue aproximar a maioria das funções não-lineares

Desvantagens

  • Propenso a overfitting
  • Necessita alguns ajustes de parâmetros

Dados Faltantes

  • Algumas implementações não necessitam tratamento de dados faltantes (Scikit learn necessita)

Outliers

  • Robusto a outliers

Propósitos

  • Classificação
  • Regressão

Tipo de Aprendizado

  • Supervisionado

Exemplos de uso

  • As mesmas aplicações que o Random Forest tem

K-nearest neighbors (K-mais próximos vizinhos)

Em estatística, o algoritmo de Vizinhos K-mais Próximos (k-NN) é um método de classificação não paramétrico. É usado para classificação e regressão. Em ambos os casos, a entrada consiste nos k exemplos de treinamento mais próximos no conjunto de dados. A saída depende se k-NN é usado para classificação ou regressão. [2]

Premissas

  • Nenhuma

Vantagens

  • Boa performance

Desvantagens

  • Demorado para realizar as predições
  • Suscetível à alta dimensionalidade (muitas variáveis)

Dados Faltantes

  • Sensível a dados faltantes

Outliers

  • Robusto a outliers

Propósitos

  • Classificação
  • Regressão

Tipo de Aprendizado

  • Supervisionado

Exemplos de uso

  • Expressão genética
  • Interação proteína-proteína
  • Recuperação de conteúdo (de páginas da web, por exemplo)

AdaBoost

AdaBoost, abreviação de Adaptive Boosting, é um meta-algoritmo de classificação estatística. Ele pode ser usado em conjunto com muitos outros tipos de algoritmos de aprendizagem para melhorar o desempenho. A saída dos outros algoritmos de aprendizagem (‘modelos de previsão fracos’) é combinada em uma soma ponderada que representa a saída final do classificador otimizado. AdaBoost é adaptativo no sentido de que os modelos de previsão fracos subsequentes são ajustados em favor das instâncias classificadas incorretamente pelos classificadores anteriores. [3]

Premissas

  • Nenhuma

Vantagens

  • Não ocorre overfitting facilmente
  • Poucos parâmetros a serem ajustados

Desvantagens

  • Pode ser suscetível a dados ruidosos e outliers

Dados Faltantes

  • Consegue tratar dados faltantes

Outliers

  • Sensível a outliers

Propósitos

  • Classificação
  • Regressão

Tipo de Aprendizado

  • Supervisionado

Exemplos de uso

  • O mesmo que Random Forests, mas menos usado, pois XGBoost e LightGBMs são implementações mais populares de Gradient Boosted Machines

Neural Networks (Redes Neurais)

As Redes Neurais Artificiais (RNAs), geralmente chamadas simplesmente de Redes Neurais (NNs), são sistemas de computação vagamente inspirados nas redes neurais biológicas que constituem os cérebros dos animais. [4]

Premissas

  • Nenhuma

Vantagens

  • Consegue aproximar qualquer função
  • Boa performance

Desvantagens

  • Muito tempo de treinamento
  • Vários parâmetros para ajustar, incluindo arquitetura neural
  • Propensa a overfitting
  • Pouca interpretabilidade

Dados Faltantes

  • Sensível a dados faltantes

Outliers

  • Consegue lidar com outliers, mas pode ter a performance afetada se eles forem muitos

Propósitos

  • Classificação
  • Regressão

Tipo de Aprendizado

  • Supervisionado

Exemplos de uso

  • Análise de imagens
  • Previsões
  • Análise de textos

K-means clustering

O agrupamento K-means é um método de quantização vetorial, originário do processamento de sinais, que visa particionar n observações em k clusters em que cada observação pertence ao cluster com a média mais próxima (centros de cluster ou centróide de cluster), servindo como um protótipo do cluster. [5]

Premissas

  • Cluster são esféricos
  • Clusters têm tamanho similares

Vantagens

  • Treinamento rápido

Desvantagens

  • Necessário determinar K, o número de clusters
  • Sensível a localização inicial dos clusters e a mínimos locais

Dados Faltantes

  • Sensível a dados faltantes (no scikit learn é necessário fazer a imputação dos dados faltantes)

Outliers

  • Sensível a outliers

Propósitos

  • Segmentação

Tipo de Aprendizado

  • Não supervisionado

Exemplos de uso

  • Segmentação de clientes
  • Detecção de outliers

Hierarchical clustering

Na mineração de dados e estatísticas, o Clustering Hierárquico (também chamado de Análise de Cluster Hierárquico ou HCA) é um método de análise de cluster que busca construir uma hierarquia de clusters. As estratégias de clustering hierárquico geralmente se enquadram em dois tipos […][6]

Premissas

  • Nenhuma

Vantagens

  • Nenhuma informação a priori sobre o número de clusters é necessária

Desvantagens

  • O número final de clusters precisa ser definido pelo(a) cientista de dados
  • Demorado para ser treinado

Dados Faltantes

  • Sensível a dados faltantes

Outliers

  • Sensível a outliers

Propósitos

  • Segmentação

Tipo de Aprendizado

  • Não supervisionado

Exemplos de uso

  • Segmentação de clientes
  • Análise genética

Principal component analysis

A Análise de Componentes Principais (PCA) é o processo de calcular os componentes principais e usá-los para realizar uma mudança de base nos dados, às vezes usando apenas os primeiros componentes principais e ignorando o resto. [7]

Premissas

  • Correlação entre as variáveis

Vantagens

  • Captura a maior parte da variação em um número menor de variáveis

Desvantagens

  • Número de componentes principais que explicam a maior parte da variação a ser determinada pelo usuário

Dados Faltantes

  • Sensível a dados faltantes

Outliers

  • Sensível a outliers

Propósitos

  • Reduzir a dimensão das variáveis para treinar modelos de machine learning

Tipo de Aprendizado

  • Não supervisionado

Exemplos de uso

  • Criação de poucas variáveis informativas a partir de muitos dados

Com isso encerro essa série, com dois artigos sobre alguns dos principais modelos de machine learning que temos a nossa disposição e alguns casos de uso para cada um deles.

Qualquer dúvida, sugestão ou crítica, podem me enviar uma mensagem por aqui ou me procurar no LinkedIn.

--

--