2025. 7. 1. 17:26ㆍ카테고리 없음
트리 알고리즘
Random Forest

Random Forest Random Forest는 배깅(Bagging)과 랜덤 특성 선택을 결합한 앙상블 기법이다. 작동 원리는 다음과 같다:
- 부트스트랩 샘플링: 원본 데이터에서 복원 추출로 여러 개의 훈련 세트를 생성한다
- 랜덤 특성 선택: 각 노드에서 전체 특성 중 일부만 랜덤하게 선택하여 분할 기준을 결정한다
- 투표 방식: 분류에서는 다수결, 회귀에서는 평균으로 최종 예측을 한다
장점: 과적합 방지 효과가 뛰어나고, 특성 중요도를 제공하며, 결측치가 있어도 비교적 안정적
단점: 개별 트리보다 해석성이 떨어지고, 메모리 사용량이 많다는 점
CatBoost

CatBoost는 Yandex에서 개발한 그래디언트 부스팅 알고리즘으로, 범주형 변수 처리에 특화되어 있다:
- 순서 부스팅: 기존 그래디언트 부스팅의 예측 편향 문제를 해결한다
- 자동 범주형 처리: 원-핫 인코딩 없이 범주형 변수를 직접 처리한다
- 대칭 트리: 균형 잡힌 트리 구조로 일반화 성능을 향상시킨다
범주형 데이터가 많은 실무 환경에서 전처리 부담을 크게 줄여주며, 기본 하이퍼파라미터로도 좋은 성능을 보인다.
XGBoost

XGBoost는 극한 그래디언트 부스팅으로, 성능과 효율성을 모두 추구한다:
- 정규화: L1, L2 정규화를 통한 과적합을 방지한다
- 병렬 처리: CPU 코어를 활용한 빠른 학습을 지원한다
- 결측치 처리: 알고리즘 내부에서 자동으로 결측치 방향을 학습한다
- 조기 종료: 검증 성능 개선이 없으면 학습을 중단한다
Kaggle 등 데이터 과학 경진대회에서 우승 솔루션에 자주 사용되며, 테이블 데이터에서 최고 수준의 성능을 보인다.
LightGBM

Microsoft에서 개발한 그래디언트 부스팅으로, 속도와 메모리 효율성에 중점을 둔다:
- 리프 중심 트리 성장: 기존의 레벨별 성장 대신 손실 감소가 가장 큰 리프를 확장한다
- 히스토그램 기반 알고리즘: 연속형 변수를 구간으로 나누어 메모리 사용량을 감소시킨다
- GOSS: 그래디언트 기반 일방향 샘플링으로 학습 속도를 향상시킨다
- EFB: 상호 배타적 특성 묶음으로 특성 차원을 축소한다
대용량 데이터에서 XGBoost보다 5-10배 빠른 학습 속도를 보이며, GPU 지원으로 더욱 가속화된다.
NGBoost

NGBoost는 기존의 그래디언트 부스팅에 확률적 예측과 자연 그래디언트를 도입하여,
각 예측값이 특정 분포에서 나왔다는 불확실성(uncertainty) 정보까지 함께 제공하는 모델
구성 요소
- Base Learner: 일반적으로 결정 트리나 Ridge 회귀 등 사용
- 분포 모델: 예를 들어 정규분포(Normal)의 경우 평균과 분산을 예측
- Proper Scoring Rule: 로그우도(MLE), CRPS 등으로 분포의 질을 평가
자연 그래디언트를 통해 다중 파라미터 분포를 안정적으로, 효율적으로 학습한다는 게 핵심
장점
- 불확실성(valid uncertainty) 추정: 예측 결과에 대해 신뢰구간 제공
- 분포까지 예측: 평균뿐 아니라 분산, 꼬리구조까지 반영 가능
- 모듈화 구조: 트리, 분포, 손실 함수 조합을 자유롭게 설정 가능
- 경량·효율: 작은 데이터셋에서도 잘 작동, LightGBM/XGBoost보다 불확실성 포함해도 가볍다는 평가
단점
- 보정(calibration) 문제: 일부 경우 신뢰구간이 실제보다 과신 혹은 과소신뢰하는 경향 있음
- 하이퍼파라미터 민감도: 학습률(eta), 분포 선택, 스코어링 규칙 등 튜닝이 필요
- 이론·실용 복잡성: 자연 그래디언트 이해와 구현이 난해할 수 있음
- 성능 한계: 분포 선택이 부적절하거나 데이터 특성과 맞지 않으면 과적합 또는 불확실성 왜곡 가능
선형 알고리즘
Logistic Regression

로지스틱 회귀는 시그모이드 함수를 사용하여 선형 결합을 확률로 변환한다:
- 수식: P(y=1|x) = 1 / (1 + e^(-wx-b))
- 로그 우도: 최대 우도 추정법으로 파라미터를 학습한다
- 정규화: L1(Lasso), L2(Ridge) 정규화로 과적합을 방지한다
의료진단, 마케팅 반응 예측 등에서 확률적 해석이 중요한 경우 널리 사용된다. 계수의 부호와 크기로 각 특성의 영향을 직관적으로 이해할 수 있다.
LDA

LDA는 클래스 간 분산을 최대화하고 클래스 내 분산을 최소화하는 투영 축을 찾는다:
- 피셔 선형판별: 클래스 분리도를 최대화하는 선형 결합을 탐색한다
- 차원 축소: 분류와 동시에 차원 축소 효과를 제공한다
- 가정: 각 클래스가 다변량 정규분포를 따르고, 공통 공분산 행렬을 가진다
얼굴 인식, 문서 분류 등에서 차원 축소와 분류를 동시에 수행할 때 유용하다. 특히 클래스별 데이터가 정규분포를 따를 때 효과적이다.
성능 비교 및 선택 기준
정확도 vs 해석성
- 트리 기반 앙상블(XGBoost, LightGBM)은 높은 정확도를 제공하지만 해석이 어렵다
- 선형 모델은 상대적으로 낮은 성능이지만 명확한 해석이 가능하다
데이터 특성별 적합성
- 범주형 변수가 많으면 CatBoost를 사용한다
- 대용량 데이터는 LightGBM이 적합하다
- 선형 관계가 강하면 Logistic Regression을 사용한다
- 차원 축소가 필요하면 LDA를 선택한다
실무 적용 고려사항
- 모델 배포 복잡도: 선형 모델 < 단일 트리 < 앙상블
- 학습 시간: 선형 모델 < LightGBM < XGBoost < Random Forest
- 메모리 사용량: 선형 모델 < 트리 기반 알고리즘