본문 바로가기

데이터 다루기/머신러닝 이론

[Machine Learning] Gradient Boosting (Regression)

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가 곱해진다.

 

반응형