▶ 이번 학습 시간에는 Decision Tree, 결정트리에 배워볼 예정이다. 교수님께서 특별히 앙상블이랑 결정트리는 더더욱 코드 부분에 신경을 쓰라고 하셨다. 여기 부분도 개념이 상당히 이해하기 (?) 어려웠기 때문에 개념과 코드에 집중해볼 예정이다.
모델 해석 : Black Box VS White Box [시험출제 PART]
- Black Box는 딮러닝에서의 모델을 말한다. 결과값을 원하는 형태로 도출할 수 있지만 특정 근거를 들어 결과가 왜, 어떻게 나왔는지 설명하기 어렵고 알 수 없다. 그래서 설명하지 못할 경우, 신뢰도를 잃는다는 단점 및 한계가 존재한다.
- White Box는 머신러닝에서의 모델을 말한다. 결과값을 원하는 형태로 도출할 수 있으며, 판단의 근거를 제시할 수 있고 과정을 확인할 수 있다. 한계로는, 설명이 가능한 모델은 성능이 낮을 수 있다.
결정트리 [시험출제]
- 학습을 통해 자동으로 데이터에 있는 규칙을 찾아내어 트리 기반의 규칙을 만드는 모델이다.
- 다양한 범주형 독립 변수들을 활용해 모델링이 가능하다.
- 데이터들이 가지고 있는 속성들로 분할(분류) 기준을 판별한다.
결정트리 개념 - 재귀적 분할 (Recursive Partitioning) [시험출제]
- 그룹이 최대한 동질하도록 반복적으로 하위 그룹으로 분리한다.
서포트벡터 머신 VS 결정트리 [시험출제]
- 결정트리는 이진분류 및 다분류가 가능하기는 하지만 다분류에서의 성능이 우수하다. 반면에 서포트벡터 머신 또한 이진분류 및 다분류가 가능하긴 하지만 다분류 문제에서는 구현이 복잡하여 이진분류에서의 성능이 우수하다.
- 결정트리는 재귀적 분할을 통해 분류를 진행하지만, 서포트벡터 머신은 마진을 최대화하는 결정 경계 학습을 통해 진행한다.
결정트리 장점
- 정보의 '균일도'라는 틀을 기반으로 하고 있어 알고리즘을 쉽고 직관적으로 이해하기 좋은 알고리즘이다.
- 결정트리는 데이터를 정보의 균일도가 높아지도록 반복적으로 나눈다.
- → 즉, 데이터를 나눌 때 각 그룹이 최대한 한쪽 클래스로 쏠리도록 한다.
분류나무 (Classification Tree) 프로세스 [시험출제 가능성 매우높음]
- 1단계: 변수선택 (종속변수와 관계가 있는 독립변수 선택)
- 2단계: 성장 (분석목적과 데이터의 적절한 분리 기준을 통해 나무 구조 작성)
- 3단계: 가지치기 (일반화 가능성을 중대 시키는 트리를 제외한 서브트리 제거하여 효율성 증가)
- → 분류기준 애매한 가지 제거 (소수의 샘플에만 맞춰진 경우)
- 4단계: 타당성 평가 (모델평가하고 최종모델 선정)
- 5단계: 해석 및 예측 (새로운 데이터에 대해 분류/예측 수행)
분류나무 (Classification Tree)
- 데이터를 조건에 따라 분할하여 분류 또는 예측을 수행하는 지도 학습 알고리즘이다.
- 불순도는 노드의 데이터가 얼마나 섞여 있는지를 나타내는 척도이다.
- 예시로, 노드 안의 데이터가 하나의 클래스로만 이루어져 있다면, 불순도가 낮다고 말할 수 있다. 분류나무에서 불순도를 낮추는 것이 핵심이다.
[시험출제 PART]
CART 알고리즘 (Classification and Regression Tree)
- 불순도 척도로 지니 지수(계수) (Gini Index) 를 사용한다.
- 지니 지수는 노드 내 데이터가 얼마나 균일한지를 측정한다.
- 값이 낮을수록 불순도가 낮다.
C4.5 알고리즘
-
- 불순도 척도로 엔트로피(Entropy) 를 사용한다.
- 엔트로피는 정보이론에 기반한 척도로, 노드 내 데이터의 혼란도를 측정한다.
- 값이 낮을수록 불순도가 낮다.
- 이 외에, 정보 이득이 높을수록 좋은 분할이라고 말하며, 정보 이득을 정규화한 것이 이득 비율인데, 이득 비율 또한 높을수록 좋은 분할이라고 한다.
CART 알고리즘
- 지니지수를 사용하며, 지니지수가 낮은 것이 좋은 모델이다.
- CART 알고리즘은 이분류에 주로 사용된다.
- 같은 값이 많을시, 데이터가 균일할 시 지니 계수가 낮다.
CART 알고리즘 예시로, 성별이라는 기준으로 충성고객과 이탈고객을 나누었더니, 얼추 불순도가 낮게 잘 분류가 되었다. 이때 남자 집단에 데이터가 조금(?) 섞여 있으므로 추가적인 조건을 걸어 다시 분류를 해야 한다. 결혼이라는 기준은 불순도가 높기 때문에 올바른 기준으로 사용하지 못한다.
정보의 균일도
- 주어진 데이터셋이 얼마나 균일하게 구성되어 있는지를 의미한다.
- 적은 결정노드로 높은 예측 정확도를 가지려면, 가능한 결정노드로 나뉜 데이터들의 값들이 균일한 데이터셋을 구성할 수 있도록 해야한다.
- → 분류를 했을 때, 두 집단의 데이터 수가 균일해야 한다.
엔트로피 [시험 출제]
- 주어진 데이터 집합의 혼잡도를 의미한다. 낮을수록 좋은 분할 모델
정보이득지수 [시험출제]
- 주어진 데이터 집합의 균일한 정도를 나타낸다. 높을수록 좋은 분할 모델이다.
CART 알고리즘 VS C4.5 알고리즘 차이 [시험 무조건 출제 가능성]
- CART 알고리즘은 분류와 회귀 모두 가능하며, 지니계수를 이용해 데이터를 분류한다.
- C4.5 알고리즘은 분류만 가능하며, 엔트로피와 정보이득지수를 이용해 데이터를 분류한다.
C4.5 - 정보이득지수의 한계(단점)
- 많은 범주를 가지는 요소에 치중되는 경향이 존재한다.
- 그게 무슨 말이냐? 범주의 개수가 많을수록 값이 높아지는 경향이 있다는 의미이다. 범주의 개수는 많고 각 범주마다 데이터가 1개씩 들어가 있다면 값이 의미도 없고, 강제로 높아진다. 이는 유용하지 않은 분할도 높은 정보이득을 가지게 만들어, 잘못된 기준을 선택할 가능성이 있다는 말이다.
- → 그래서 정보이득지수를 표준화를 하여 이득율를 이용하고자 하였다.
결정트리 특징 및 한계 [중요하나, 시험에 낼까? 너무 당연 ...]
- 가지수를 너무 많이 나누게 되면, 너무 많은 분류 문제로 이어져 과대적합 가능성이 있다. ★
- 노드수, 깊이 등 하이퍼 파라미터 조정을 통하여 적당한 하이퍼 파라미터로 모델에 넣어야 한다.
- 데이터셋이 회전을 할 경우 민감하고, 불안정하다.
C4.5
- 가지치기 과정이 존재한다. 사후 가지치기 (post-pruning)로 결정트리를 완성한 다음 가지치기를 수행한다.
결정트리 분류 메커니즘 및 프로세스 [강조는 하지 않으셨으나, 프로세스 ... 교수님이 좋아하는 문제 스타일]
- 데이터 집합의 모든 아이템이 같은 분류에 속하는지 확인한다.
- 리프 노드로 만들어 분류를 결정한다.
- 정보이득지수나, 지니계수를 이용하여 데이터를 분할하는데 가장 좋은 분할 기준을 찾는다.
- 해당 분할 기준으로 데이터 분할하여 가지 노드를 생성한다.
- 반복한다.
※ 코드는 이따 실습때 돌려볼 예정이다.
'머신러닝2 > 수업 필기' 카테고리의 다른 글
머신러닝2 13주차 (0) | 2024.12.11 |
---|---|
머신러닝2 12주차 (2) | 2024.12.11 |
머신러닝2 11주차 (0) | 2024.12.11 |
머신러닝2 10주차 (0) | 2024.12.11 |
머신러닝2 7주차 (2) - 코드 부분 (0) | 2024.10.23 |