Quais os métodos de aprendizado de máquina que existem?

O aprendizado de máquina (machine learning (ML)) é um tópico importante na pesquisa e na indústria, com novas metodologias desenvolvidas o tempo todo. A velocidade e a complexidade do campo dificultam o acompanhamento de novas técnicas, mesmo para especialistas – e potencialmente esmagadoras para iniciantes.

Para desmistificar o aprendizado de máquina e oferecer um caminho de aprendizado para aqueles que são novos nos conceitos principais, vejamos dez métodos diferentes, incluindo descrições simples, visualizações e exemplos para cada um.

Um algoritmo de aprendizado de máquina, também chamado de modelo, é uma expressão matemática que representa dados no contexto de um problema, geralmente um problema de negócios. O objetivo é passar de dados a insights. Por exemplo, se um varejista on-line quiser antecipar as vendas para o próximo trimestre, ele poderá usar um algoritmo de aprendizado de máquina que prevê essas vendas com base em vendas anteriores e outros dados relevantes. Da mesma forma, um fabricante de moinho de vento pode monitorar visualmente equipamentos importantes e alimentar os dados de vídeo através de algoritmos treinados para identificar rachaduras perigosas.

Os dez métodos descritos oferecem uma visão geral – e uma base na qual você pode desenvolver enquanto aprimora seus conhecimentos e habilidades de aprendizado de máquina:

  1. Regressão
  2. Classificação
  3. Agrupamento
  4. Redução de dimensionalidade
  5. Métodos de conjunto
  6. Redes Neurais e Aprendizagem Profunda
  7. Transferência de Aprendizado
  8. Aprendizagem por Reforço
  9. Processamento de linguagem natural
  10. Incorporação de palavras

Uma última coisa antes de entrarmos. Vamos distinguir entre duas categorias gerais de aprendizado de máquina: supervisionado e não supervisionado.

Aplicamos técnicas supervisionadas de ML quando temos um dado que queremos prever ou explicar. Fazemos isso usando dados anteriores de entradas e saídas para prever uma saída com base em uma nova entrada. Por exemplo, você pode usar técnicas supervisionadas de ML para ajudar uma empresa de serviços que deseja prever o número de novos usuários que se inscreverão no serviço no próximo mês.

Por outro lado, não supervisionado – o ML examina maneiras de relacionar e agrupar pontos de dados sem o uso de uma variável de destino para prever. Em outras palavras, ele avalia dados em termos de características e usa as características para formar grupos de itens que são semelhantes entre si. Por exemplo, você pode usar técnicas de aprendizado não supervisionadas para ajudar um varejista que deseja segmentar produtos com características semelhantes – sem precisar especificar antecipadamente quais características usar.


Regressão

Os métodos de regressão se enquadram na categoria de ML supervisionado. Eles ajudam a prever ou explicar um valor numérico específico com base em um conjunto de dados anteriores, por exemplo, prever o preço de uma propriedade com base em dados de preços anteriores para propriedades semelhantes.

O método mais simples é a regressão linear, onde usamos a equação matemática da linha ( y = m * x + b) para modelar um conjunto de dados. Nós treinamos um modelo de regressão linear com muitos pares de dados (x, y) calculando a posição e a inclinação de uma linha que minimiza a distância total entre todos os pontos de dados e a linha. Em outras palavras, calculamos a inclinação ( m ) e o intercepto em y ( b ) para uma linha que melhor se aproxima das observações nos dados.

Vamos considerar um exemplo mais concreto de regressão linear. Certa vez, usei uma regressão linear para prever o consumo de energia (em kWh) de certos edifícios, reunindo a idade do edifício, o número de andares, os pés quadrados e o número de equipamentos de parede obstruídos. Como havia mais de uma entrada (idade, pés quadrados, etc.), usei uma regressão linear multivariável. O princípio era o mesmo que uma regressão linear simples um a um, mas nesse caso a “linha” que eu criei ocorreu no espaço multidimensional com base no número de variáveis.

O gráfico abaixo mostra como o modelo de regressão linear se encaixa no consumo real de energia do edifício. Agora imagine que você tem acesso às características de um edifício (idade, pés quadrados, etc.), mas não conhece o consumo de energia. Nesse caso, podemos usar a linha ajustada para aproximar o consumo de energia de um edifício específico.

