티스토리 뷰

1. Tree Model 

트리모델? 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내 트리 기반의 규칙을 만드는 것

데이텅를 적절한 분류 기준값에 따라 몇개의 소집단으로 나누는 과정

데이터를 어떤 기준을 바탕으로 분류 기준값을 정의하는지가 알고리즘의 성능에 큰 영향을 미침 

 

정지규칙? 더이상 트리의 분리가 일어나지 않게 하는 규칙

가지치기? 불필요한 가지를 제거하는 것, 나무의 크기가 곧 모형의 복잡도, 모형이 너무 복잡할 경우 과적합 발생할 수 있고 적절한 규칙을 발견하기가 힘듬, 검증용 데이터를 활용해 예측 정확도 산출 , 타당성 검토 필요 

 

2. Tree Model 장단점 

<장점> 

1. 이상치와 노이즈에 큰 영향을 받지 않음

2. 순서, 연속형 변수는 단지 순위만 영향 = 이상치에 민감하지 않음

3. 비 모수적 모형-> 선형성, 정규성, 등분산성 가정이 필요

4. 모델의 해석력이 높음

 

<단점> 

1. 과적합 가능성 있음

2. 각 변수의 영향령을 파악하기 힘듬

3. 분류 기준값의 경계선 부근의 자료 값에 대해서는 오차가 클 수 있음

4. 모형이 너무 복잡한 경우 예측 정확도 떨어짐 

 

 

 

3. Tree Model 불순도 측정 방법 (의사결정트리알고리즘) 

y=f(x,y) 

이상형 종속변수 연속형 종속변수
CHAID(다지분할) 카이제곱통계량 ANOVA F-통계량
CART(이진분할) 지니 지수 분산감소량
C4.5 엔트로피 지수

 

1. 종속 변수(y)가 이산형인경우

* CHAID(Chi-square Automatic Interaction Detector) 

  - 분류기준? 카이제곱통계량

  - 분류한 두 노드가 유의미한 차이가 있다는 것을 증명하기 위해서는 분기 후 두개의 노드 A,B가 동질적이라는 귀무 가설을 기각해야함 , 카이 제곱 통계량의 p-value가 가장 작아지는 방향으로 가지분할 수행하기 

 

* CART(Classification And Regression Trees)

  - 분류기준? 지니지수

  - 지니지수가 작을수록 불순도가 낮다는 뜻, 값이 작아지는 방향으로 가지 분할 수행

  - 전체 데이터 셋을 갖고 시작하여 반복하여 두개의  Child Node 생성하여 모든 예측 변수 사용

  - 1984년 Brieman et. al 이 CART 기법을 발표

 

* C4.5 

  - 분류기준? 엔트로피 지수

  - 엔트로피 지수가 작을 수록 불순도가 낮다는 뜻으로 이 값이 작아지는 방향으로 가지분할 수행

  - wikipedia C4.5 Algorithm 

 

 

 

 

 

2. 종속변수(y)가 연속형인경우 

* CHAID(Chi-square Automatic Interaction Detector) 

  - 분류기준? ANOVA F 통계량?

  - F 통계량의 p-value가 작아지는 방향으로 가지 분할 수행 

 

* CART(Classification And Regression Trees) 

  - 분류기준? 분산 감소량

  - 분산의 감소량이 커지는 방향으로 가지 분할 수행, 분산의 감소량이 커지면 분산은 감소 

 

 

 

 

 

 

4. Tree Model 종류

(1) Decision Model 정리 -> rosypark.tistory.com/56?category=726150

(2) Random Forest 

(3) Gradient Boosting Model

(4) XGBoost

(5) LightGBM 

(6) CatBoost ... 

 

 

 

트리 선택?할때 독립적으로 만들어져야함으로 각 트리가 고유하게 만들어지도록 무작위한 설계 

- 트리를 만들기 위해서 데이터의 부트스트랩샘플(bootstrap sample )추가 

- n_samples개의 데이터 포인트중에서 무작위로 n_samples 횟수만큼 반복 추출 

- Bagging = Bootstrap aggregating 

즉! 표본으로부터 많은 횟수에 걸쳐 동일한 갯수의 샘플을 복원 추출한 후 각 샘플들에 대한 분포를 구하기 

 

 

<XGBoost , Light GBM 차이> 

 

xgboost

 

 

Light GBM

 

 

 

 

 

