새소식

머신러닝 & 딥러닝

결정 트리(Decision Tree)

  • -

결정 트리(Decision Tree)분류와 회귀 문제를 해결하기 위해 사용되는 머신러닝 알고리즘이다. 결정 트리는 데이터를 기반으로 결정 규칙을 생성하며, 트리 구조를 이용해 학습과 예측을 수행한다. 각각의 노드는 특정 특성에 대한 질문이나 테스트를 나타내고, 가지는 이러한 테스트의 결과를 표현한다.

결정 트리 알고리즘의 핵심은 최적의 질문(또는 테스트)을 선택하는 것이다. 이를 위해 주로 사용되는 기준은 정보 이득(Information Gain)지니 불순도(Gini Impurity)다.

 

정보 이득(Information Gain)

정보 이득은 결정 트리에서 분기 기준을 선택하기 위해 사용되는 척도다. 정보 이득은 부모 노드의 엔트로피와 자식 노드의 가중평균 엔트로피의 차이로 정의된다. 정보 이득이 높은 특성은 더 선호되며, 이를 기준으로 트리에서 노드를 분기한다.

엔트로피는 데이터의 불확실성을 측정하는 척도로, 다음과 같이 계산할 수 있다.

 

$H(S) = -\sum_{i=1}^c p_i \log_2 p_i$

 

여기서 $H(S)$는 집합 $S$의 엔트로피, $c$는 클래스 수, $p_i$는 집합 $S$에서 클래스 $i$의 비율이다.

정보 이득은 아래의 수식으로 계산할 수 있다.

 

$IG(S, A) = H(S) - \sum_{v \in Values(A)}{\frac{|S_v|}{|S|}H(S_v)}$

 

여기서 $IG(S, A)$는 특성 $A$에 대한 정보 이득, $H(S)$는 전체 집합 $S$의 엔트로피, $S_v$는 특성 $A$의 값 $v$를 가진 샘플 집합, $|S|$는 전체 샘플 수, $|S_v|$는 특성 $A$의 값 $v$를 가진 샘플 수다.

 

지니 불순도(Gini Impurity)

지니 불순도는 또 다른 분기 기준으로 사용되는 척도다. 지니 불순도는 불순도(impurity)를 측정하는 척도로, 한 노드에 서로 다른 클래스의 샘플이 얼마나 섞여 있는지를 나타낸다. 지니 불순도가 낮을수록 한 노드에 같은 클래스의 샘플이 많이 모여 있음을 의미한다. 결정 트리는 지니 불순도를 최소화하는 방향으로 노드를 분기한다.

정보 이득은 아래의 수식으로 계산할 수 있다.

 

$Gini(S) = 1 - \sum_{i=1}^c p_i^2$

 

여기서 $Gini(S)$는 집합 $S$의 지니 불순도, $c$는 클래스 수, $p_i$는 집합 $S$에서 클래스 $i$의 비율이다.

정보 이득과 지니 불순도는 모두 결정 트리에서 분기 기준을 선택하기 위해 사용되는 척도이지만, 계산 방법과 성질에 약간의 차이가 있다. 일반적으로 정보 이득이 지니 불순도보다 조금 더 복잡한 계산을 필요로 한다. 그러나 두 척도 모두 결정 트리에서 사용되며, 어떤 척도를 사용할지는 문제의 특성과 개인의 선택에 따라 다르다.

정보 이득과 지니 불순도 모두 목표는 비슷하다. 두 척도는 트리의 분기를 결정하는 데 사용되어 불순도를 줄이고, 순수한 클래스를 가진 노드를 만들기 위해 사용된다. 이를 통해 결정 트리가 학습 데이터에 대한 예측 성능을 높이고, 일반화 성능을 향상시키는 것이 목표다.

실제로 정보 이득과 지니 불순도를 사용한 결정 트리는 유사한 결과를 생성할 수 있다. 이 두 척도 중 하나를 선택할 때는 문제의 특성, 계산 복잡성, 성능 등을 고려하여 결정해야 한다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.