본문 바로가기

카테고리 없음

8. Esemble Method

1. 용어

bias 늘림 -> 실제 - 예측 차이 향상 -> underfitting

var 늘림 -> bais줌 -> overfitting

 

2. 앙상블 메소드

base learer => 모델들 중 하나

조건: 관점이 다른 모델

 

종류: Bagging, Boosting 

Bagging => overfitting 모델들 ( low bias high var ) 모아

Boosting => underfitting 모델들 ( high bias low var ) 모아

 

ㅁ Bagging ( Bootstrap aggregating )

트레이닝 데이터 복원추출로 여러 bootstrap(50 이상) 만들어서 각 모델에 학습 후 voting

 

random foest

데이터 랜덤추출 -> 50개이상 DT만듬 -> OOB( out of bags )는 검증 데이터로 사용

(굳이 pruning x 오버피팅이어도 ㄱㅊ)

 

ㅁ boosting 

squential learning => 앞 모델 결과 뒤 모델 학습

adaBoost : 잘 학습 되지 않은 데이터 (에러높은) 가중치 늘려서 다음 모델에서 추출될 확률 올림

가중치 초기화 => 데이터 에러 계산 =>  가중치계산 => 다음 모델 반영 => 각각 가중치 x 결과 = 최종결과

 

3. Gradient boost 

경사하강법 : 목적함수 ( 로스함수 ) 의 최솟값 구할 때 기울기가 양수면 줄이고 음수면 늘려 (가중치를)서

목적함수의 최솟값을 찾는 방법

 

gradient boost for regression 예시

루트노드로 y예측값 (평균)정함 > 실제 - 예측 ( pseudo residual )을 각각 구함 > 트리의 리프에 res를 구함 -> 이전 값 + 가중치 x 트리의 res를 구함 -> 기준 도달전까지 반복

 

gradient boost for classification 예시

예측값 ( 더 많은 클래스 걸릴 확률 ) > ( pseudo residual ) 계산 > 트리에 로그odds와 res로 리프 res계산 > 가중치 곱해서 y예측값( 로그odds의 res를 확률값으로 변환한것)에 더해 > 기준까지 반복 > 계산 결과는 

 

수도를 deadient로 하려면 log likelyhood를 최대해야함  

 

보통 8~32개 base learner(리프노드)만듬, 트리 100이

 

XGBoost 익스트림

similarity계산해서 pruning 할지 말지 결정