Tipos de condição

Esta unidade se concentra em diferentes tipos de conditions usadas para criar árvores de decisão.

Condições alinhadas ao eixo x oblíquas

Uma condição alinhada ao eixo envolve apenas um único atributo. Uma condição oblíqua envolve vários atributos. Por exemplo, esta é uma condição alinhada ao eixo:

num_legs ≥ 2

Enquanto esta é uma condição oblíqua:

num_legs ≥ num_fingers

Muitas vezes, as árvores de decisão são treinadas apenas com condições alinhadas aos eixos. No entanto, as divisões oblíquas são mais poderosas porque podem expressar padrões mais complexos. Às vezes, as divisões oblíquas produzem resultados melhores, mas custos mais altos de treinamento e inferência.

Código YDF
No YDF, as árvores de decisão são treinadas com a condição alinhada ao eixo por padrão. É possível ativar árvores oblíquas de decisão com o parâmetro split_axis="SPARSE_OBLIQUE".

A condição alinhada ao eixo é "num_legs >= 3". A condição oblíqua é "num_legs + peso * 5 >= 12".

Figura 4. Exemplos de condições alinhadas ao eixo e oblíquas.

 

Representar graficamente as duas condições anteriores gera a seguinte separação do espaço de atributos:

Um gráfico de peso vs. num_legs. A condição alinhada ao eixo não ignora o peso e, portanto, é apenas uma linha vertical. A condição oblíqua mostra uma linha inclinada negativamente.

Figura 5. Separação do espaço de atributos para as condições na Figura 4.

 

Condições binárias vs. não binárias

As condições com dois resultados possíveis (por exemplo, verdadeiro ou falso) são chamadas de condições binárias. As árvores de decisão que contêm apenas condições binárias são chamadas de árvores de decisão binária.

As condições não binárias têm mais de dois resultados possíveis. Portanto, as condições não binárias têm mais poder discriminativo do que as condições binárias. As decisões que contêm uma ou mais condições não binárias são chamadas de árvores de decisão não binárias.

Comparação entre árvores de decisão binárias e não binárias. A árvore de decisão binária contém duas condições binárias. A árvore de decisão não binária contém uma condição não binária.

Figura 6: árvores de decisão binárias versus não binárias.

 

Condições com muita energia também são mais propensas a se sobrepor. Por esse motivo, as florestas de decisão geralmente usam árvores de decisão binária. Portanto, este curso se concentrará nelas.

O tipo mais comum é a condição de limite expressa como:

featurethreshold

Exemplo:

num_legs ≥ 2

Existem outros tipos de condições. Veja a seguir outros tipos de condições binárias comumente usados:

 

Tabela 2. Tipos comuns de condições binárias.

Nome Condição Exemplo
condição de limite $\mathrm{feature}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
condição de igualdade $\mathrm{recurso}_i = \mathrm{valor}$ $\mathrm{species} = ``gato"$
condição inserida $\mathrm{recurso}_i \in \mathrm{coleção}$ $\mathrm{species} \in \{``cat", ``cão", ``pássaro"\}$
condição oblíqua $\sum_{i} \mathrm{peso}_i \mathrm{recurso}_i \geq \mathrm{threshold}$ $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
o recurso está ausente $\mathrm{feature}_i \mathrm{is} \mathrm{Ausente}$ $\mathrm{num\_legs} \mathrm{is} \mathrm{Ausente}$