A floresta aleatória é um algoritmo de impulso?

51

Breve definição de reforço :

Um conjunto de alunos fracos pode criar um único aluno forte? Um aluno fraco é definido como um classificador que é apenas ligeiramente correlacionado com a classificação verdadeira (pode rotular exemplos melhor do que suposições aleatórias).

Breve definição de floresta aleatória :

Florestas aleatórias crescem muitas árvores de classificação. Para classificar um novo objeto a partir de um vetor de entrada, coloque o vetor de entrada em cada uma das árvores da floresta. Cada árvore dá uma classificação, e dizemos que a árvore "vota" para essa classe. A floresta escolhe a classificação com mais votos (sobre todas as árvores da floresta).

Outra definição curta de floresta aleatória :

Uma floresta aleatória é um meta-estimador que se encaixa em vários classificadores de árvore de decisão em várias subamostras do conjunto de dados e usa a média para melhorar a precisão preditiva e controlar o ajuste excessivo.

Pelo que entendi, o Random Forest é um algoritmo de impulso que usa árvores como seus fracos classificadores. Eu sei que ele também usa outras técnicas e as aprimora. Alguém me corrigiu que a Random Forest não é um algoritmo de impulso?

Alguém pode elaborar isso, por que a Random Forest não é um algoritmo de impulso?

Atilla Ozgur
fonte
13
As florestas aleatórias são um algoritmo de empacotamento: en.wikipedia.org/wiki/Bootstrap_aggregating . Sugiro que você leia mais do que a descrição mais curta possível de impulsionar para ver a diferença. Ao impulsionar, a estratégia de reamostragem não é aleatória.
Marc Claesen
12
Curiosidade: no artigo original da Random Forest, Breiman sugere que o AdaBoost (certamente um algoritmo de impulso) executa principalmente a Random Forest quando, após algumas iterações, seu espaço de otimização se torna tão barulhento que simplesmente se move estocástico.

Respostas:

81

A floresta aleatória é um algoritmo de empacotamento em vez de um algoritmo de aumento. São duas maneiras opostas de obter um erro baixo.

Sabemos que o erro pode ser composto a partir de polarização e variação. Um modelo muito complexo tem um viés baixo, mas uma grande variação, enquanto um modelo muito simples tem um desvio baixo, mas um grande desvio, ambos levando a um erro alto, mas por duas razões diferentes. Como resultado, duas maneiras diferentes de resolver o problema vêm à mente das pessoas (talvez Breiman e outras), redução de variância para um modelo complexo ou redução de viés para um modelo simples, que se refere à floresta aleatória e ao reforço.

A floresta aleatória reduz a variação de um grande número de modelos "complexos" com baixo viés. Podemos ver que os elementos de composição não são modelos "fracos", mas modelos muito complexos. Se você ler sobre o algoritmo, as árvores subjacentes serão plantadas "um pouco" do tamanho possível. As árvores subjacentes são modelos paralelos independentes. E a seleção de variáveis ​​aleatórias adicionais é introduzida neles para torná-los ainda mais independentes, o que faz com que ela tenha um desempenho melhor do que o ensacamento comum e intitula o nome "aleatório".

O aumento reduz o viés de um grande número de modelos "pequenos" com baixa variação. Eles são modelos "fracos", como você citou. Os elementos subjacentes são de alguma forma como um modelo iterativo de "cadeia" ou "aninhado" sobre o viés de cada nível. Portanto, eles não são modelos paralelos independentes, mas cada modelo é construído com base em todos os antigos modelos pequenos por ponderação. Isso é chamado de "aumento" de um por um.

Os papéis e livros de Breiman discutem sobre árvores, florestas aleatórias e aumento de peso. Isso ajuda você a entender o princípio por trás do algoritmo.

Vincent
fonte
26

Uma floresta aleatória não é considerada um tipo de algoritmo de aumento.

Conforme explicado no seu link de reforço:

