728x90
반응형
1) Framework
▶ Gradient Boosting은 오차를 줄여 나가는 방식으로 Weak learner를 학습한다.
▶ 즉 다시 말해, 각 iteration 마다 오차를 예측하는 model을 만들고, 예측 값만큼 초기 예측에 계속 더해
주는 방식으로 진행한다.
2) Algorithm
A. Regression Task.
▶ 위의 데이터에 대해서 3가지 input attribute로 Weight를 예측하고자 한다.
▶ Regression Task 이므로 오차 함수 를 MSE로 정의하고자 한다.
Step 1)
▶ 모델에 대한 초기 예측 값을 정해야 하는데, 오차를 최소화하는 값으로 정하자.
▶ 위 식을 미분해서 0이 되는 감마 값을 찾으면, y의 평균이 된다.
Step 2)
A)
▶ 초기 예측 값으로 인한 오차를 계산
B)
▶ Regression Tree를 적합해서, 오차 값들을 각 Region으로 분할
▶ 위 경우 관측치가 적어서 4개의 leaf를 사용했지만, 보통 8 ~ 32개의 leaf를 사용함
C)
▶ 각 Region별로 어떤 예측 값 ( )이 출력되야 할까?
▶ 이를 전개하면, 감마는 오차들의 평균으로 계산이 된다.
D)
▶ 이제 예측 값이 업데이트가 되는데, overfitting을 막기 위해, learning rate가 곱해진다.
반응형
'데이터 다루기 > 머신러닝 이론' 카테고리의 다른 글
[Machine Learning] XGBoost (1) Algorithm Schema (0) | 2020.10.05 |
---|---|
[Machine Learning] Gradient Boosting (Classification) (0) | 2020.09.27 |
[Machine Learning] AdaBoost (0) | 2020.09.27 |
[Machine Learning] Boosting (부스팅) (0) | 2020.09.21 |
[Machine Learning] Bagging (배깅) (0) | 2020.09.21 |