티스토리 뷰
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 , 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/
4.
http://machinelearningkorea.com/2019/09/29/lightgbm-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0/
6. 2021 빅데이터 분석기사 필기
'인공지능 > 머신러닝' 카테고리의 다른 글
[Math] 모수 추정 방법론인 최대 우도 추정법 (Maximum Likelihood Estimation)이란? (0) | 2020.06.11 |
---|---|
[ML Algorithm] StratifiedKFold / StratifiedShuffleSplit 차이 (0) | 2020.06.03 |
XAI 기법 종류 (0) | 2020.04.21 |
XAI란? 설명가능한 인공지능 (0) | 2020.04.21 |
머신러닝 - 베이즈 통계학 (0) | 2020.03.17 |