Connect with us

O que é uma Árvore de Decisão?

IA 101

O que é uma Árvore de Decisão?

mm

O que é uma Árvore de Decisão?

Uma á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 divide o conjunto de dados em porções menores e menores até que os dados sejam divididos em instâncias individuais, que são então classificadas. Se você visualizar os resultados do algoritmo, a forma como as categorias são divididas se assemelhará a uma árvore com muitas folhas.

Essa é uma definição rápida de uma árvore de decisão, mas vamos mergulhar profundamente 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á 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 semelhante a um fluxograma. Para utilizar um fluxograma, você começa no ponto de partida, ou raiz, do gráfico e, em seguida, com base em como você responde aos critérios de filtragem do nó de partida, você se move para um dos próximos nós possíveis. Esse processo é repetido até que um término seja alcançado.

As árvores de decisão operam de maneira essencialmente semelhante, com cada nó interno na árvore sendo algum tipo de teste/critério de filtragem. Os nós externos, os pontos finais da árvore, são as etiquetas para o ponto de dados em questão e são chamados de “folhas”. Os ramos que levam dos nós internos para o próximo nó são recursos ou conjunções de recursos. As regras usadas para classificar os pontos de dados são os caminhos que correm da raiz para 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 os diferentes recursos do conjunto de dados. Por exemplo, se o objetivo é determinar se um cachorro ou um gato está sendo descrito pelas características de entrada, as variáveis pelas quais os dados são divididos podem ser coisas como “garras” e “latidos”.

Então, quais algoritmos são usados para 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 chamada de “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 quanto de precisão cada divisão possível custará, e a divisão é feita usando o critério que sacrifica a menor precisão. Esse processo é realizado recursivamente e 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 classificação. O objetivo de ambas as funções de custo é determinar quais ramos têm os valores de resposta mais semelhantes, ou os ramos mais homogêneos. Considere que você deseja que os dados de teste de uma certa classe sigam certos caminhos e isso faz sentido intuitivo.

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

soma(y – previsão)^2

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

Quanto à 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 diferentes classes estão nos grupos resultantes da divisão. Em outras palavras, quantifica quão misturados os grupos estão após a divisão. Uma divisão ótima é quando todos os grupos resultantes da divisão consistem apenas em entradas de uma classe. Se uma divisão ótima foi criada, o valor “pk” será 0 ou 1 e G será igual a zero. Você pode adivinhar que a pior divisão é 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 é terminado quando todos os pontos de dados foram transformados em folhas e classificados. No entanto, você pode querer parar o crescimento da árvore precocemente. Árvores complexas e grandes são propensas a sobreajuste, mas vários métodos diferentes podem ser usados para combater isso. Um método de reduzir o sobreajuste é especificar um número mínimo de pontos de dados que serão usados para criar uma folha. Outro método de controlar o sobreajuste é restringir a árvore a uma profundidade máxima, o que controla o quão longo um caminho pode se estender da raiz para uma folha.

Outro processo envolvido na criação de árvores de decisão é a poda. A poda pode ajudar a aumentar o desempenho de uma árvore de decisão, removendo ramos que contêm recursos com pouco poder preditivo/pouca importância para o modelo. Dessa forma, a complexidade da árvore é reduzida, torna-se menos provável que sobreajuste e a utilidade preditiva do modelo é aumentada.

Quando se realiza a poda, o processo pode começar em qualquer lugar da árvore. No entanto, o método mais fácil de poda é começar com as folhas e tentar remover o nó que contém a classe mais comum dentro dessa folha. Se a precisão do modelo não se deteriora quando isso é feito, então a alteração é 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 Usar Árvores de Decisão

As árvores de decisão são frequentemente úteis quando a classificação precisa ser realizada, mas o tempo de computação é uma restrição importante. As árvores de decisão podem tornar claro quais recursos no conjunto de dados escolhido têm o maior poder preditivo. Além disso, ao contrário de muitos algoritmos de aprendizado de máquina, onde as regras usadas para classificar os dados podem ser difíceis de interpretar, as árvores de decisão podem render regras interpretáveis. As árvores de decisão também podem usar variáveis categóricas e contínuas, o que significa que menos pré-processamento é necessário, 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 se sair muito bem quando usadas para determinar os valores de atributos contínuos. Outra limitação das árvores de decisão é que, quando se faz classificação, se há 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 os outros a usar o poder da IA para o bem social.