Aprendizado conjunto explicado nos termos mais simples possíveis

O aprendizado conjunto pode ajudá-lo a tomar melhores decisões e resolver muitos desafios da vida real, combinando decisões de vários modelos.

O aprendizado de máquina (ML) continua expandindo suas asas em vários setores e indústrias, seja finanças, medicina, desenvolvimento de aplicativos ou segurança.

O treinamento adequado dos modelos de ML ajudará você a obter mais sucesso em sua empresa ou cargo, e há vários métodos para conseguir isso.

Neste artigo, discutirei o aprendizado em conjunto, sua importância, casos de uso e técnicas.

Fique atento!

O que é aprendizagem em conjunto?

Em aprendizado de máquina e estatística, “conjunto” refere-se a métodos que geram várias hipóteses usando um aprendiz de base comum.

E o ensemble learning é uma abordagem de aprendizado de máquina em que vários modelos (como especialistas ou classificadores) são estrategicamente criados e combinados com o objetivo de resolver um problema computacional ou fazer previsões melhores.

Esta abordagem visa melhorar a previsão, aproximação de função, classificação, etc., desempenho de um determinado modelo. Também é usado para eliminar a possibilidade de você escolher um modelo ruim ou menos valioso entre muitos. Para alcançar um melhor desempenho preditivo, vários algoritmos de aprendizado são usados.

Importância do Ensemble Learning em ML

Nos modelos de aprendizado de máquina, existem algumas fontes como viés, variação e ruído que podem causar erros. O aprendizado de conjunto pode ajudar a reduzir essas fontes causadoras de erros e garantir a estabilidade e a precisão de seus algoritmos de ML.

Veja por que o aprendizado conjunto está sendo usado em vários cenários:

Escolhendo o classificador certo

O aprendizado de conjunto ajuda você a escolher um modelo ou classificador melhor, reduzindo o risco que pode resultar de uma seleção inadequada de modelo.

Existem diferentes tipos de classificadores usados ​​para diferentes problemas, como máquinas de vetores de suporte (SVM), multilayer perceptron (MLP), classificadores Naive Bayes, árvores de decisão, etc. Além disso, existem diferentes realizações de algoritmos de classificação que você precisa escolher . O desempenho de diferentes dados de treinamento também pode ser diferente.

Mas, em vez de selecionar apenas um modelo, se você usar um conjunto de todos esses modelos e combinar suas saídas individuais, poderá evitar a seleção de modelos mais pobres.

Volume de dados

Muitos métodos e modelos de ML não são tão eficazes em seus resultados se você os alimentar com dados inadequados ou com um grande volume de dados.

Por outro lado, o ensemble learning pode funcionar em ambos os cenários, mesmo que o volume de dados seja muito pequeno ou muito grande.

  • Se houver dados inadequados, você pode usar o bootstrap para treinar vários classificadores com a ajuda de diferentes amostras de dados de bootstrap.
  • Se houver um grande volume de dados que pode tornar o treinamento de um único classificador desafiador, pode-se particionar estrategicamente os dados em subconjuntos menores.

Complexidade

Um único classificador pode não ser capaz de resolver alguns problemas altamente complexos. Seus limites de decisão que separam dados de várias classes podem ser altamente complexos. Portanto, se você aplicar um classificador linear a um limite complexo não linear, ele não poderá aprendê-lo.

No entanto, ao combinar adequadamente um conjunto de classificadores lineares adequados, você pode fazê-lo aprender um determinado limite não linear. O classificador dividirá os dados em várias partições menores e fáceis de aprender, e cada classificador aprenderá apenas uma partição mais simples. Em seguida, diferentes classificadores serão combinados para produzir um aprox. limite de decisão.

  Gráficos integrados estão prestes a ficar muito melhores

Estimativa de confiança

No aprendizado conjunto, um voto de confiança é atribuído a uma decisão tomada por um sistema. Suponha que você tenha um conjunto de vários classificadores treinados em um determinado problema. Se a maioria dos classificadores concordar com a decisão tomada, seu resultado pode ser pensado como um conjunto com uma decisão de alta confiança.

Por outro lado, se metade dos classificadores não concordar com a decisão tomada, diz-se que se trata de um ensemble com decisão de baixa confiança.

