[머신러닝] Feature Selection
안녕하세요, 이번 포스팅에서는 Feature Selection에 대해서 배워보도록 하겠습니다. Feature Selection은 기계학습에서 굉장히 중요한 작업입니다. 데이터가 굉장히 많고, 다양하게 존재한다면, Feature selection을 솔직히 말해서 그다지 필요하지는 않습니다. 하지만, 현실 세계에서는 데이터가 이상적이지 않기 때문에, 필요성이 급증하였습니다. output을 예측하는데에 상관이 없는 변수들이 존재하면, 우선 computational cost가 늘어나고, overfitting을 초래할 수 있습니다. overfitting의 예를 들자면, 의료 진단 도메인에서, 질병의 유무에 대해서 예측을 할 때, 환자 ID가 결과에 큰 영향을 미친다는 결론이 나올 수 있습니다. 하지만 사실 상..
[머신러닝] Ensemble Learning (3) Boosting (AdaBoost)
이번 포스팅에서는 앙상블 기법에서, Bagging의 성능을 향상시킨 Adaboost에 대해서 배워보도록 하겠습니다. Bagging은 랜덤하게 추출한 데 반해, Adaboost는 이전 결과를 반영하여 각 데이터의 선택될 확률에 차이를 줍니다. 쉽게말해서, 100개중에서 30개를 선택해서 예측 모델을 만들었을 때, 20개를 맞추고 10개를 틀렸다고 생각해봅시다. 그러면, 맞은 20개에 대해서는 다음 선택시 확률을 줄이고, 틀린 10개에 대해서는 다음 선택시 확률을 높입니다. 얼핏 생각하였을 때, 틀린 데이터의 경우, 다음 모델을 만들 때, 다시 선택되게 하는것은 합리적으로 보입니다. 실제로 이 방법이 매우 효과적이라서, Adaboost는 굉장히 많이 쓰이고 있습니다. 한가지 단점으로는 Bagging은 1..