Aprendizagem de conjunto - Ensemble learning

Em estatística e aprendizado de máquina , os métodos de ensemble usam vários algoritmos de aprendizado para obter melhor desempenho preditivo do que poderia ser obtido apenas com qualquer um dos algoritmos de aprendizado constituintes. Ao contrário de um conjunto estatístico em mecânica estatística, que geralmente é infinito, um conjunto de aprendizado de máquina consiste em apenas um conjunto finito concreto de modelos alternativos, mas normalmente permite que uma estrutura muito mais flexível exista entre essas alternativas.

Visão geral

Os algoritmos de aprendizado supervisionado realizam a tarefa de pesquisar em um espaço de hipóteses para encontrar uma hipótese adequada que fará boas previsões com um problema particular. Mesmo se o espaço de hipóteses contiver hipóteses que sejam muito adequadas para um problema específico, pode ser muito difícil encontrar uma boa. Os conjuntos combinam várias hipóteses para formar uma (esperançosamente) melhor hipótese. O termo conjunto é geralmente reservado para métodos que geram várias hipóteses usando o mesmo aluno base. O termo mais amplo de sistemas de classificação múltipla também abrange a hibridização de hipóteses que não são induzidas pelo mesmo aluno base.

Avaliar a previsão de um conjunto normalmente requer mais computação do que avaliar a previsão de um único modelo. Em certo sentido, a aprendizagem por conjunto pode ser pensada como uma forma de compensar algoritmos de aprendizagem pobres, realizando muitos cálculos extras. Por outro lado, a alternativa é aprender muito mais em um sistema sem conjunto. Um sistema de conjunto pode ser mais eficiente em melhorar a precisão geral para o mesmo aumento nos recursos de computação, armazenamento ou comunicação usando esse aumento em dois ou mais métodos, do que teria sido melhorado aumentando o uso de recursos para um único método. Algoritmos rápidos, como árvores de decisão, são comumente usados ​​em métodos de combinação (por exemplo, florestas aleatórias ), embora algoritmos mais lentos também possam se beneficiar das técnicas de combinação.

Por analogia, as técnicas de conjunto têm sido usadas também em cenários de aprendizagem não supervisionados , por exemplo, em agrupamento de consenso ou detecção de anomalias .

Teoria do conjunto

Empiricamente, os conjuntos tendem a render melhores resultados quando existe uma diversidade significativa entre os modelos. Muitos métodos de ensemble, portanto, procuram promover a diversidade entre os modelos que combinam. Embora talvez não sejam intuitivos, algoritmos mais aleatórios (como árvores de decisão aleatórias) podem ser usados ​​para produzir um conjunto mais forte do que algoritmos muito deliberados (como árvores de decisão redutoras de entropia). Usar uma variedade de algoritmos de aprendizagem fortes, entretanto, tem se mostrado mais eficaz do que usar técnicas que tentam emburrecer os modelos a fim de promover a diversidade. É possível aumentar a diversidade no estágio de treinamento do modelo usando correlação para tarefas de regressão ou usando medidas de informação como entropia cruzada para tarefas de classificação.

Tamanho do conjunto

Embora o número de classificadores de componentes de um conjunto tenha um grande impacto na precisão da previsão, há um número limitado de estudos abordando esse problema. A determinação a priori do tamanho do conjunto e do volume e velocidade dos fluxos de big data torna isso ainda mais crucial para classificadores de conjunto online. Principalmente testes estatísticos foram usados ​​para determinar o número adequado de componentes. Mais recentemente, um arcabouço teórico sugeriu que há um número ideal de classificadores de componentes para um conjunto, de modo que ter mais ou menos que esse número de classificadores deterioraria a precisão. É a chamada "lei dos rendimentos decrescentes na construção de conjuntos". Seu arcabouço teórico mostra que usar o mesmo número de classificadores de componentes independentes como rótulos de classe oferece a maior precisão.

Tipos comuns de conjuntos

Classificador ótimo de Bayes