Observe que você também pode usar a regressão linear para estimar o peso de cada fator que contribui para a previsão final da energia consumida. Por exemplo, depois de ter uma fórmula, você pode determinar se a idade, tamanho ou altura é mais importante.

Quais os métodos de aprendizado de máquina que existem?

Estimativas do modelo de regressão linear do consumo de energia do edifício (kWh).

As técnicas de regressão variam de simples (como regressão linear) a complexas (como regressão linear regularizada, regressão polinomial, árvores de decisão e regressões aleatórias de florestas, redes neurais, entre outras). Mas não fique atolado: comece estudando a regressão linear simples, domine as técnicas e siga em frente.


Classificação

Outra classe de ML supervisionado, os métodos de classificação preveem ou explicam um valor de classe. Por exemplo, eles podem ajudar a prever se um cliente on-line comprará ou não um produto. A saída pode ser sim ou não: comprador ou não comprador. Mas os métodos de classificação não se limitam a duas classes. Por exemplo, um método de classificação pode ajudar a avaliar se uma determinada imagem contém um carro ou um caminhão. Nesse caso, a saída terá 3 valores diferentes: 1) a imagem contém um carro, 2) a imagem contém um caminhão ou 3) a imagem não contém um carro nem um caminhão.

O algoritmo de classificação mais simples é a regressão logística – o que faz parecer um método de regressão, mas não é. A regressão logística estima a probabilidade de ocorrência de um evento com base em uma ou mais entradas.

Por exemplo, uma regressão logística pode ter como entrada duas notas no exame para um aluno, a fim de estimar a probabilidade de o aluno ser admitido em uma faculdade específica. Como a estimativa é uma probabilidade, a saída é um número entre 0 e 1, em que 1 representa certeza completa. Para o aluno, se a probabilidade estimada for maior que 0,5, prevemos que ele será admitido. Se a probabilidade estimada for menor que 0,5, prevemos que ele será recusado.

O gráfico abaixo mostra a pontuação dos alunos anteriores e se eles foram admitidos. A regressão logística permite desenhar uma linha que representa o limite da decisão.

Quais os métodos de aprendizado de máquina que existem?

Limite da decisão de regressão logística: admitido na faculdade ou não?

Como a regressão logística é o modelo de classificação mais simples, é um bom ponto de partida para a classificação. À medida que avança, você pode mergulhar em classificadores não lineares, como árvores de decisão, florestas aleatórias, máquinas de vetores de suporte e redes neurais, entre outros.


Agrupamento (Clustering)

Com os métodos de agrupamento, entramos na categoria de ML não supervisionado, porque o objetivo deles é agrupar ou agrupar observações com características semelhantes. Os métodos de clustering não usam informações de saída para treinamento, mas permitem que o algoritmo defina a saída. Nos métodos de cluster, só podemos usar visualizações para inspecionar a qualidade da solução.

O método de cluster mais popular é o K-Means, onde “K” representa o número de clusters que o usuário escolhe criar. (Observe que existem várias técnicas para escolher o valor de K, como o método do cotovelo.)

Aproximadamente, o que o K-Means faz com os pontos de dados:

  1. Escolhe aleatoriamente K centros nos dados.
  2. Atribui cada ponto de dados ao centro mais próximo criado aleatoriamente.
  3. Recalcula o centro de cada cluster.
  4. Se os centros não mudam (ou mudam muito pouco), o processo está concluído. Caso contrário, retornaremos à etapa 2. (Para evitar que o loop continue infinito se os centros continuarem alterados, defina um número máximo de iterações com antecedência.)

O próximo gráfico aplica K-Means a um conjunto de dados de edifícios. Cada coluna no gráfico indica a eficiência de cada edifício. As quatro medições estão relacionadas ao ar condicionado, equipamentos conectados (microondas, geladeiras, etc.), gás doméstico e gás de aquecimento. Escolhemos K = 2 para agrupar, o que facilita a interpretação de um dos agrupamentos como o grupo de edifícios eficientes e o outro agrupamento como o grupo de edifícios ineficientes. À esquerda, você vê a localização dos edifícios e, à direita, duas das quatro dimensões que usamos como insumos: equipamento conectado e gás de aquecimento.