... a maioria dos algoritmos de aumento consiste em aprender iterativamente classificadores fracos com relação a uma distribuição e adicioná-los a um classificador forte final. Quando são adicionados, normalmente são ponderados de alguma forma que geralmente está relacionada à fraca precisão dos alunos. Depois que um aluno fraco é adicionado, os dados são pesados ​​novamente ...

Um exemplo desse processo iterativo é o adaboost, no qual resultados mais fracos são aprimorados ou reponderados ao longo de muitas iterações para que o aluno se concentre mais nas áreas em que está errado e menos nas observações corretas.

Uma floresta aleatória, por outro lado, é um método de ensacamento ou média de conjuntos que visa reduzir a variação de árvores individuais, selecionando aleatoriamente (e, portanto, correlacionando) muitas árvores do conjunto de dados e calculando a média delas.

tapinha
fonte
7

É uma extensão do ensacamento. O procedimento é o seguinte, você pega uma amostra de inicialização dos seus dados e, em seguida, usa-a para aumentar uma árvore de classificação ou regressão (CART). Isso é feito um número predefinido de vezes e a previsão é então a agregação das previsões de árvores individuais; pode ser um voto majoritário (para classificação) ou uma média (para regressão). Essa abordagem é chamada de ensacamento (Breiman 1994). Além disso, a variável candidata para cada divisão de cadaA árvore é retirada de uma amostra aleatória de todas as variáveis ​​independentes disponíveis. Isso introduz ainda mais variabilidade e torna as árvores mais diversas. Isso é chamado de método do subespaço aleatório (Ho, 1998). Como mencionado, isso produz árvores muito diversas que se traduzem em árvores altamente independentes umas das outras. Devido à desigualdade de Jensen , sabemos que a média dos erros dessas previsões de árvores será menor ou igual ao erro da árvore média criada a partir desse conjunto de dados. Outra maneira de ver isso é observar o Erro Quadrático Médio e observar como ele pode ser decomposto em partes de desvio e variação (isso está relacionado a um problema no aprendizado supervisionado chamado de compensação de desvio de desvio)) A floresta aleatória alcança melhor precisão reduzindo a variação através da média da previsão de árvores ortogonais. Deve-se notar que ele herda o viés de suas árvores, que é um problema bastante discutido; verifique, por exemplo, esta questão.

JEquihua
fonte
5

Eu acredito que você está confundindo impulsionar, em particular, com métodos de conjunto em geral, dos quais existem muitos. Sua "definição" de aumento não é a definição completa, que é elaborada na resposta de Pat. Se você quiser saber mais sobre os métodos de ensemble, recomendo que você escolha o seguinte livro:

John Elder e Giovanni Seni. Métodos de conjunto na mineração de dados: aprimorando a precisão por meio da combinação de previsões . (2010)

David Marx
fonte
3

A floresta aleatória é uma técnica de ensacamento e não uma técnica de reforço. Ao impulsionar como o nome sugere, um está aprendendo com o outro, o que, por sua vez, aumenta o aprendizado.

As árvores em florestas aleatórias são executadas em paralelo. Não há interação entre essas árvores durante a construção das árvores. Depois que todas as árvores são construídas, uma votação ou média é calculada através da previsão de todas as árvores, dependendo se o problema é um problema de classificação ou regressão.

As árvores dos algoritmos de reforço, como a máquina GBM-Gradient Boosting, são treinadas sequencialmente.

Digamos que a primeira árvore foi treinada e fez algumas previsões nos dados de treinamento. Nem todas essas previsões estariam corretas. Digamos que de um total de 100 previsões, a primeira árvore cometeu um erro em 10 observações. Agora, essas 10 observações receberiam mais peso ao construir a segunda árvore. Observe que o aprendizado da segunda árvore foi aprimorado com o aprendizado da primeira árvore. Portanto, o termo impulsionador. Dessa forma, cada uma das árvores é construída sequencialmente sobre os aprendizados das árvores passadas.

Manish Barnwal
fonte