조건의 유형

이 단원에서는 결정 트리를 빌드하는 데 사용되는 다양한 유형의 conditions에 중점을 둡니다.

축 정렬 및 경사 조건

축 정렬 조건에는 하나의 지형지물만 포함됩니다. 사선 조건에는 여러 특성이 포함됩니다. 예를 들어 다음은 축 정렬 조건입니다.

num_legs ≥ 2

다음은 비스듬한 조건입니다.

num_legs ≥ num_fingers

결정 트리는 축에 정렬된 조건으로만 학습되는 경우가 많습니다. 그러나 비스듬한 분할은 더 복잡한 패턴을 표현할 수 있으므로 더 강력합니다. 사선 분할을 사용하면 학습 및 추론 비용이 높아지는 대신 더 나은 결과를 얻을 수 있습니다.

YDF 코드
YDF에서 결정 트리는 기본적으로 축에 정렬된 조건으로 학습됩니다. split_axis="SPARSE_OBLIQUE" 매개변수를 사용하여 결정 사선 트리를 사용 설정할 수 있습니다.

축 정렬 조건은 'num_legs >= 3'입니다. 사선 조건은 'num_legs + weight * 5 >= 12'입니다.

그림 4. 축 정렬 조건 및 사선 조건의 예

 

앞의 두 조건을 그래프로 나타내면 다음과 같은 특성 공간 분리가 가능합니다.

무게 및 num_legs 비교 그래프 축 정렬 조건은 가중치를 무시하지 않으므로 수직선일 뿐입니다. 사선 조건은 음의 경사진 선을 보여줍니다.

그림 5. 그림 4의 조건에서 특성 공간 분리.

 

바이너리 조건과 논바이너리 조건 비교

두 가지 가능한 결과 (예: true 또는 false)가 있는 조건을 바이너리 조건이라고 합니다. 바이너리 조건만 포함된 결정 트리를 이진 결정 트리라고 합니다.

논바이너리 조건에는 가능한 결과가 3개 이상 있습니다. 따라서 비바이너리 조건은 바이너리 조건보다 더 큰 판별력을 가집니다. 하나 이상의 비 바이너리 조건을 포함하는 결정을 논바이너리 결정 트리라고 합니다.

바이너리와 논바이너리 결정 트리의 비교 이진 결정 트리에는 두 개의 바이너리 조건이 포함됩니다. 비 바이너리 결정 트리에는 논바이너리 조건 하나가 포함됩니다.

그림 6: 바이너리와 논바이너리 결정 트리 비교

 

전력이 너무 많은 조건도 과적합될 가능성이 높습니다. 이러한 이유로 결정 포레스트는 일반적으로 바이너리 결정 트리를 사용하므로 이 과정에서는 결정 트리에 중점을 둡니다.

가장 일반적인 조건 유형은 다음과 같이 표현되는 기준점 조건입니다.

featurethreshold

예를 들면 다음과 같습니다.

num_legs ≥ 2

다른 유형의 조건도 있습니다. 다음은 일반적으로 사용되는 다른 바이너리 조건 유형입니다.

 

표 2. 바이너리 조건의 일반적인 유형

이름 조건
기준 조건 $\mathrm{feature}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
같음 조건 $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{species} = ``고양이"$
설정 조건 $\mathrm{feature}_i \in \mathrm{collection}$ $\mathrm{species} \in \{``고양이", ``개", ``새"\}$
사축 상태 $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
기능이 누락됨 $\mathrm{feature}_i \mathrm{is} \mathrm{누락됨}$ $\mathrm{num\_legs} \mathrm{is} \mathrm{누락됨}$