No entanto, confiança baixa ou alta nem sempre é a decisão correta. Mas há uma grande chance de que uma decisão com alta confiança seja correta se o conjunto for devidamente treinado.

Precisão com fusão de dados

Os dados coletados de várias fontes, quando combinados estrategicamente, podem melhorar a precisão das decisões de classificação. Essa precisão é maior do que aquela feita com o auxílio de uma única fonte de dados.

Como funciona o Ensemble Learning?

O aprendizado de conjunto usa várias funções de mapeamento que diferentes classificadores aprenderam e as combina para criar uma única função de mapeamento.

Aqui está um exemplo de como o aprendizado conjunto funciona.

Exemplo: você está criando um aplicativo baseado em alimentos para os usuários finais. Para oferecer uma experiência de usuário de alta qualidade, você deseja coletar seus comentários sobre os problemas que enfrentam, brechas proeminentes, erros, bugs, etc.

Para isso, você pode pedir a opinião de sua família, amigos, colegas de trabalho e outras pessoas com quem você se comunica com frequência sobre suas escolhas alimentares e sua experiência de pedir comida online. Você também pode liberar seu aplicativo na versão beta para coletar feedback em tempo real sem viés ou ruído.

Então, o que você está realmente fazendo aqui é considerar várias ideias e opiniões de pessoas diferentes para ajudar a melhorar a experiência do usuário.

O aprendizado conjunto e seus modelos funcionam de maneira semelhante. Ele usa um conjunto de modelos e os combina para produzir uma saída final para melhorar a precisão e o desempenho da previsão.

Técnicas básicas de aprendizado de conjunto

#1. Modo

Um “modo” é um valor que aparece em um conjunto de dados. No aprendizado conjunto, os profissionais de ML usam vários modelos para criar previsões sobre cada ponto de dados. Essas previsões são consideradas votos individuais e a previsão feita pela maioria dos modelos é considerada a previsão final. É usado principalmente em problemas de classificação.

Exemplo: Quatro pessoas deram nota 4 ao seu aplicativo enquanto uma delas deu nota 3, então a moda seria 4 já que a maioria votou 4.

#2. Média/Média

Usando essa técnica, os profissionais levam em consideração todas as previsões do modelo e calculam sua média para chegar à previsão final. É usado principalmente para fazer previsões para problemas de regressão, calcular probabilidades em problemas de classificação e muito mais.

Exemplo: no exemplo acima, onde quatro pessoas avaliaram seu aplicativo como 4 enquanto uma pessoa o classificou como 3, a média seria (4+4+4+4+3)/5=3,8

#3. Média ponderada

Nesse método de aprendizado conjunto, os profissionais atribuem diferentes pesos a diferentes modelos para fazer uma previsão. Aqui, o peso alocado descreve a relevância de cada modelo.

Exemplo: suponha que 5 indivíduos forneceram feedback sobre sua inscrição. Destes, 3 são desenvolvedores de aplicativos, enquanto 2 não possuem nenhuma experiência em desenvolvimento de aplicativos. Assim, o feedback dessas 3 pessoas receberá mais peso do que o restante 2.

Técnicas Avançadas de Aprendizagem de Ensemble

#1. Ensacamento

Bagging (Bootstrap AGGregatING) é uma técnica de aprendizagem em conjunto altamente intuitiva e simples com um bom desempenho. Como o nome sugere, é feito pela combinação de dois termos “Bootstrap” e “agregação”.

  Como corrigir o ID de toque lento no seu iPhone

Bootstrapping é outro método de amostragem em que você precisará criar subconjuntos de várias observações tiradas de um conjunto de dados original com substituição. Aqui, o tamanho do subconjunto será o mesmo do conjunto de dados original.

Fonte: programador Buggy

Assim, no ensacamento, subconjuntos ou sacos são usados ​​para entender a distribuição do conjunto completo. No entanto, os subconjuntos podem ser menores do que o conjunto de dados original no ensacamento. Esse método envolve um único algoritmo de ML. O objetivo de combinar resultados de diferentes modelos é obter um resultado generalizado.