XGBoost , LGBM Parameter 

  • learning_rate : 트리모델 
  • n_estimators
    • weakk learner의 개수 , weak learner가 순차적으로 오류를 보정하므로 개수가 많을수록 예측 성능이 일정수준까지 좋아질 수 있음. 개수가 많을수록 수행시간이 오래걸림
    • 앙상블에 트리가 더 많이 추가되어 모델의 복잡도카 커짐
  • num_leaves 
    • 나무에 형성될 잎 수를 설정하는데 사용
    • num_leaves와 max_depth의 관계? num_leaves = 2^(max_depth)
    • lightgbm의 경우 num_leaves와 max_depth와 관계는 없음
    • 값을 높게 설정하면 정확도가 높아진다 - > 그 의미는 overfitting이 일어날 수 있
  •  max_bin 
  • subsample : weak learner가 학습에 사용되는 데이터 샘플링 비율 , 기본값 1 -> 전체 학습 데이터를 기반으로 학습한다는 의미 
  • max_depth : 트리의 최대 깊이를 규정
  • max_leaf_nodes : 말단 노드의 최대 갯수  
  • sub_sample = 트리가 커져서 과적합 되는 것을 제어하기 위해 데이터를 샘플링하는 비율
    • sub_sample = 0.5로 지정하면 전체 데이터의 절반을 트리를 생성하는데 사용 
  • alpha : L1 Regularation 적용값, 피처개수가 많을 수록 적용을 검토하여 값이 클수록 과적합 감소 효과가 있음
  • lambda : L2 Regularation 적용값, 피처개수가 많을수록 적용을 검토하여 과적합 감소효과가 있음 
  • min_samples_split :노드를 분할하기 위한 최소한의 샘플 데이터 수로 과적합을 제어하는데 사용
    • default = 2, 작게 설정할수록 분할되는 노드가 많아져서 과적합 가능성 증가
    • 과적합을 제어, 1로 설정할 경우 분할되는 노드 많아져서 과적합 가능성 증가 
  • mean_samples_leaf 
  • min_samples_leaf : 말단 노드가 되기 위한 최소한의 샘플 데이터수
  • max_features : 최적의 분할을 위해 고려할 최대 피처 갯

 

 

 

출처)

1. 

 

2. https://mlexplained.com/2018/01/05/lightgbm-and-xgboost-explained/ 

 

3. https://www.analyticsvidhya.com/blog/2017/06/which-algorithm-takes-the-crown-light-gbm-vs-xgboost/

 

Light GBM vs XGBOOST: Which algorithm takes the crown

A comparison between LightGBM and XGBoost algorithms in machine learning. XGBoost works on lead based splitting of decision tree & is faster, parallel

www.analyticsvidhya.com

4. 

http://machinelearningkorea.com/2019/09/29/lightgbm-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/

 

lightGBM / XGBoost 파라미터 설명 – Go Lab

lightGBM에는 무수히 많은 파라미터가 있다. 다만 기억할것은 정답이 없다는것이다. 생각보다 하이퍼파라미터 튜닝에 시간을 많이 쏟지는 않는 이유는, 어차피 ensemble형식이기 때문에 구조자체가 파라미터에 맞게 큰그림에서는 맞춰질것이라, 그다지 정확도면에서 차이가 없을수 있다. lightGBM / XGBoost 파라미터 이름순으로 정렬했다. 파라미터가 너무 많아서 어떤 파라미터를 만져야 하는지 우선순위가 있어야 해서 아래처럼 표기했다. 언급되지 않는

machinelearningkorea.com

5.https://tensorflow.blog/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/2-3-6-%EA%B2%B0%EC%A0%95-%ED%8A%B8%EB%A6%AC%EC%9D%98-%EC%95%99%EC%83%81%EB%B8%94/

 

2.3.6 결정 트리의 앙상블

2.3.5 결정 트리 | 목차 | 2.3.7 커널 서포트 벡터 머신 – 앙상블ensemble은 여러 머신러닝 모델을 연결하여 더 강력한 모델을 만드는 기법입니다. 머신러닝에는 이런 종류의 모델이 많지만, 그중 두 앙상블 모델이 분류와 회귀 문제의 다양한 데이터셋에서 효과적이라고 입증되었습니다. 랜덤 포레스트random forest와 그래디언…

tensorflow.blog

6. 2021 빅데이터 분석기사 필기

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함