스태킹 스태킹(Stacking)이라는 기법은 전체적인 면에서는 앙상블 러닝과 같은 원리이지만, 기존의 앙상블 러닝과 조금 다른 면을 가지고 있다. 스태킹은 복수 개의 기반 학습기들이 학습 - 예측을 진행하고, 예측 데이터들을 학습 데이터로 입력 받는 메타 모델(최종 학습기라고 생각하면 이해하기 쉽다.)이 한번 더 학습 - 예측하는 방식이다. 아주 많이 사용되는 기법은 아니지만, 성능을 최대한으로 향상시키기 위해서 쓰이는 기법이다. 교차 검증 기반의 스태킹 일반 스태킹의 경우, 최종 메타 모델이 학습하는 데이터가 학습 데이터가 아닌, 테스트 데이터를 예측한 값들을 학습하기 때문에, 과적합의 문제가 발생한다. 과적합을 완화시키기 위해서 스태킹 기법과 교차검증 기법을 동시에 적용한다. CV 교차 검증에서는 여..
앙상블러닝 검색 결과
이전 포스팅에서 Ensemble Learning(앙상블 러닝)과 관련하여 보팅과 배깅에 대해서 알아보았다. 이번에는 앙상블 러닝 중에서도 가장 많이 사용되는 기법인 부스팅에 대해서 알아볼 것이다. Boosting 부스팅의 유형에는 크게 AdaBoost와 GradientBoost가 있다. AdaBoost보다는 GradientBoost가 더 많이 사용되는 기법이기는 하지만, 부스팅에 대한 기본적인 개념을 이해하기 위해 먼저 AdaBoost에 대해서 알아볼 필요가 있다. AdaBoost 기존에 알아보았던 앙상블 러닝(보팅과 배깅)에서는 여러개의 약한 학습기를 학습시키는 순서가 큰 상관이 없었다. 하지만, 부스팅이라는 기법은 학습기를 '순차적'으로 학습 - 예측해야 한다. 부스팅의 원리는 이전에 잘못 예측한 데..
앙상블 러닝 앙상블 러닝이란 무엇인가? 간단하게 얘기해서, 여러 약한 학습기들을 모아 학습 / 예측을 실시하고, 그 예측을 결합하여 더욱 정확한 최종 예측을 산출하는 기법을 의미한다. 굳이 왜 이렇게 하는 것일까? 이전에도 얘기했듯이, 모든 머신러닝 알고리즘의 가장 큰 고민 중 하나는 과적합(Overfitting)이다. 이 문제는 ML 알고리즘이 세부적으로 학습을 진행할수록 과적합이 심각해진다. 하지만, 이렇게 하지 않으면 알고리즘의 예측 성능이 떨어지는 과소적합 현상이 발생한다. 그러므로, 과적합이 일어나지 않게 하기 위해 약한 학습기로 학습을 진행하고, 하나가 아닌 여러개의 학습기들의 예측을 결합함으로써 집단 지성처럼 예측 성능이 향상되는 모습을 보인다. 이렇게 과소적합 문제까지 해결한다. 또한, 여..
앙상블러닝 앙상블이라는 단어는 머신러닝을 접하면서도 종종 들어본 경우가 많았을 것이다. 과연 앙상블 러닝은 어떤 기법일까? 기존의 문제점 (과적합) 앞에서 머신러닝을 통해서 예측을 하는 경우에, 과적합(Overfitting)이라는 문제가 항상 존재하고 있다는 것을 언급했었다. 과적합에 대한 원인은, 모델이 데이터를 기반으로 학습을 수행하는 과정에서 너무 세부적인 부분까지 학습데이터에 초점을 맞춘 나머지, 처음 보는 테스트 데이터는 제대로 예측을 못한다는 것이었다. 그렇다고, 너무 큰 단위로 학습을 하고 세부적인 부분을 무시해버린다면, 전체적인 ML 알고리즘 모델의 성능이 떨어지는 문제도 동시에 존재했다. 과적합에 대한 해결책 => 앙상블 러닝 따라서, 사람들은 이 문제를 해결하려고 시도하던 도중, 여러개..
최근댓글