Quais os métodos de aprendizado de máquina que existem?

Agrupando edifícios em grupos eficientes (verde) e ineficiente (vermelho).

À medida que você explora o cluster, você encontrará algoritmos muito úteis, como o Clustering Espacial de Aplicativos com Ruído (DBSCAN), Clustering de Deslocamento Médio, Clustering Hierárquico Aglomerativo, Clustering Hierárquico Aglomerativo, Clustering de Expectativa – Maximização usando Modelos de Mistura Gaussiana, entre outros.


Redução de dimensionalidade

Como o nome sugere, usamos a redução de dimensionalidade para remover as informações menos importantes (algumas vezes colunas redundantes) de um conjunto de dados. Na prática, muitas vezes vejo conjuntos de dados com centenas ou mesmo milhares de colunas (também chamadas de recursos), portanto, reduzir o número total é vital. Por exemplo, as imagens podem incluir milhares de pixels, nem todos importantes para sua análise. Ou, ao testar microchips no processo de fabricação, você pode ter milhares de medições e testes aplicados a cada chip, muitos dos quais fornecem informações redundantes. Nesses casos, você precisa de algoritmos de redução de dimensionalidade para tornar o conjunto de dados gerenciável.

O método de redução de dimensionalidade mais popular é a Análise de Componentes Principais (PCA), que reduz a dimensão do espaço de recurso encontrando novos vetores que maximizam a variação linear dos dados. O PCA pode reduzir drasticamente a dimensão dos dados e sem perder muita informação quando as correlações lineares dos dados são fortes. (E, de fato, você também pode medir a extensão real da perda de informações e ajustar em conformidade.)

Outro método popular é a incorporação de vizinhos t-estocásticos (t-SNE), que reduz a dimensionalidade não linearmente. As pessoas geralmente usam o t-SNE para visualização de dados, mas você também pode usá-lo para tarefas de aprendizado de máquina, como reduzir o espaço de recursos e o clustering, para mencionar apenas alguns.

O próximo gráfico mostra uma análise do banco de dados MNIST de dígitos manuscritos. O MNIST contém milhares de imagens de dígitos de 0 a 9, que os pesquisadores usam para testar seus algoritmos de agrupamento e classificação. Cada linha do conjunto de dados é uma versão vetorizada da imagem original (tamanho 28 x 28 = 784) e um rótulo para cada imagem (zero, um, dois, três,…, nove). Observe que, portanto, estamos reduzindo a dimensionalidade de 784 (pixels) para 2 (dimensões em nossa visualização). Projetar em duas dimensões nos permite visualizar o conjunto de dados original de alta dimensão.

Quais os métodos de aprendizado de máquina que existem?

Iterações t-SNE no banco de dados MNIST de dígitos manuscritos.


Métodos de conjunto (Ensemble Methods)

Imagine que você decidiu construir uma bicicleta porque não está se sentindo feliz com as opções disponíveis nas lojas e online. Você pode começar encontrando o melhor de cada parte que precisa. Depois de montar todas essas ótimas peças, a bicicleta resultante ofusca todas as outras opções.

Os métodos de conjunto usam essa mesma ideia de combinar vários modelos preditivos (ML supervisionado) para obter previsões de qualidade mais altas do que cada um dos modelos poderia fornecer por si próprio. Por exemplo, os algoritmos Random Forest são um método de conjunto que combina muitas Árvores de Decisão treinadas com diferentes amostras dos conjuntos de dados. Como resultado, a qualidade das previsões de uma Floresta Aleatória é superior à qualidade das previsões estimadas com uma única Árvore de Decisão.

Pense nos métodos de conjunto como uma maneira de reduzir a variação e o viés de um único modelo de aprendizado de máquina. Isso é importante porque qualquer modelo pode ser preciso sob certas condições, mas impreciso sob outras condições. Com outro modelo, a precisão relativa pode ser revertida. Ao combinar os dois modelos, a qualidade das previsões é equilibrada.