Veja como funciona o ensacamento:

  • Vários subconjuntos são gerados a partir do conjunto original e as observações são selecionadas com substituições. Os subconjuntos são usados ​​no treinamento de modelos ou árvores de decisão.
  • Um modelo fraco ou base é criado para cada subconjunto. Os modelos serão independentes uns dos outros e executados em paralelo.
  • A previsão final será feita combinando cada previsão de cada modelo usando estatísticas como média, votação, etc.

Algoritmos populares usados ​​nesta técnica de conjunto são:

  • floresta aleatória
  • Árvores de decisão ensacadas

A vantagem desse método é que ele ajuda a reduzir ao mínimo os erros de variância nas árvores de decisão.

#2. Empilhamento

Fonte da imagem: OpenGenus IQ

No empilhamento ou generalização empilhada, as previsões de diferentes modelos, como uma árvore de decisão, são usadas para criar um novo modelo para fazer previsões neste conjunto de teste.

O empilhamento envolve a criação de subconjuntos de dados bootstrap para modelos de treinamento, semelhante ao bagging. Mas aqui, a saída dos modelos é tomada como entrada para alimentar outro classificador, conhecido como metaclassificador para a previsão final das amostras.

A razão pela qual duas camadas classificadoras são usadas é para determinar se os conjuntos de dados de treinamento são aprendidos apropriadamente. Embora a abordagem de duas camadas seja comum, mais camadas também podem ser usadas.

Por exemplo, você pode usar 3-5 modelos na primeira camada ou nível 1 e um único modelo na camada 2 ou nível 2. O último combinará as previsões obtidas no nível 1 para fazer a previsão final.

Além disso, você pode usar qualquer modelo de aprendizado de ML para agregar previsões; um modelo linear como regressão linear, regressão logística, etc., é comum.

Os algoritmos populares de ML usados ​​no empilhamento são:

  • Misturando
  • superconjunto
  • modelos empilhados

Nota: A combinação usa um conjunto de validação ou validação do conjunto de dados de treinamento para fazer previsões. Ao contrário do empilhamento, a combinação envolve previsões a serem feitas apenas a partir do holdout.

#3. Impulsionando

Boosting é um método iterativo de aprendizado de conjunto que ajusta o peso de uma observação específica dependendo de sua classificação anterior ou anterior. Isso significa que todo modelo subsequente visa corrigir os erros encontrados no modelo anterior.

Se a observação não for classificada corretamente, o reforço aumenta o peso da observação.

No boosting, os profissionais treinam o primeiro algoritmo para boosting em um conjunto de dados completo. Em seguida, eles constroem os algoritmos de ML subsequentes usando os resíduos extraídos do algoritmo de reforço anterior. Assim, mais peso é dado às observações incorretas previstas pelo modelo anterior.

Veja como funciona passo a passo:

  • Um subconjunto será gerado a partir do conjunto de dados original. Cada ponto de dados terá os mesmos pesos inicialmente.
  • A criação de um modelo base ocorre no subconjunto.
  • A previsão será feita no conjunto de dados completo.
  • Usando os valores reais e previstos, os erros serão calculados.
  • Observações incorretamente previstas receberão mais pesos
  • Um novo modelo será criado e a previsão final será feita neste conjunto de dados, enquanto o modelo tenta corrigir os erros cometidos anteriormente. Vários modelos serão criados de maneira semelhante, cada um corrigindo os erros anteriores
  • A previsão final será feita a partir do modelo final, que é a média ponderada de todos os modelos.
  18 tipos de crimes cibernéticos que as empresas devem conhecer

Algoritmos de boosting populares são:

  • Cat Boost
  • GBM leve
  • AdaBoostGenericName

O benefício do boosting é que ele gera previsões superiores e reduz os erros devido ao viés.

Outras técnicas de conjunto

Uma mistura de especialistas: é usado para treinar vários classificadores e suas saídas são combinadas com uma regra linear geral. Aqui, os pesos dados às combinações são determinados por um modelo treinável.

Voto majoritário: envolve a escolha de um classificador ímpar e as previsões são calculadas para cada amostra. A classe que recebe a classe máxima de um conjunto de classificadores será a classe predita do conjunto. É usado para resolver problemas como classificação binária.

