[Tistory] Boosting,AdaBoost

원글 페이지 : 바로가기

Boosting 이전 모델이 제대로 예측하지 못한 데이터에 대해 가중치를 부여하여 다음 모델이 학습과 예측을 진행하는 방법 실제값이 20일때 모델1이 15를 예측하면 모델2는 오차값 5를 데이터셋으로 사용하여 예측값을 내놓고 모델3은 모델2의 오차값을 데이터셋으로 사용하는 과정이 오차가 없을때까지 반복하여 예측값의 총합을 통해 최종 예측값을 산출 이전 분류기의 학습결과를 토대로 다음 분류기의 학습데이터의 샘플 가중치를 조정해 학습을 진행 -> 오답에 높은 가중치를 부여해 정확도는 높으나 outlier에 취약할 수 있다 배깅에 비해 성능이 좋지만 속도가 느리고 과적합 발생가능성이 있다 https://hyunlee103.tistory.com/25 1번 weak learner로 학습 후 생긴 error를 반영해 다음 데이터 샘플링과 2번 weak learner를 학습시킨다 이 과정을 반복한다. 부스팅계열 모델 : AdaBoost, GBM(Gradient Boost), XGBoost, LightGBM, CatBoost Bagging과 차이점 bagging이 여러 데이터셋으로 나눠 학습한다면(동시, 병렬), boosting은 데이터셋 모델이 뒤의 데이터셋을 정해주고 앞의 모델들을 보완해가며 학습한다(순차, 직렬) -> 시간이 오래 걸리고 해석이 어렵다는 단점이 있음 AdaBoost https://www.almabetter.com/bytes/tutorials/data-science/adaboost-algorithm Adaptive Boost 오류 데이터에 가중치를 부여하며 부스팅을 수행하는 알고리즘 a general method for generating a strong classifier out of a set of weak classifiers (비정상적인 데이터에 빠르게 적응하여 예측력이 강한 모델을 실시간으로 학습한다고 하여 Adaptive가 붙음) 매 스텝마다 이전 학습데이터에서 오차가 크거나 오분류된 데이터의 가중치를 크게 함 반대로 오차가 작거나 정분류된 데이터의 가중치를 낮게 함 가중치에 비례하여 새로운 학습데이터를 복원추출하여 새로운 학습데이터를 만들고 모형을 적합 매 스텝마다 얻어진 모형들을 선형결합한 것이 AdaBoost의 최종 모형 즉, 약한 모형으로 시작해 이전 모형의 약점을 보완한 새로운 모형들의 선형결합을 통해 강한 모형을 얻음 샘플들은 아주 많은 숫자의 잠재적 특성들로 이뤄져있고, 모든 특성을 고려하는 것은 수행속도를 늦출 뿐만아니라 휴즈효과(Hughes Effect)에 의해 예측 능력까지 떨어뜨리게 된다. * 휴즈효과(Hughes Effect) : 고정된 수의 훈련샘플을 사용할 경우, 먼저 사용되는 차원 또는 특징의 수가 증가함에 따라 분류기의 예측성능이 증가하지만 특정 차원을 넘어서면 꾸준히 개선되는 대신 악화되기 시작한다는 것을 의미 AdaBoost 훈련 과정은 모델의 예측능력을 향상시킬것으로 생각되는 특성들만 선택, 차원수를 줄이는 동시에 필요없는 특성들을 고려하지 않음으로써 수행시간을 개선시킨 A Short Introduce Boosting AdaBoost의 작동방법 첫번째 데이터셋 분포인 D1을 첫번째 tree인 h1으로 수행 h1이 오분류한 인스턴스가 3개, e1 = 0.3, a1 = 0.42 (e0.42 = 1.52, e-0.42 = 0.66) 정분류 인스턴스의 가중치는 * 0.66 ( 덜 중요하게), 오분류 인스턴스의 가중치는 *1.52 (더 중요하게)로 샘플링 3. h2부터 가중치가 부여되어 추출되었으므로 정확히 개수로 판단불가, e2 = 0.21, a2 = 0.65 정분류는 *0.52, 오분류는 *1.92로 샘플링 4. 위의 3개의 결과를 조합하면 위 그림과 같은 결정경계가 만들어진다 이 과정을 반복하면 더욱 정확한 모델을 만들어 낼 수 있다. 장점 과적합의 영향을 덜 받는다 구현이 쉽다 유연하다 – 의사결정나무 뿐만 아니라 로지스틱 회귀, 선형 회귀 모형등을 사용할 수 있다 단점 이상치에 민감하다 해석이 어렵다 – 다른 앙상블 계열과 비슷하게 입력 변수와 출력 변수간의 관계를 해석하기 어렵다 참고 및 출처 : https://velog.io/@jjw9599/MLboostingconcept1 , https://hyunlee103.tistory.com/25 , https://velog.io/@dltnstlssnr1/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-5%EB%8B%A8%EA%B3%84%EC%95%99%EC%83%81%EB%B8%94-%EB%B3%B4%ED%8C%85%EB%B0%B0%EA%B9%85%EB%B6%80%EC%8A%A4%ED%8C%85%EC%8A%A4%ED%83%9C%ED%82%B9 , https://yngie-c.github.io/machine%20learning/2021/03/20/adaboost/ , Yoav Freund, Robert E. Schapire, “A Short Intriduce to Boosting”, Journal of Japanese Society for Artificial Intelligence, 14(5):771-780, September, 1999., https://yngie-c.github.io/machine%20learning/2021/03/20/adaboost/ ,

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다