A grande maioria dos vencedores das principais  competições do Kaggle usa algum tipo de método. Os algoritmos de conjunto mais populares são Random Forest, XGBoost e LightGBM .


Redes neurais e aprendizagem profunda

Ao contrário das regressões lineares e logísticas consideradas modelos lineares, o objetivo das redes neurais é capturar padrões não lineares nos dados, adicionando camadas de parâmetros ao modelo. Na imagem abaixo, a rede neural simples possui quatro entradas, uma única camada oculta com cinco parâmetros e uma camada de saída.

Quais os métodos de aprendizado de máquina que existem?

Rede neural com uma camada oculta.

De fato, a estrutura das redes neurais é flexível o suficiente para construir nossa conhecida regressão linear e logística. O termo Aprendizado profundo (deep learning) vem de uma rede neural com muitas camadas ocultas (veja a próxima figura) e encapsula uma grande variedade de arquiteturas.

É especialmente difícil acompanhar os desenvolvimentos no aprendizado profundo, em parte porque as comunidades de pesquisa e indústria dobraram seus esforços de aprendizado profundo, gerando novas metodologias todos os dias.

Quais os métodos de aprendizado de máquina que existem?

Aprendizado profundo: rede neural com muitas camadas ocultas.

Para o melhor desempenho, as técnicas de aprendizado profundo exigem muitos dados – e muita capacidade de computação, pois o método está ajustando automaticamente muitos parâmetros em arquiteturas enormes. Torna-se rapidamente claro por que os profissionais de aprendizado profundo precisam de computadores muito poderosos aprimorados com GPUs (unidades de processamento gráfico).

Em particular, as técnicas de aprendizado profundo foram extremamente bem-sucedidas nas áreas de visão (classificação de imagens), texto, áudio e vídeo. Os pacotes de software mais comuns para aprendizado profundo são o Tensorflow e o PyTorch .


Transferência de Aprendizado

Vamos fingir que você é um cientista de dados que trabalha no setor de varejo. Você passou meses treinando um modelo de alta qualidade para classificar imagens como camisas, camisetas e polos. Sua nova tarefa é criar um modelo semelhante para classificar imagens de vestidos como jeans, cargo, casual e calça social. Você pode transferir o conhecimento incorporado no primeiro modelo e aplicá-lo ao segundo modelo? Sim, você pode, usando o Transfer Learning.

O Transfer Learning refere-se a reutilizar parte de uma rede neural treinada anteriormente e adaptá-la a uma tarefa nova, mas semelhante. Especificamente, depois de treinar uma rede neural usando dados para uma tarefa, é possível transferir uma fração das camadas treinadas e combiná-las com algumas novas camadas que você pode treinar usando os dados da nova tarefa. Ao adicionar algumas camadas, a nova rede neural pode aprender e se adaptar rapidamente à nova tarefa.

A principal vantagem do aprendizado de transferência é que você precisa de menos dados para treinar a rede neural, o que é particularmente importante porque o treinamento em algoritmos de aprendizado profundo é caro em termos de tempo e dinheiro (recursos computacionais) – e, é claro, muitas vezes é muito difícil encontre dados rotulados suficientes para o treinamento.

Vamos voltar ao nosso exemplo e assumir que, para o modelo de camisa, você usa uma rede neural com 20 camadas ocultas. Depois de executar algumas experiências, você percebe que pode transferir 18 das camadas do modelo da camisa e combiná-las com uma nova camada de parâmetros para treinar as imagens das calças. O modelo de calça teria, portanto, 19 camadas ocultas. As entradas e saídas das duas tarefas são diferentes, mas as camadas reutilizáveis ​​podem resumir informações relevantes para ambas, por exemplo, aspectos do tecido.

O aprendizado por transferência se tornou cada vez mais popular e agora existem muitos modelos sólidos e pré-treinados disponíveis para tarefas comuns de aprendizado profundo, como classificação de imagem e texto.


Aprendizagem por Reforço

Imagine um rato em um labirinto tentando encontrar pedaços de queijo escondidos. Quanto mais vezes expor o mouse ao labirinto, melhor será encontrar o queijo. No início, o mouse pode se mover aleatoriamente, mas depois de algum tempo, a experiência do mouse ajuda a perceber quais ações o aproximam do queijo.