Max Rule: usa as distribuições de probabilidade de cada classificador e emprega confiança em fazer previsões. É usado para problemas de classificação multiclasse.

Casos de uso da vida real do Ensemble Learning

#1. Detecção de rosto e emoção

O aprendizado conjunto utiliza técnicas como análise de componente independente (ICA) para realizar a detecção de face.

Além disso, o aprendizado conjunto é usado para detectar a emoção de uma pessoa por meio da detecção de fala. Além disso, seus recursos ajudam os usuários a realizar a detecção de emoções faciais.

#2. Segurança

Detecção de fraude: o aprendizado conjunto ajuda a aumentar o poder da modelagem de comportamento normal. É por isso que é considerado eficiente na detecção de atividades fraudulentas, por exemplo, em sistemas bancários e de cartões de crédito, fraudes em telecomunicações, lavagem de dinheiro, etc.

DDoS: negação de serviço distribuída (DDoS) é um ataque mortal em um ISP. Os classificadores de conjunto podem reduzir a detecção de erros e também discriminar ataques de tráfego genuíno.

Detecção de intrusão: o aprendizado conjunto pode ser usado em sistemas de monitoramento, como ferramentas de detecção de intrusão para detectar códigos de intrusos monitorando redes ou sistemas, encontrando anomalias e assim por diante.

Detecção de malware: o aprendizado conjunto é bastante eficaz na detecção e classificação de códigos de malware, como vírus e worms de computador, ransomware, cavalos de Tróia, spyware, etc., usando técnicas de aprendizado de máquina.

#3. Aprendizagem Incremental

No aprendizado incremental, um algoritmo de ML aprende a partir de um novo conjunto de dados, mantendo os aprendizados anteriores, mas sem acessar os dados anteriores que viu. Os sistemas de ensemble são usados ​​no aprendizado incremental, fazendo com que ele aprenda um classificador adicionado em cada conjunto de dados à medida que se torna disponível.

#4. Medicamento

Os classificadores de conjunto são úteis no campo do diagnóstico médico, como a detecção de distúrbios neurocognitivos (como o mal de Alzheimer). Ele realiza a detecção tomando conjuntos de dados de ressonância magnética como entradas e classificando a citologia cervical. Além disso, é aplicado em proteômica (estudo das proteínas), neurociência e outras áreas.

#5. Sensoriamento remoto

Detecção de alterações: classificadores de conjunto são usados ​​para realizar a detecção de alterações por meio de métodos como média bayesiana e votação por maioria.

Mapeamento da cobertura da terra: Métodos de aprendizado de conjunto como boosting, árvores de decisão, análise de componentes principais do kernel (KPCA), etc. estão sendo usados ​​para detectar e mapear a cobertura da terra com eficiência.

#6. Finança

A precisão é um aspecto crítico das finanças, seja cálculo ou previsão. Isso influencia muito o resultado das decisões que você toma. Eles também podem analisar mudanças nos dados do mercado de ações, detectar manipulação nos preços das ações e muito mais.

Recursos Adicionais de Aprendizagem

#1. Métodos de conjunto para aprendizado de máquina

Este livro irá ajudá-lo a aprender e implementar métodos importantes de aprendizado conjunto desde o início.

#2. Métodos Ensemble: Fundamentos e Algoritmos

Este livro apresenta os fundamentos do aprendizado conjunto e seus algoritmos. Ele também descreve como é usado no mundo real.

#3. Aprendizado conjunto

Ele oferece uma introdução a um método de ensemble unificado, desafios, aplicações, etc.

#4. Ensemble Machine Learning: Métodos e Aplicações:

Ele fornece uma ampla cobertura de técnicas avançadas de aprendizagem em conjunto.

Conclusão

Espero que agora você tenha alguma ideia sobre o aprendizado conjunto, seus métodos, casos de uso e por que usá-lo pode ser benéfico para o seu caso de uso. Ele tem o potencial de resolver muitos desafios da vida real, desde o domínio da segurança e desenvolvimento de aplicativos até finanças, medicina e muito mais. Seus usos estão se expandindo, portanto, é provável que haja mais melhorias nesse conceito em um futuro próximo.

Você também pode explorar algumas ferramentas para geração de dados sintéticos para treinar modelos de aprendizado de máquina