Entre em contato

O que é uma árvore de decisão?

AI 101

O que é uma árvore de decisão?

mm

O que é uma árvore de decisão?

A árvore de decisão é um algoritmo de aprendizado de máquina útil usado para tarefas de regressão e classificação. O nome “árvore de decisão” vem do fato de que o algoritmo continua dividindo o conjunto de dados em porções cada vez menores até que os dados sejam divididos em instâncias únicas, que são então classificadas. Se você visualizasse os resultados do algoritmo, a forma como as categorias são divididas se assemelharia a uma árvore e muitas folhas.

Essa é uma definição rápida de árvore de decisão, mas vamos nos aprofundar em como as árvores de decisão funcionam. Ter uma melhor compreensão de como as árvores de decisão operam, bem como seus casos de uso, ajudará você a saber quando utilizá-las durante seus projetos de aprendizado de máquina.

Formato de uma Árvore de Decisão

Uma árvore de decisão é muito parecido com um fluxograma. Para utilizar um fluxograma, você começa no ponto inicial, ou raiz, do gráfico e, com base em como responde aos critérios de filtragem desse nó inicial, move-se para um dos próximos nós possíveis. Este processo é repetido até que um final seja alcançado.

As árvores de decisão operam essencialmente da mesma maneira, com cada nó interno na árvore sendo algum tipo de critério de teste/filtragem. Os nós do lado de fora, as extremidades da árvore, são os rótulos do ponto de dados em questão e são chamados de “folhas”. As ramificações que levam dos nós internos ao próximo nó são feições ou conjunções de feições. As regras usadas para classificar os pontos de dados são os caminhos que vão da raiz até as folhas.

Algoritmos para Árvores de Decisão

As árvores de decisão operam em uma abordagem algorítmica que divide o conjunto de dados em pontos de dados individuais com base em diferentes critérios. Essas divisões são feitas com diferentes variáveis ​​ou com os diferentes recursos do conjunto de dados. Por exemplo, se o objetivo é determinar se um cachorro ou gato está sendo descrito ou não pelos recursos de entrada, as variáveis ​​nas quais os dados são divididos podem ser coisas como “garras” e “latidos”.

Então, quais algoritmos são usados ​​para realmente dividir os dados em ramos e folhas? Existem vários métodos que podem ser usados ​​para dividir uma árvore, mas o método mais comum de divisão é provavelmente uma técnica conhecida como “divisão binária recursiva”. Ao realizar esse método de divisão, o processo começa na raiz e o número de recursos no conjunto de dados representa o número possível de divisões possíveis. Uma função é usada para determinar quanta precisão cada divisão possível custará, e a divisão é feita usando o critério que sacrifica a menor precisão. Este processo é realizado recursivamente e os subgrupos são formados usando a mesma estratégia geral.

Para determinar o custo da divisão, uma função de custo é usada. Uma função de custo diferente é usada para tarefas de regressão e tarefas de classificação. O objetivo de ambas as funções de custo é determinar quais ramificações têm os valores de resposta mais semelhantes ou as ramificações mais homogêneas. Considere que você deseja que os dados de teste de uma determinada classe sigam determinados caminhos e isso faz sentido intuitivo.

Em termos da função de custo de regressão para divisão binária recursiva, o algoritmo usado para calcular o custo é o seguinte:

soma(y – predição)^2

A previsão para um determinado grupo de pontos de dados é a média das respostas dos dados de treinamento para esse grupo. Todos os pontos de dados são executados por meio da função de custo para determinar o custo de todas as divisões possíveis e a divisão com o custo mais baixo é selecionada.

Em relação à função de custo para classificação, a função é a seguinte:

G = soma(pk * (1 – pk))

Essa é a pontuação de Gini e é uma medida da eficácia de uma divisão, com base em quantas instâncias de classes diferentes existem nos grupos resultantes da divisão. Em outras palavras, quantifica o grau de mistura dos grupos após a divisão. Uma divisão ideal é quando todos os grupos resultantes da divisão consistem apenas em entradas de uma classe. Se uma divisão ideal tiver sido criada, o valor “pk” será 0 ou 1 e G será igual a zero. Você pode adivinhar que a divisão de pior caso é aquela em que há uma representação 50-50 das classes na divisão, no caso de classificação binária. Nesse caso, o valor “pk” seria 0.5 e G também seria 0.5.

O processo de divisão é encerrado quando todos os pontos de dados forem transformados em folhas e classificados. No entanto, você pode querer interromper o crescimento da árvore mais cedo. Árvores grandes e complexas são propensas a overfitting, mas vários métodos diferentes podem ser usados ​​para combater isso. Um método para reduzir o overfitting é especificar um número mínimo de pontos de dados que serão usados ​​para criar uma folha. Outro método de controlar o overfitting é restringir a árvore a uma certa profundidade máxima, que controla quanto tempo um caminho pode se estender da raiz até uma folha.

Outro processo envolvido na criação de árvores de decisão está podando. A poda pode ajudar a aumentar o desempenho de uma árvore de decisão removendo ramificações contendo recursos que têm pouco poder preditivo/pouca importância para o modelo. Desta forma, a complexidade da árvore é reduzida, torna-se menos provável que seja superajustada e a utilidade preditiva do modelo é aumentada.

Ao realizar a poda, o processo pode começar no topo ou na base da árvore. No entanto, o método mais fácil de remoção é começar com as folhas e tentar descartar o nó que contém a classe mais comum dentro dessa folha. Se a precisão do modelo não se deteriorar quando isso for feito, a alteração será preservada. Existem outras técnicas usadas para realizar a poda, mas o método descrito acima – poda de erro reduzido – é provavelmente o método mais comum de poda de árvore de decisão.

Considerações para o uso de árvores de decisão

Árvores de decisão muitas vezes são úteis quando a classificação precisa ser realizada, mas o tempo de computação é uma grande restrição. As árvores de decisão podem deixar claro quais recursos nos conjuntos de dados escolhidos possuem o poder mais preditivo. Além disso, ao contrário de muitos algoritmos de aprendizado de máquina em que as regras usadas para classificar os dados podem ser difíceis de interpretar, as árvores de decisão podem renderizar regras interpretáveis. As árvores de decisão também podem fazer uso de variáveis ​​categóricas e contínuas, o que significa que é necessário menos pré-processamento, em comparação com algoritmos que podem lidar apenas com um desses tipos de variáveis.

As árvores de decisão tendem a não funcionar muito bem quando usadas para determinar os valores de atributos contínuos. Outra limitação das árvores de decisão é que, ao fazer a classificação, se houver poucos exemplos de treinamento, mas muitas classes, a árvore de decisão tende a ser imprecisa.

Blogueiro e programador com especialidades em Machine Learning e Deep Learning tópicos. Daniel espera ajudar outras pessoas a usar o poder da IA ​​para o bem social.