O classificador ótimo de Bayes é uma técnica de classificação. É um conjunto de todas as hipóteses no espaço de hipóteses. Em média, nenhum outro conjunto pode superá-lo. O classificador ideal ingênuo de Bayes é uma versão disso que assume que os dados são condicionalmente independentes da classe e torna o cálculo mais viável. Cada hipótese recebe um voto proporcional à probabilidade de que o conjunto de dados de treinamento seria amostrado de um sistema se essa hipótese fosse verdadeira. Para facilitar o treinamento de dados de tamanho finito, o voto de cada hipótese também é multiplicado pela probabilidade anterior dessa hipótese. O classificador ótimo de Bayes pode ser expresso com a seguinte equação:

onde é a classe prevista, é o conjunto de todas as classes possíveis, é o espaço de hipótese, refere-se a uma probabilidade e são os dados de treinamento. Como um conjunto, o classificador ótimo de Bayes representa uma hipótese que não está necessariamente em . A hipótese representada pelo classificador ótimo de Bayes, entretanto, é a hipótese ótima no espaço do conjunto (o espaço de todos os conjuntos possíveis consiste apenas em hipóteses em ).

Esta fórmula pode ser reafirmada usando o teorema de Bayes , que diz que o posterior é proporcional à verossimilhança vezes o anterior:

portanto,

Agregação de bootstrap (ensacamento)

A agregação bootstrap, geralmente abreviada como bagging , envolve fazer com que cada modelo no conjunto vote com o mesmo peso. Para promover a variação do modelo, o bagging treina cada modelo no conjunto usando um subconjunto desenhado aleatoriamente do conjunto de treinamento. Como exemplo, o algoritmo de floresta aleatória combina árvores de decisão aleatórias com ensacamento para obter uma precisão de classificação muito alta.

No ensacamento, as amostras são geradas de forma que as amostras sejam diferentes umas das outras, porém a substituição é permitida. Substituição significa que uma instância pode ocorrer em várias amostras várias vezes ou pode não aparecer em algumas amostras. Essas amostras são então fornecidas a vários alunos e, em seguida, os resultados de cada aluno são combinados na forma de votação.

Boosting

Boosting envolve a construção incremental de um conjunto, treinando cada nova instância de modelo para enfatizar as instâncias de treinamento que os modelos anteriores classificaram incorretamente. Em alguns casos, o boosting demonstrou produzir melhor precisão do que o bagging, mas também tende a ser mais provável de ajustar os dados de treinamento. De longe, a implementação mais comum de boosting é Adaboost , embora alguns algoritmos mais novos sejam relatados para obter melhores resultados.

No Boosting, um peso igual (distribuição de probabilidade uniforme) é dado aos dados de treinamento de amostra (digamos D1) na rodada inicial. Esses dados (D1) são então fornecidos a um aluno básico (digamos, L1). As instâncias mal classificadas por L1 recebem um peso maior do que as instâncias classificadas corretamente, mas tendo em mente que a distribuição de probabilidade total será igual a 1. Esses dados aumentados (digamos D2) são então dados ao aluno de segunda base (digamos L2 ) e assim por diante. Os resultados são então combinados na forma de votação.

Média do modelo bayesiano

A média do modelo bayesiano (BMA) faz previsões usando uma média sobre vários modelos com pesos dados pela probabilidade posterior de cada modelo dado os dados. BMA é conhecido por geralmente dar melhores respostas do que um único modelo, obtido, por exemplo, por meio de regressão stepwise , especialmente onde modelos muito diferentes têm desempenho quase idêntico no conjunto de treinamento, mas podem ter um desempenho bastante diferente.

A questão mais óbvia com qualquer técnica que usa o teorema de Bayes é a anterior, ou seja, uma especificação da probabilidade (subjetiva, talvez) de que cada modelo é o melhor para um determinado propósito. Conceitualmente, o BMA pode ser usado com qualquer anterior. Os pacotes ensembleBMA e BMA para R usam o prior implícito pelo critério de informação Bayesiano , (BIC), de acordo com Raftery (1995). O pacote BAS para R suporta o uso das priors implícitas no critério de informação de Akaike (AIC) e outros critérios sobre os modelos alternativos, bem como as priors sobre os coeficientes.

