
지금까지 머신러닝 모델의 하이퍼 파라미터 튜닝을 위해 사이킷런의 GridSearch() 메서드를 이용했습니다. 해당 메서드의 주요 단점은, 튜닝할 파라미터의 개수가 많아지거나 값의 범위가 넓을수록 최적화 수행 시간이 기하급수적으로 길어진다는 점입니다. 그라디언트 기반 앙상블 알고리즘은 성능이 매우 뛰어나지만, 하이퍼 파라미터의 개수가 많으므로 GridSearch() 메서드를 이용한 튜닝이 현실적으로 어려울 수 있습니다. 때문에 실무 및 Competition과 같은 상황에선 GridSearch 방식보다는 베이지안 최적화 기법을 이용해 하이퍼 파라미터 튜닝을 하곤 합니다. 베이지안 최적화는 블랙박스 형태의 목적 함수의 최대 또는 최소 값을 도출하는 입력값을 가능한 적은 시도를 통해 빠르고 효과적으로 찾아줍니..

LightGBM은 XGBoost와 함께 부스팅 계열 알고리즘에서 각광받고 있습니다. XGBoost가 아무리 GBM에 비해 학습 시간이 짧다고 해도, 여전히 랜덤 포레스트와 같은 알고리즘에 비하면 학습 시간이 너무 깁니다. 특히 하이퍼 파라미터 최적화를 위해선 더 긴 시간이 필요합니다. 또한 멀티 코어의 CPU 시스템이 있어야 학습 시간 단축을 체감할 수 있습니다. LightGBM의 가장 큰 장점은 XGBoost보다 학습 시간이 더 짧고, 메모리 소요량도 훨씬 적다는 점입니다. "Light"의 의미가 상대적인 기능 부족 및 예측 성능 부족으로 받아들여질 수 있는데, 절대 그렇지 않습니다. 예측 성능은 XGBoost와 비슷하며 기능은 오히려 LightGBM이 더 풍부합니다. XGBoost와 동일하게 조기 중..

XGBoost는 트리 기반의 앙상블 학습에서 가장 각광받고 있는 알고리즘 중 하나입니다. 압도적인 수치는 아니지만, 분류 태스크에 있어서 일반적으로 다른 머신러닝 알고리즘보다 뛰어난 예측 성능을 보입니다. XGBoost는 GBM에 기반하고 있지만, GBM의 단점인 느린 수행 시간 및 과적합 규제 부재 등의 문제를 어느정도 해결합니다. 특히 병렬 CPU 환경에서 병렬 학습이 가능합니다. 뛰어난 예측 성능 GBM에 비하면 빠른 수행 시간 과적합 규제(Regulalization) 기능 더 이상 긍정 이득이 없는 분할을 가지치기하여 분할 수를 줄이는 Tree pruning 자체 내장된 교차 검증을 통한 조기 중단 기능 결손값 자체 처리 기능 XGBoost의 핵심 라이브러리는 C/C++로 작성되었습니다. XGBo..