의사결정나무 (Decision Tree)
정의, 장단점
> 변수들로 기준(node)을 만들고 이것을 통하여 샘플을 분류하고 분류된 집단의 성질을 통하여 추정하는 모형
> 장점 : 매우 직관적(연속형, 범주형 모두 사용가능)이며 범용성이 좋다. 모델을 보고 해석이 가능하다. (PCA 같은 경우는 내가 잡은 축이 PC1, PC2, 이런 축들이 어떤 의미를 내포하는지 일일히 찾아야 한다.)
> 단점 : sample이 변화하면 model도 변화하기 때문에, 높은 변동성을 가진다. -> 나중에 RandomForest로 보완
Decision Tree 용어
Node : 분류의 기준이 되는 변수가 위치. 이것을 기준으로 sample들을 나눔. 위의 그림에서는 outlook 등등
- Parent Node : 상대적인 개념, 상위 노드
- Child Node : 하위 노드
- Root Node : 상위노드가 없는 가장 위의 노드
- Leaf Node : 하위노드가 없는 가장 아래의 노드
- Internal Node : Leaf Node 가 아닌 경우
Edge : 샘플을 분류하는 조건이 위치하는 곳. 위의 그림에서는 sunny, Rain, High, Normal, Strong, Wind
Depth : Root Node에서 특정 Node까지 도달하기 위해 거쳐야하는 Edge 수. 위의 그림에서 Wind의 Depth는 1이다.
Decision Tree 종류
반응변수에 따라 범주형 변수에는 classify Tree, 연속형 변수에는 regression Tree 를 쓴다.
Entropy : Decision Tree에 적용하는 개념
Entropy의 정의
Entropy는 화학에서 자주 등장하는 개념이다. Entropy 란 짧게 말해서 무질서도의 정도를 의미한다.
따라서 Entropy가 클수록 위의 잡곡들이 섞여있는 것 처럼 무질서도가 1을 향하며,
Entropy가 작을수록 잡곡이 서로 나뉘어있는 것 처럼 무질서도가 0을 향하는 것을 볼 수 있다.
실제로 Entropy의 Function은 위의 식을 사용을 하며, 그래프를 그리면 2차곡선처럼 생겼다.
따라서 0,1 일 확률이 최소, 노란 검은색 곡식이 0.5씩 섞여있을 때일 확률이 최대가 되게 하는 함수이다.
Information Gain
정의
> 의사결정트리에서 상단이 Node를 어떤 부분으로 줄지 결정할 때의 수치를 말한다.
> Information Gain = Entropy before - Entropy after
계산법, 선택하는 기준
Entropy before : yes일 확률에 대한 Entropy는 -9/14log(9/14) - 5/14log(5/14)
Entropy after1 : -0.4log0.4 - 0.6log0.6
Entropy after2 : -1log1 = 0
Entropy after3 : - 0.6log0.6 - 0.4log0.4
이를 각자의 data들의 n 갯수를 붙여서 나눠준다.
이는 단순히 엔트로피 높은 것을 부모 Node로 Root Node로 하면 되지만, 일반적으로 밑에 해당하는 것 처럼 관측치의 개수를 적용해서 가중치를 적용시키는 것과 같은 효과를 준다. 따라서 관측치가 많은 데이터는 엔트로피가 상대적으로 높게 !!!
(10개 중 4개 6개로 나뉘었다면, 100개 중 40개 60개로 나뉘었을 때 Entropy는 같지만, 관측치가 많은 data가 Entropy가 더 높게 측정되어야 부모 Node 위로 올라갈 것 이다. 그만큼 무질서하기 때문에 위에 부모 Node에서 나누어야 한다.)
우리 자료는 섞여있는 자료이다. 이는 엔트로피가 높은 상황이다.
변수들로 자료를 구분을 한 다음, 엔트로피가 낮아지게 된다. information Gain을 제일 높은 변수로 제일 위에 Node로 선정해야 한다.
'AI' 카테고리의 다른 글
ML : Model : SVM 이란? / LDA vs SVM / SVM 정의 (0) | 2020.02.12 |
---|---|
ML : 라그랑주 승수법 (Lagrange Multiplier) (0) | 2020.02.12 |
ML : Model : LDA 배경, 정의, LDA 응용 (QDA) (0) | 2020.02.11 |
ML : Model : LDA : 사영(Projection) (0) | 2020.02.10 |
ML : Model : LDA Math : 다변량 정규분포 (0) | 2020.02.10 |
댓글