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 할지 말지 결정