Decision Stump >> Decision Trees >> Random Forest 순으로 발전한다.
Supervised Learning Notation(표기법)
Supervised Learning: Input is data and the output will be a program and This is called 'Training'
Training: Mapping Input Data to Program
Supervised Learning 적용 어려울 때
문제가 너무 복잡해 프로그래밍 똑바로 못할 것 같으면 지도학습 적용 어려움
레이블링 할 때 전문가조차 특정 레이블을 왜 설정했는지 명확시 설명하기 어려운 경우
인간 전문가가 없는 경우
노동을 자동화하고자 할때: 데이터 분류, 고객 서비스 자동화, 반복 프로세스 처리화 등
Decision Stump
: 하나의 특성에 대한 임계값을 바탕으로 분할 규칙이 1개인 간단한 Decision Tree(의사결정나무)
Decision Stump를 학습시키기 위해 Accuracy Score를 사용한다.
임계값, 그리고 특성을 반복하며 Accuracy를 비교하고, 최적의 특성과 임계값을 찾는 과정.
By Hand로 그리드서치 가능하지만, 보유한 데이터 내에 존재하는 특성과 임계값만을 사용해야 한다는 것을 상기해야 한다.
Cost
Decision Trees
Decision Stumps는 하나의 Feautre에 대해 하나의 분할 규칙만 가지고 있기에 Task에 일반적으로 적용하기에는 무리가 있다.
Decision Tree를 사용하면 여러개의 Feuatre을 기반으로 일련의 분할을 수행할 수 있다. 이는 Decision Stumps보다 높은 Accuracy를 나타내지만 최적의 의사 결정 트리를 찾는 것은 계산적으로 불가능하다.
그렇기에 최적이 아닌, Decent한 Decision Tree를 찾기 위해 Greedy recursive splitting 알고리즘을 본 강의에서는 활용한다.
Greedy Recursive Splitting
Greedy Recursive Splitting은 각 분할에서 가장 큰 Information Gain 또는 가장 큰 엔트로피 감소율을 찾아 데이터를 분할한다.
Greedy이기 때문에 현 단계에서 가장 점수가 높은 Decision Stump를 선택해 진행한다. Stump가 항상 Best 선택은 아닐 수 있다.
Recursive Splitting은 재귀 분할로 초기 전체 데이터셋에서 가장 좋은 분할 지점을 찾고 하위 그룹으로 분할 후, 이를 게속 진행하는 것이다.
이를 계속 진행해 Decision Tree의 'Depth 2', 'Depth 3' 를 쌓아나간다.
Information Gain
패턴을 보이는 Dataset에 대해 수평/수직 라인이 Accuracy를 증가시키지 않을 수 있다.
그렇기에 Decision Tree에서는 "Information Gain" 이라는 개념을 활용해 점수를 계산한다.
Information Gain은 각 변수의 중요도를 계산하고, Label의 Entropy를 최소화하는 방향으로 선택해야 한다.
해당 게시물을 유튜브 PLAI Group at UBC의 영상을 참조해 작성한 글입니다.
https://www.youtube.com/watch?v=aDTjvTkUlaI&list=PLRBUAK6di_6VCgv5ArjUwiKBZYg7Oi6rk&index=4