O processo para o mouse reflete o que fazemos com o Aprendizado por Reforço (Reinforcement Learning – RL) para treinar um sistema ou um jogo. De um modo geral, o RL é um método de aprendizado de máquina que ajuda um agente a aprender com a experiência. Ao registrar ações e usar uma abordagem de tentativa e erro em um ambiente definido, a RL pode maximizar uma recompensa cumulativa. No nosso exemplo, o mouse é o agente e o labirinto é o ambiente. O conjunto de ações possíveis para o mouse são: mover frente, trás, esquerda ou direita. A recompensa é o queijo.

Você pode usar o RL quando tiver pouco ou nenhum dado histórico sobre um problema, porque ele não precisa de informações antecipadamente (ao contrário dos métodos tradicionais de aprendizado de máquina). Em uma estrutura RL, você aprende com os dados à medida que avança. Não é de surpreender que a RL seja especialmente bem-sucedida em jogos, especialmente jogos de ” informação perfeita “, como xadrez e Go. Com os jogos, o feedback do agente e do ambiente é rápido, permitindo que o modelo aprenda rapidamente. A desvantagem da RL é que pode levar muito tempo para treinar se o problema for complexo.

Assim como o Deep Blue da IBM venceu o melhor jogador de xadrez humano em 1997, o AlphaGo, um algoritmo baseado em RL, venceu o melhor jogador de Go em 2016. Os atuais pioneiros da RL são as equipes da DeepMind no Reino Unido. Mais sobre AlphaGo e DeepMind aqui .

Em abril de 2019, a equipe OpenAI Five foi a primeira IA a vencer uma equipe campeã mundial do e-sport Dota 2, um videogame muito complexo que a equipe OpenAI Five escolheu porque não havia algoritmos RL capazes de vencê-lo em A Hora. A mesma equipe de IA que venceu a equipe humana campeã do Dota 2 também desenvolveu uma mão robótica que pode reorientar um bloco. Leia mais sobre a equipe OpenAI Five aqui .

Você pode dizer que o Aprendizado por Reforço é uma forma especialmente poderosa de IA, e certamente veremos mais progressos dessas equipes, mas também vale lembrar as limitações do método.

Reinforcement Learning (diversos)


Processamento de linguagem natural

Uma grande porcentagem dos dados e conhecimentos do mundo está em alguma forma de linguagem humana. Você pode imaginar ser capaz de ler e compreender milhares de livros, artigos e blogs em segundos? Obviamente, os computadores ainda não conseguem entender completamente o texto humano, mas podemos treiná-los para executar determinadas tarefas. Por exemplo, podemos treinar nossos telefones para preencher automaticamente nossas mensagens de texto ou corrigir palavras com erros ortográficos. Podemos até ensinar uma máquina a ter uma conversa simples com um humano.

O Processamento de Linguagem Natural (do inglês NLP – Natural Language Processing) não é um método de aprendizado de máquina em si, mas uma técnica amplamente usada para preparar texto para o aprendizado de máquina. Pense em toneladas de documentos de texto em diversos formatos (word, blogs on-line, etc.). A maioria desses documentos de texto estará cheia de erros de digitação, caracteres ausentes e outras palavras que precisam ser filtradas. No momento, o pacote mais popular para o processamento de texto é o NLTK (Natural Language ToolKit), criado por pesquisadores de Stanford.

A maneira mais simples de mapear o texto em uma representação numérica é calcular a frequência de cada palavra em cada documento de texto. Pense em uma matriz de números inteiros em que cada linha representa um documento de texto e cada coluna representa uma palavra. Essa representação matricial da palavra frequências é comumente chamada de Term Frequency Matrix (TFM). A partir daí, podemos criar outra representação popular da matriz de um documento de texto dividindo cada entrada na matriz pelo peso da importância de cada palavra em todo o corpus de documentos. Chamamos esse método de Frequência Inversa de Documentos com Termo de Frequência (TFIDF) e normalmente funciona melhor para tarefas de aprendizado de máquina.


Incorporação de palavras (word embedding)