A diferença entre BIC e AIC é a força da preferência pela parcimônia. A penalidade para a complexidade do modelo é para o BIC e para o AIC. A teoria assintótica de grandes amostras estabeleceu que, se houver um melhor modelo com tamanhos crescentes de amostra, o BIC é fortemente consistente, ou seja, quase certamente o encontrará, enquanto o AIC pode não, porque o AIC pode continuar a colocar probabilidade posterior excessiva em modelos que são mais complicado do que precisa ser. Se, por outro lado, estamos mais preocupados com a eficiência, ou seja, o erro de predição do quadrado médio mínimo, então assintoticamente, AIC e AICc são “eficientes”, enquanto o BIC não é.

Burnham e Anderson (1998, 2002) contribuíram muito para apresentar a um público mais amplo as idéias básicas do modelo bayesiano de média e popularização da metodologia. A disponibilidade de software, incluindo outros pacotes de código aberto para R além dos mencionados acima, ajudou a tornar os métodos acessíveis a um público mais amplo.

Haussler et al. (1994) mostraram que quando BMA é usado para classificação, seu erro esperado é no máximo duas vezes o erro esperado do classificador ótimo de Bayes.

Combinação de modelo bayesiano

A combinação do modelo bayesiano (BMC) é uma correção algorítmica para a média do modelo bayesiano (BMA). Em vez de amostrar cada modelo no conjunto individualmente, ele coleta amostras do espaço de conjuntos possíveis (com pesos de modelo extraídos aleatoriamente de uma distribuição de Dirichlet com parâmetros uniformes). Essa modificação supera a tendência do BMA de convergir para dar todo o peso a um único modelo. Embora o BMC seja um pouco mais caro em termos computacionais do que o BMA, ele tende a produzir resultados dramaticamente melhores. Os resultados do BMC mostraram ser melhores em média (com significância estatística) do que o BMA e o ensacamento.

O uso da lei de Bayes para calcular os pesos dos modelos exige o cálculo da probabilidade dos dados de cada modelo. Normalmente, nenhum dos modelos no conjunto é exatamente a distribuição a partir da qual os dados de treinamento foram gerados, portanto, todos eles recebem corretamente um valor próximo a zero para este termo. Isso funcionaria bem se o conjunto fosse grande o suficiente para amostrar todo o espaço do modelo, mas isso raramente é possível. Consequentemente, cada padrão nos dados de treinamento fará com que o peso do conjunto mude em direção ao modelo no conjunto que está mais próximo da distribuição dos dados de treinamento. Essencialmente, reduz-se a um método desnecessariamente complexo para fazer a seleção do modelo.

Os pesos possíveis para um conjunto podem ser visualizados como se estivessem em um simplex. Em cada vértice do simplex, todo o peso é dado a um único modelo no conjunto. O BMA converge para o vértice que está mais próximo da distribuição dos dados de treinamento. Em contraste, o BMC converge para o ponto em que essa distribuição é projetada para o simplex. Ou seja, ao invés de selecionar o modelo mais próximo da distribuição geradora, busca a combinação de modelos mais próximos da distribuição geradora.

Os resultados do BMA podem muitas vezes ser aproximados usando validação cruzada para selecionar o melhor modelo de um grupo de modelos. Da mesma forma, os resultados do BMC podem ser aproximados usando validação cruzada para selecionar a melhor combinação de conjunto de uma amostra aleatória de possíveis ponderações.

Balde de modelos

Um "balde de modelos" é uma técnica de conjunto em que um algoritmo de seleção de modelo é usado para escolher o melhor modelo para cada problema. Quando testado com apenas um problema, um grupo de modelos não pode produzir resultados melhores do que o melhor modelo no conjunto, mas quando avaliado em muitos problemas, normalmente produzirá resultados muito melhores, em média, do que qualquer modelo no conjunto.

