[머신러닝] 머신러닝 알고리즘 정리

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
  • 메모리 사용량: 선형 모델 < 트리 기반 알고리즘