Coursera week 3 Machine Learning: Classification
1. Introduction behind decision trees
이번에는 decision tree에 대해 공부한다.고등학교 수학에서 배우는 알고리즘과 유사한 내용이다.
decision tree model 은 위와 같은 구조를 갖고 있다.
모델을 만들기 위해 4가지 step이 필요하다.
1. 빈 노드로 시작해서
2. 데이터를 나눌 feature 선택
3. 반복문을 통해 split 할 feature 없으면 예측 실행
4. split할 feature 있으면 2로 돌아가 feature 선택
여기서 2가지 문제가 있다.
1. 어떤 feature을 선택해야하는가.
2. 반복문은 언제 끝나야하는가.
2. Learning decision trees
위처럼 하나의 decision 묶음을 Decision stump 라고 한다.
중간에 excellent , fair, poor 이 쓰여있는 노드를 intermediate node라고 한다.
intermediate node 에 y hat 을 부여해 classification 을 가능케 해준다.
feature selection 은 각 feature의 error rate를 계산해 가장 낮은
error rate 를 가진 feature를 선택한다. 즉, 탐욕 알고리즘의 일환이라고 할 수 있다.
error rate = mistakes / data points 로 계산한다.
mistakes 는 예를 들어, safe인데 Risky로 분류했다거나 그 반대이거나 하는 경우이다.
이제 첫번째 문제는 해결됐다.
이제 반복문은 언제 끝나야하는가 라는 문제가 남았다.
강의에서 제시하는 해결책은 아래와 같다.
1. 모든 데이터가 y 값에 동의할 때
2. 모든 feature이 split 됐을 때
3. Using the learned decision tree
Decision tree 에 xi 를 넣을 때 위와 같이 features의 상태를 써야 예측할 수 있다.
또한 multiclass classification 일 상황에는 어떻게 해야하는가?
별로 다를 바가 없다.
확률 계산만 달리 해주면 된다.
p(y=Danger | x ) 처럼 given x 일 때 y 가 danger일 확률을 구하면 된다.
4. Learning decision trees with continuous inputs
여기서 중요한 분류에 대해 배운다.continuous한 feature은 어떻게 분류해야하는가. 예를 들어 , 월수입이나 나이같은 것이 연속적인 값을 가진다.
하나의 feature을 threshold split 을 통해 분류할 수 있겠지만
여러 feature을 threshold split 위와 같이 분류할 수 있다.
그렇다면 전 사진의 경계선을 어떻게 구분할 수 있겠는가?
각 데이터 포인트 사이에 경계선을 준비하고 가장 에러율이 낮은 경계선을 선택하는 알고리즘이다.
같은 feature에 대해 계속 분류할 수 있다.
위처럼 depth 1 에는 경계가 하나이지만 depth 2 는 경계가 두개 그리고 10개면 경계가 10개가 된다.
같은 feature에 대해 계속 분류하면, 10번 분류할 경우(depth 10)처럼 overfitting이 된다.
댓글
댓글 쓰기