A abordagem mais comum usada para seleção de modelo é a seleção de validação cruzada (às vezes chamada de "concurso de preparação"). Ele é descrito com o seguinte pseudocódigo:

For each model m in the bucket:
    Do c times: (where 'c' is some constant)
        Randomly divide the training dataset into two datasets: A, and B.
        Train m with A
        Test m with B
Select the model that obtains the highest average score

A seleção de validação cruzada pode ser resumida como: "experimente todos com o conjunto de treinamento e escolha aquele que funciona melhor".

Gating é uma generalização da seleção de validação cruzada. Envolve o treinamento de outro modelo de aprendizado para decidir qual dos modelos do intervalo é o mais adequado para resolver o problema. Freqüentemente, um perceptron é usado para o modelo de portas. Ele pode ser usado para escolher o "melhor" modelo ou para dar um peso linear às previsões de cada modelo no balde.

Quando um balde de modelos é usado com um grande conjunto de problemas, pode ser desejável evitar o treinamento de alguns dos modelos que demoram muito para treinar. A aprendizagem de referência é uma abordagem de meta-aprendizagem que busca resolver esse problema. Envolve treinar apenas os algoritmos rápidos (mas imprecisos) no intervalo e, em seguida, usar o desempenho desses algoritmos para ajudar a determinar qual algoritmo lento (mas preciso) tem maior probabilidade de ter o melhor desempenho.

Empilhamento

Empilhamento (às vezes chamado de generalização empilhada ) envolve o treinamento de um algoritmo de aprendizado para combinar as previsões de vários outros algoritmos de aprendizado. Primeiro, todos os outros algoritmos são treinados usando os dados disponíveis, então um algoritmo combinador é treinado para fazer uma previsão final usando todas as previsões dos outros algoritmos como entradas adicionais. Se um algoritmo de combinador arbitrário for usado, o empilhamento pode teoricamente representar qualquer uma das técnicas de combinação descritas neste artigo, embora, na prática, um modelo de regressão logística seja frequentemente usado como combinador.

O empilhamento normalmente produz um desempenho melhor do que qualquer um dos modelos treinados. Tem sido usado com sucesso em tarefas de aprendizagem supervisionada (regressão, classificação e ensino à distância) e aprendizagem não supervisionada (estimativa de densidade). Também foi usado para estimar a taxa de erro de ensacamento. Foi relatado que ele supera a média do modelo Bayesiano. Os dois melhores desempenhos na competição da Netflix utilizaram a combinação , que pode ser considerada uma forma de empilhamento.

Implementações em pacotes de estatísticas

  • R : pelo menos três pacotes oferecem ferramentas de média de modelos bayesianos, incluindo o pacote BMS (uma sigla para Bayesian Model Selection), o pacote BAS (uma sigla para Bayesian Adaptive Sampling) e o pacote BMA .
  • Python : Scikit-learn , um pacote para aprendizado de máquina em Python oferece pacotes para aprendizado de conjunto, incluindo pacotes para métodos de empacotamento e média.
  • MATLAB : conjuntos de classificação são implementados em Statistics and Machine Learning Toolbox.

Aplicativos de aprendizagem de conjunto

Nos últimos anos, devido ao crescente poder computacional que permite treinar o aprendizado de grandes conjuntos em um prazo razoável, o número de suas aplicações tem crescido cada vez mais. Algumas das aplicações de classificadores de conjunto incluem:

Sensoriamento remoto

Mapeamento de cobertura do solo

