Na Floresta aleatória, por que um subconjunto aleatório de recursos é escolhido no nível do nó e não no nível da árvore?


12

Minha pergunta: Por que a floresta aleatória considera subconjuntos aleatórios de recursos para dividir no nível do nó em cada árvore, e não no nível da árvore ?

Antecedentes: isso é uma questão de história. Tin Kam Ho publicado este papel na construção de "florestas de decisão", selecionando aleatoriamente um subconjunto de recursos de uso para o cultivo de cada árvore em 1998. Alguns anos mais tarde, em 2001, Leo Breiman publicou seu seminal aleatória Floresta de papel , em que o subconjunto característica é aleatoriamente selecionado em cada em cada árvore, não em cada árvore. Enquanto Breiman citou Ho, ele não explicou especificamente a mudança da seleção aleatória de recursos no nível de árvore e no nível de nó.

Gostaria de saber o que motivou especificamente esse desenvolvimento. Parece que a seleção do subconjunto de recursos no nível da árvore ainda alcançaria a decorrelação desejada das árvores.

Minha teoria: eu não vi isso articulado em outro lugar, mas parece que o método do subespaço aleatório seria menos eficiente em termos de obter estimativas de importância do recurso. Para obter estimativas de importância variável, para cada árvore, os recursos são permutados aleatoriamente, um por um, e o aumento na classificação incorreta ou aumento no erro para as observações prontas para uso é registrado. As variáveis ​​para as quais a classificação incorreta ou o aumento de erros resultantes dessa permutação aleatória são altas são as de maior importância.

Se usarmos o método do subespaço aleatório, para cada árvore, consideraremos apenas dos recursos p . Pode levar várias árvores para considerar todos os preditores de p mesmo uma vez. Por outro lado, se considerarmos um subconjunto diferente m i do pmppmEup apresenta em cada nó , vamos considerar cada recurso mais vezes depois de menos árvores, dando-nos uma estimativa mais robusta da importância recurso.

O que eu olhei até agora: Até agora, li o artigo de Breiman e o artigo de Ho e fiz uma ampla pesquisa on-line para comparar os métodos sem encontrar uma resposta definitiva. Observe que uma pergunta semelhante foi feita antes. Esta questão vai um pouco mais longe, incluindo minha especulação / trabalho em direção a uma possível solução. Eu estaria interessado em quaisquer respostas, citações relevantes ou estudos de simulação comparando as duas abordagens. Se não houver nenhum, planejo executar minha própria simulação comparando os dois métodos.


2
Não vou citar nenhuma referência, então vamos chamar isso de comentário. Se você está tentando entender quais variáveis ​​são úteis, pode ser que uma variável específica seja crítica, mas apenas em uma pequena parte dos dados. Você pode descobrir isso agrupando as variáveis ​​no nível do nó. Você nunca descobriria isso com ensacamento no nível da árvore.
meh

2
Tenho certeza de que Breiman tem um comentário relacionado a isso em seu artigo (imho) seminal, 'Statistics- The Two Cultures'. Seu argumento é que às vezes a importância de uma variável é mascarada por outra variável. O empacotamento no nível do nó permitirá ver o que e quando para uma variável.
meh

1
Obrigado pelos comentários. Voltando à minha idéia sobre eficiência: suponha que um par de variáveis ​​esteja relacionado e, como você disse, a importância de uma "mascarada" a importância de outra. Se construíssemos um preditor de RF com árvores suficientes e usássemos o subconjunto de recursos no nível de árvore, não teríamos árvores suficientes com o recurso "mascarado" e sem o recurso "mascarado" para obter a importância do primeiro sem o impacto de o último? Eu acho que estamos falando aproximadamente da mesma idéia, pelo menos. Obrigado!
djlid

4
Você pode, mas considere quantas mais árvores você teria que construir! Também não está claro. A variável A pode causar divisões de modo que em nenhuma delas a variável B brilhe. É claramente intrinsecamente mais robusto para amostrar no nível do nó. Para mim, refere-se fundamentalmente ao que deve ser o bootstrap.
meh

Respostas:


1

Suponha que tenhamos 10 recursos f1, f2, ..., f9, f10, quando pegarmos um subconjunto para supor f1, f3, f4, f8 de recursos no próprio nível da árvore, então construímos a árvore inteira usando esses 4 recursos em consideração.

Calculamos a entropia, comparamos apenas esses 4 recursos em cada nó e adotamos o recurso que produz entropia máxima. Isso não é muito útil, pois estamos restringindo nosso aprendizado em árvore a apenas esses quatro recursos. Ao contrário disso, quando pegamos algum subconjunto de recursos, digamos f1, f8, f9 no primeiro nó, calculamos a entropia e comparamos entre esses três recursos e escolhemos o que fornece valor máximo. Em vez de aumentar ainda mais a árvore com os mesmos recursos, escolhemos outro subconjunto de recursos, digamos f4, f7, f2 e fazemos a divisão com base nesses recursos. Suponha que f8 foi selecionado no primeiro nó e f2 foi selecionado no segundo nó. O modelo é capaz de aprender a relação entre ambos, o que não seria

Dessa forma, o modelo pode aprender a relação entre diferentes recursos de uma maneira mais diversificada. Essa abordagem terá vários recursos explorados em uma única árvore e, assim, as relações entre elas serão preservadas. Espero que você entenda agora :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.