TFM e TFIDF são representações numéricas de documentos de texto que consideram apenas frequência e frequências ponderadas para representar documentos de texto. Por outro lado, as combinações de palavras podem capturar o contexto de uma palavra em um documento. Com o contexto das palavras, os casamentos podem quantificar a semelhança entre as palavras, o que, por sua vez, nos permite fazer aritmética com as palavras.

O Word2Vec é um método baseado em redes neurais que mapeia palavras em um corpus para um vetor numérico. Em seguida, podemos usar esses vetores para encontrar sinônimos, executar operações aritméticas com palavras ou para representar documentos de texto (calculando a média de todos os vetores de palavras em um documento). Por exemplo, vamos supor que usamos um corpus suficientemente grande de documentos de texto para estimar a incorporação de palavras. Vamos supor também que as palavras rei , rainha , homem e mulher fazem parte do corpus. Digamos que vetor (‘palavra’) seja o vetor numérico que representa a palavra ‘palavra’ . Para estimar o vetor (‘mulher’) , podemos realizar a operação aritmética com vetores:

vetor (‘rei’) + vetor (‘mulher’)  –  vetor (‘homem’) ~ vetor (‘rainha’)

Quais os métodos de aprendizado de máquina que existem?

Aritmética com Incorporação de Palavras (Vetores).

As representações de palavras permitem encontrar semelhanças entre as palavras, calculando a semelhança de cosseno entre a representação vetorial de duas palavras. A semelhança de cosseno mede o ângulo entre dois vetores.

Computamos as combinações de palavras usando métodos de aprendizado de máquina, mas isso geralmente é um pré-passo para a aplicação de um algoritmo de aprendizado de máquina. Por exemplo, suponha que tenhamos acesso aos tweets de vários milhares de usuários do Twitter. Suponha também que sabemos qual desses usuários do Twitter comprou uma casa. Para prever a probabilidade de um novo usuário do Twitter comprar uma casa, podemos combinar o Word2Vec com uma regressão logística.

Você mesmo pode treinar a incorporação de palavras ou obter um conjunto pré-treinado (transferência de aprendizado) de vetores de palavras. Para baixar vetores de palavras pré-treinados em 157 idiomas diferentes, dê uma olhada no FastText .


Sumário

O autor tentou cobrir os dez métodos mais importantes de aprendizado de máquina: do mais básico ao mais difícil. Estudar bem esses métodos e entender completamente o básico de cada um deles pode servir como um sólido ponto de partida para estudos adicionais de algoritmos e métodos mais avançados.

Obviamente, há muitas informações muito importantes a serem abordadas, incluindo métricas de qualidade, validação cruzada, desequilíbrio de classe nos métodos de classificação e ajuste excessivo de um modelo, para mencionar apenas algumas. 

Quais são os principais métodos de aprendizado de máquina existentes?

3 tipos de aprendizado de máquina que você precisa conhecer!.
Aprendizado de máquina supervisionado..
Aprendizado de máquina não supervisionado..
Aprendizado por reforço..

Quais os 4 métodos de aprendizado de máquina que existem?

Na verdade, existem basicamente 4 tipos de machine learning, falamos sobre cada um deles, a seguir!.
Aprendizado supervisionado. No aprendizado de máquina supervisionado, os algoritmos são treinados a partir de exemplos rotulados. ... .
Aprendizado não-supervisionado. ... .
Aprendizado semi-supervisionado. ... .
Aprendizado por reforço..

Quais os métodos de aprendizado de máquina que existem passei direto?

Existem três classes gerais de aprendizado de máquina:  Aprendizagem supervisionada;  Aprendizagem não supervisionada;  Aprendizagem por reforço. Tipos de inteligência artificial  A maioria dos algoritmos de aprendizado de máquina são algoritmos de aprendizado supervisionado.

O que é aprendizado de máquina Quais os tipos?

Machine learning (ou aprendizado de máquina, em português) é um tipo de inteligência artificial (IA) que gera aplicações mais precisas na previsão de resultados sem serem explicitamente programadas para isso. Os algoritmos de aprendizado de máquina usam dados históricos como entrada para prever novos valores de saída.