Árvores de decisão: passagem de árvore em nível de folha (melhor primeiro) e em nível

13

Problema 1:

Estou confuso com a descrição do LightGBM sobre o modo como a árvore é expandida.

Eles afirmam:

A maioria dos algoritmos de aprendizado de árvore de decisão cresce em árvore por nível (profundidade), conforme a imagem a seguir:

insira a descrição da imagem aqui

Perguntas 1 : Quais algoritmos "mais" são implementados dessa maneira? Tanto quanto eu sei, C4.5 e CART usam DFS. O XGBoost usa BFS. Quais outros algoritmos ou pacotes usam o BFS para árvores de decisão?

Edição 2:

O LightGBM declara:

O LightGBM cresce a árvore por folha (melhor-primeiro). Ele escolherá a folha com perda máxima de delta para crescer. Ao cultivar a mesma folha, o algoritmo folha a folha pode reduzir mais perdas que o algoritmo nível.

insira a descrição da imagem aqui

Pergunta 2 : É correto dizer que as árvores de crescimento em nível terão profundidade igual para todas as folhas?

Perguntas 3: Se a Pergunta 2 não estiver correta, as árvores de crescimento em nível e folha terão a mesma aparência no final da travessia (sem poda, etc.). É uma afirmação correta?

Perguntas 4: Se a pergunta 3 estiver correta, como "o algoritmo em folha pode reduzir mais perdas do que o algoritmo em nível"? Isso tem a ver com o algoritmo pós-poda?

Jekaterina Kokatjuhha
fonte

Respostas:

10

Se você cultivar a árvore completa, o melhor primeiro (folha) e profundidade primeiro (nível) resultarão na mesma árvore. A diferença está na ordem em que a árvore é expandida. Como normalmente não cultivamos árvores em toda a sua profundidade, a ordem é importante: a aplicação de critérios de parada precoce e métodos de poda pode resultar em árvores muito diferentes. Como em termos de folha escolhe divisões com base em sua contribuição para a perda global e não apenas a perda ao longo de um ramo específico, muitas vezes (nem sempre) aprende árvores com erros menores "mais rápido" do que em nível. Ou seja, para um pequeno número de nós, em folha provavelmente terá um desempenho melhor em nível. À medida que você adiciona mais nós, sem parar ou remover, eles convergem para o mesmo desempenho, porque literalmente criarão a mesma árvore.

Referência:

Shi, H. (2007). Melhor Aprendizado em Árvore de Decisão (Tese, Mestrado). Universidade de Waikato, Hamilton, Nova Zelândia. Obtido em https://hdl.handle.net/10289/2317


EDIT: Em relação à sua primeira pergunta, tanto o C4.5 quanto o CART são exemplos de profundidade, e não de melhor. Aqui está um conteúdo relevante da referência acima:

1.2.1 Árvores de decisão padrão

Algoritmos padrão como C4.5 (Quinlan, 1993) e CART (Breiman et al., 1984) para a indução de cima para baixo de árvores de decisão expandem os nós em ordem de profundidade em cada etapa, usando a estratégia de dividir e conquistar. Normalmente, em cada nó de uma árvore de decisão, o teste envolve apenas um único atributo e o valor do atributo é comparado a uma constante. A idéia básica das árvores de decisão padrão é que, primeiro, selecione um atributo para colocar no nó raiz e faça algumas ramificações para esse atributo com base em alguns critérios (por exemplo, informações ou índice Gini). Em seguida, divida as instâncias de treinamento em subconjuntos, um para cada ramificação que se estende do nó raiz. O número de subconjuntos é igual ao número de ramificações. Em seguida, essa etapa é repetida para um ramo escolhido, usando apenas as instâncias que realmente o alcançam. Uma ordem fixa é usada para expandir os nós (normalmente, da esquerda para a direita). Se a qualquer momento todas as instâncias em um nó tiverem o mesmo rótulo de classe, conhecido como nó puro, a divisão será interrompida e o nó será transformado em um nó terminal. Esse processo de construção continua até que todos os nós estejam puros. Em seguida, é seguido por um processo de poda para reduzir os acessórios demais (consulte a Seção 1.3).

1.2.2 Árvores da melhor primeira decisão

Outra possibilidade, que até agora parece ter sido avaliada apenas no contexto de algoritmos de impulso (Friedman et al., 2000), é expandir os nós na melhor ordem de primeira vez em vez de uma ordem fixa. Este método adiciona o "melhor" nó de divisão à árvore em cada etapa. O nó "best" é o nó que reduz ao máximo a impureza entre todos os nós disponíveis para divisão (ou seja, não rotulados como nós terminais). Embora isso resulte na mesma árvore desenvolvida como expansão padrão de profundidade, ela nos permite investigar novos métodos de remoção de árvores que usam validação cruzada para selecionar o número de expansões. Tanto a pré-poda como a pós-poda podem ser realizadas dessa maneira, o que permite uma comparação justa entre elas (consulte a Seção 1.3).

As árvores de decisão com a melhor primeira decisão são construídas de uma maneira que divide e conquista, semelhante às árvores de decisão com profundidade da primeira decisão. A idéia básica de como uma melhor árvore é construída é a seguinte. Primeiro, selecione um atributo para colocar no nó raiz e faça algumas ramificações para esse atributo com base em alguns critérios. Em seguida, divida as instâncias de treinamento em subconjuntos, um para cada ramificação que se estende do nó raiz. Nesta tese, apenas as árvores de decisão binária são consideradas e, portanto, o número de ramos é exatamente dois. Em seguida, essa etapa é repetida para um ramo escolhido, usando apenas as instâncias que realmente o alcançam. Em cada etapa, escolhemos o "melhor" subconjunto entre todos os subconjuntos disponíveis para expansões. Esse processo de construção continua até que todos os nós sejam puros ou um número específico de expansões seja alcançado. Figura 1. 1 mostra a diferença na ordem dividida entre uma árvore binária hipotética de melhor primeira e uma árvore binária hipotética de primeira ordem. Observe que outras ordens podem ser escolhidas para a melhor primeira árvore, enquanto a ordem é sempre a mesma no primeiro caso de profundidade.

David Marx
fonte
Você também pode responder à primeira pergunta?
Jekaterina Kokatjuhha 23/01
Atualizei minha resposta. A versão curta é que tanto o C4.5 quanto o CART são exemplos de profundidade primeiro, não melhor primeiro.
David Marx
Minha primeira pergunta não foi sobre a definição ou explicação do best-first ou DFS. E afirmei que C4.5 e CART são DFS. A primeira pergunta foi sobre "quais" a maioria "dos algoritmos são implementados por nível? [...] Quais outros algoritmos ou pacotes usam o BFS para árvores de decisão?"
Jekaterina Kokatjuhha
1
O crescimento da árvore "em profundidade" é nivelado. Era o que eu estava tentando lhe dizer. Leia o trecho que destaquei para você. Não confunda o DFS e o BFS transversais do gráfico aqui com o crescimento da árvore "Profundidade primeiro" e "melhor primeiro". Eles não são iguais, e o primeiro crescimento profundo refere-se ao que você está chamando de "BFS", não de "DFS".
David Marx
Esse era o ponto crítico que eu sentia falta o tempo todo. Obrigado.
Jekaterina Kokatjuhha