O mapeamento da cobertura do solo é uma das principais aplicações dos sensores de satélite de observação da Terra , usando sensoriamento remoto e dados geoespaciais , para identificar os materiais e objetos que estão localizados na superfície das áreas-alvo. Geralmente, as classes de materiais de destino incluem estradas, edifícios, rios, lagos e vegetação. Algumas abordagens diferentes de aprendizagem por ensemble baseadas em redes neurais artificiais , análise de componentes principais do kernel (KPCA), árvores de decisão com boosting , floresta aleatória e design automático de sistemas classificadores múltiplos, são propostas para identificar de forma eficiente os objetos de cobertura da terra .

Detecção de mudança

A detecção de mudanças é um problema de análise de imagens , que consiste na identificação de locais onde a cobertura do solo mudou ao longo do tempo. A detecção de mudanças é amplamente utilizada em campos como crescimento urbano , dinâmica florestal e vegetal , uso da terra e monitoramento de desastres . As primeiras aplicações de classificadores de ensemble na detecção de mudanças são projetadas com a votação por maioria , média bayesiana e a probabilidade posterior máxima .

Segurança informática

Negação de serviço distribuída

A negação de serviço distribuída é um dos ataques cibernéticos mais ameaçadores que podem acontecer a um provedor de serviços de Internet . Ao combinar a saída de classificadores únicos, os classificadores de conjuntos reduzem o erro total de detecção e discriminação de tais ataques de multidões flash legítimas .

Detecção de Malware

A classificação de códigos de malware , como vírus de computador , worms de computador , trojans , ransomware e spywares com o uso de técnicas de aprendizado de máquina , é inspirada no problema de categorização de documentos . Os sistemas de aprendizagem ensemble têm demonstrado uma eficácia adequada nesta área.

Detecção de intruso

Um sistema de detecção de intrusão monitora a rede de computador ou sistemas de computador para identificar códigos de intrusão como um processo de detecção de anomalia . O aprendizado do conjunto ajuda com sucesso esses sistemas de monitoramento a reduzir o erro total.

Reconhecimento facial

O reconhecimento facial , que recentemente se tornou uma das áreas de pesquisa mais populares de reconhecimento de padrões , lida com a identificação ou verificação de uma pessoa por suas imagens digitais .

Conjuntos hierárquicos baseados no classificador Gabor Fisher e técnicas de pré-processamento de análise de componentes independentes são alguns dos primeiros conjuntos empregados neste campo.

Reconhecimento de emoção

Embora o reconhecimento de voz seja baseado principalmente no aprendizado profundo, porque a maioria dos participantes da indústria neste campo, como Google , Microsoft e IBM, revelam que a tecnologia central de seu reconhecimento de voz é baseada nesta abordagem, o reconhecimento de emoção baseado na fala também pode ter um desempenho satisfatório com aprendizagem em conjunto.

Também está sendo usado com sucesso no reconhecimento de emoções faciais .

Detecção de fraude

A detecção de fraude trata da identificação de fraudes bancárias , como lavagem de dinheiro , fraude de cartão de crédito e fraude de telecomunicações , que possuem vastos domínios de pesquisa e aplicações de aprendizado de máquina . Como o ensemble learning melhora a robustez da modelagem de comportamento normal, ele foi proposto como uma técnica eficiente para detectar tais casos e atividades fraudulentas em sistemas bancários e de cartão de crédito.

Tomada de decisão financeira

A precisão da previsão de insucesso empresarial é uma questão crucial na tomada de decisões financeiras. Portanto, diferentes classificadores de conjuntos são propostos para prever crises e dificuldades financeiras . Além disso, no problema de manipulação com base no comércio , onde os comerciantes tentam manipular os preços das ações por meio de atividades de compra e venda, os classificadores de conjuntos são obrigados a analisar as mudanças nos dados do mercado de ações e detectar sintomas suspeitos de manipulação dos preços das ações .

Medicina

Os classificadores de conjunto foram aplicados com sucesso em neurociência , proteômica e diagnóstico médico, como na detecção de distúrbios neurocognitivos (ou seja, Alzheimer ou distrofia miotônica ) com base em conjuntos de dados de ressonância magnética e classificação de citologia cervical.

Veja também

Referências

Leitura adicional

links externos