운동하는 공대생

LightGBM Theory 본문

Machine Learning

LightGBM Theory

운동하는 공대생 2022. 9. 22. 13:32
728x90
반응형

1.Intro

Xgboost는 최근 까지도 매우 각광받는 부스팅 알고리즘 방식이다. 하지만 여전히 많은 학습 시간을 필요로 한다. 그래서 조금 더 성능을 좋가 하기 위해서 LightGBM 알고리즘이 나왔다. 먼저 가장 비교되는 큰 장점은 학습 시간이 훨씬 적다 는 점이다. 또한 사용하는 메모리 양도 적다. 그러면서 Xgboost와 성능 차이도 많이 나지 않는다.

2. LightGBM

LightGBM은 일반적인 균형 트리 분할(Level Wise) 방식과는 차이를 가지고 있다.

여기서는 리프 중심 트리 분할(Leaf Wise) 방식을 사용한다.

균형 트리 분할방식은 오버피팅을 줄여주는 효과적인 방식이지만 시간이 많이 걸리는 단점이 있다. 그 이유는 균형을 유지하면서 분할을 하므로 균형을 맞춰주는 시간을 반드시 필요로 한다. (추가 설명)

리프 중심 트리로 분할을 한다면 균형 트리보다 학습이 진행디 될수록 손실값이 더욱 적어지는 현상이 일어나서 예측 오류를 최소화가 가능하다.

3. LightGBM 하이퍼 파라미터

-주요 파라미터

num_iterations (default =100): 반복 수행하려는 트리의 개수. 너무 크기를 크게 지정하면 오히려 과적합이 발생하여 성능을 저하시킨다.  
learning_rate(default = 0.1): 0에서 1사이로 지정하여 부스팅 스텝을 반복적으로 수행할 때 업데이트되는 학습 확률 값이다.  
max_depth(default = -1): 트리구조의 최대 깊이 -1 값은 깊이 제한이 없다.  
boosting(default= gbdt): gbdt=그리디안 부스팅 결정 트리 , rf: 랜덤 포레스트  
min_data_in_leaf(default=20): 최소한 필요한 레코드 수를 지정  
num_leaves(defaultl=31): 하나의 트리가 가질 수 있는 최대 리프 개수  

3.1 하이퍼 파라미터 튜닝 방안

  • num_leaves
    모델의 복잡도를 제어하는 주요 파라미터이다. 값을 높게하면 정확도가 높아 지지만 너무 깊어지면 과적합 문제도 발생한다.
  • min_data_in_leaf
    이 파라미터는 과적합을 개선하기 위해서 필요한 파라미터로 값을 크게 하면 트리가 깊어지는 것을 방지한다.
  • max_depth
    명시적으로 깊이를 제한하여서 위의 두 파라미터와 같이 과적합을 개선을 한다.

4. 추가 설명

○ 균형을 맞춰주는 재구성 작업(Rebalancing, 리밸런싱)

  • 균형이 깨진 노드의 BF가 ' + ' 이면 왼쪽 서브 트리에 문제가 있는 것이다.
  • 균형이 깨진 노드의 BF가 ' - ' 이면 오른쪽 서브 트리에 문제가 있는 것이다.
    • AVL트리는 삽입&삭제 후에 BF를 확인하여 '회전 연산'을 한다.

○ LL 회전

  • 문제 구간 중 상위 구간을 오른쪽(시계 방향)으로 회전 시킨다.

○ RR 회전

  • 문제 구간 중 상위 구간을 왼쪽(반시계 방향)으로 회전 시킨다.

○ LR 회전

  • 문제 구간 중 하위 구간을 1차로 RR 회전을 시켜서 LL유형으로 변환한 다음 LL회전을 적용한다.

○ RL 회전

  • 문제 구간 중 하위 구간을 1차로 LL 회전을 시켜서 RR유형으로 변환한 다음 RR회전을 적용한다.

728x90
반응형

'Machine Learning' 카테고리의 다른 글

MLOps 이란?  (0) 2022.10.26
Synthetic Data(합성 데이터)  (0) 2022.10.14
XGBoost Theory  (0) 2022.08.20
Time Series Analysis(시계열 분석)  (0) 2022.08.18
K-Mean Clustering ( K- 평균 군집화)  (0) 2022.08.16
Comments