일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ML
- eVTOL
- RF
- bagging
- Random subspace method
- keras
- 환경구축
- 도심항공교통
- Différence
- UAM
- 랜덤 포레스트
- random forest
- Python
- LSTM
- reward
- Urban Air Mobility
- compensate
- indemnity
- OpenCV
- Attribute bagging
- RSM
- reimburse
- Feature bagging
- Today
- Total
빙글빙글 머학원생 일상
Random Forest 랜덤 포레스트 정의와 기능 본문
1. Random forest 등장 배경
2. Random forest 구조 및 원리
3. 주요 하이퍼파라미터
4. 기능 및 특징
5. 코드 구현(미완성)
1. RF(Random Forest) 등장 배경
- Breiman[1]에 의해 제안된 다중 의사결정나무(Decision Tree)를 활용한 기계학습 알고리즘임
- 단일 의사결정나무의 경우 모든 피처를 변수로 사용하기 때문에 더 큰 조정(adjustment) 및 편향(bias)dl 발생하는 문제가 있어 성능을 개선하기 위해 제안된 강력한 기계학습 기법임[7]
- RF는 기존 1) Bagging(Bootstrap Aggregating)[2]의 이점을 살리고 2) Random subspace methods(=Attribute bagging)[3]을 추가함으로써 개별 트리간 상관성을 줄여 예측력을 향상시킨 앙상블(Ensemble) 기법
1) Bagging
- 정의: Bootstrap[12] sampling을 이용하여 여러 개의 training data를 생성하고 각 데이터마다 개별 DT모델을 구축해 주어진 하나의 데이터로 학습된 예측모형보다 성능이 향상된 모형을 만들 수 있는 앙상블 기법
- 특징
- 편향(Bias)은 유지하면서 분산(Variance)을 줄여 모델의 성능을 향상시킬 수 있어 학습데이터의 이상치에 큰 영향을 받지 않음
- 별도의 검증데이터(Validation Set) 없이 Out of Bag 데이터($x,(x\in L, x\notin L_b)$, 전체 데이터셋의 약 1/3에 해당)를 Hyper Parameter 최적화나 성능 검증에 활용할 수 있음
* Bagging 알고리즘
(1) 학습데이터($L={(x_i,y_i)|i=1,...,n}$), 기본 학습모델($ϕ$), Bootstrap sample 개수($B$) 설정
(2) $b = 1,...,B$에 대해 a ~ c 반복
a. Bootstrap sampling을 통해 Bootstrap sample 데이터셋($L_b$) 생성
b. $L_b$를 이용해 모형($\phi(x,L_b)$)학습
c. Out of bag 데이터($O_b$)를 이용해 성능지표($e_b$) 계산
(3) Bagging은 각 셋에 대해 학습한 모형($ϕ(x, L_b), (b=1,…,B)$)을 얻게 되고 각 모형의 결과를 집계(Aggregation)하여 최종 Bagging 모형($ϕ_B(x)$)을 도출함[23]
- 회귀 문제의 경우 Aggregation으로 평균값을 주로 사용함
$$\phi _B(x)=\frac{1}{B}\sum_{b=1}^{B}\phi (x,L_b)$$
- 분류 문제의 경우 Aggregation으로 최빈값을 주로 사용함
$$\phi _B(x)=Mode \phi (x,L_b)$$
(동률의 클래스가 여러 개 도출될 경우 임의로 라벨 번호가 작은 클래스를 선정함)
(4) 모형 성능지표 계산
$$\overline{e}=\frac{1}{B}\sum_{b=1}^{B}e_b$$
2) RSM, Random subspace method(= Feature bagging, attribute bagging)
- RSM은 bagging과 유사하게 bootstrap 샘플 데이터셋을 이용해 여러 개의 개별 트리를 만들지만, DT 구축 시 변수(feature)를 무작위로 선택(랜덤 복원 추출)한다는 점에서 차이가 있음
- 일반 DT의 경우 분기(branch)를 나눌 때 모든 변수를 고려하지만, RSM은 DT의 분기점(Node)을 탐색할 때 원래의 변수 개수보다 적은 수의 변수를 random 선택해 임의의 변수만을 가지고 branching하기 때문에 각각의 DT가 독립적으로 형성되게 함
- 앙상블 기법에 활용된 각 classifiers(estimators) 간의 상관관계(correlation)를 낮추는 역할을 함[6]
- 개별 트리 사이 상관성이 작아지면 RF의 일반화 오류(generalized error)가 작아져 예측력이 향상됨[4]
2. Random forest 구조 및 원리[1,17]
1) RF 기본 알고리즘
- Bootstrap sample을 훈련 데이터에서 추출하는 것을 반복해 다수의 DT(=bootstrap sample)를 생성함
- 각 bootstrap sample에 대해 트리를 구성하며, DT가 분지(branching)할 때마다 변수를 무작위로 m개 선정함
- RF는 개별 트리를 생성할 때 분기마다 랜덤으로 변수 후보를 선택하고 이를 통해 개별 트리간 상관성을 줄임
- 각 트리는 출력값에 투표를 진행하여 모든 트리의 결과를 투표(voting)해 최종 결과값을 채택함
(일반적으로 분류문제는 최빈값(다수결), 회귀문제는 평균값 사용 [14]) – 수식- 결과값을 평균화함으로써 모델은 overfitting을 줄이고 데이터에서 비선형 관계를 산출함
2) Variable Importance
- RF는 회귀모델과 달리 개별 변수가 통계적으로 얼마나 유의한지 알 수 없기 때문에 Out of bag(OOB)를 이용하여 모델의 변수 중요도를 측정할 수 있음
1) 개별 DT에 대해 Out of bag(OOB) data에 대한 예측값을 구하고 Error를 계산함
2) 개별 DT의 OOB data에 대해 각 변수마다 자신을 제외한 나머지 변수는 그대로 두고, 해당 변수의 값만 무작위로 바꿔 넣어서 예측값을 구함
3) 1), 2)의 OOB Error 차이가 각 변수의 중요도
3) 일반화 오류(Generalization error)
- 개별 분류기들의 strength와 그들간의 상관관계를 이용해 generalization error의 upper bound를 구할 수 있음
- RF는 tree 수가 충분히 많을 때 Strong law of large numbers에 의해 과적합되지 않고 그 에러는 limiting value에 수렴됨
$$Generalization error \leq \frac{var(mr)}{s^2}\leq \frac{\overline{\rho }(1-s^2)}{s^2}=\frac{\overline{\rho}}{s^2}-1 \rightarrow Upper bound of generalization error$$
$\overline{\rho}$: Decision tree 사이 평균 상관관계
$s$: 올바르게 예측한 tree와 잘못 예측한 tree 수 차이 평균
- Generalization error의 최대값(limiting value)이 작을수록 RF의 성능이 높아짐
- 개별 tree의 정확도가 높을수록 $s$값 증가
- Bagging, RSM은 각 모델들의 독립성, 일반화, 무작위성을 최대화시켜 모델간 상관관계($\rho$) 감소
(참고: https://rpubs.com/stoney/579763)
RPubs - RF
rpubs.com
3. Random forest 주요 하이퍼파라미터(Hyper parameter)
파라미터명 | default | 설명 |
N_estimators | 100 | - RF 내 base모델(DT) 개수 - 결정 트리가 많을수록 더 깔끔한 Decision boundary를 얻을 수 있으나 메모리와 훈련시간이 증가함 |
Max_features | Auto | - RSM 과정에서 DT를 독립적으로 만들기 위해 무작위로 선택할 변수(feature) 개수 - 값이 클수록 RF 내 트리들이 서로 비슷해지고, 가장 두드러진 특성에 맞게 예측함 - 값이 작을수록 RF 내 트리들이 서로 달라지며 overfitting이 줄어듦 - Auto(=sqrt): max_features = sqrt(n_features) - log2: max_features = log2(n_features) - None: max_features = n_features |
criterion | gini | - 분할 품질을 측정하는 기능 (default : gini) - Gini, entropy 등 |
Bootstrap | True | - 부트스트랩(중복허용 샘플링) 사용 여부 - True면 전체 feature에서 복원추출해서 트리 생성 |
Max_depth | - 트리의 깊이 | |
Min_samples_leaf | 1 | - 리프 노드에 있어야할 최소 샘플 수 (default: 1) |
Min_samples_spllit | 2 | - 내부 노드를 분할하는데 필요한 최소 샘플 수 (default: 2) |
Max_leaf_nodes | - 리프 노드의 최대 수 | |
min_weight_fraction_leaf | - min_sample_leaf와 같지만 가중치가 부여된 샘플 수에서의 비율 | |
min_impurity_decrease | - 최소 불순도 | |
Min_impurity_split | - 나무 성장을 멈추기 위한 임계치 | |
oob_score | True | - 일반화 정확도를 줄이기 위해 OOB데이터 사용 여부 |
4. 기능 및 특징
- RF는 강력하고 유연하며 널리 사용되는 기계 학습 알고리즘으로 범주형 및 연속형 변수를 모두 처리할 수 있고 특히 복잡한 고차원 데이터 학습에 강력한 성능을 보임
- 분류, 회귀, 중요변수선택 등 다양한 문제에 활용됨[4-16]
- 임의 알고리즘으로 하위 집합에서 훈련 데이터를 무작위로 받고 트리를 형성하는 구조로 인해 다른 기계학습 알고리즘보다 강력한 성능을 보임 [13]
- 장점 및 단점
장점 | - Classification(분류) 및 Regression(회귀) 문제에 모두 사용 가능 - 각 DT의 결과값을 평균내서 결과를 도출하기 때문에 Missing value(결측치), 이상치에 강함 - 복잡하고 대용량 데이터 처리에 매우 효율적임[17] - 모델의 노이즈를 심화시키는 Overfitting 문제를 회피하여, 모델 정확도를 향상시킴[20] - Classification 모델에서 상대적으로 중요한 변수를 선정 및 Ranking 가능 |
단점 | - black box 특성을 가져 모형의 해석이 어려움[12] - 다른 앙상블에 비해 유연하지 않음 - 계산량이 많고 학습에 소요되는 시간이 단일 DT에 비해 많음 |
5. 관련 연구
- RF는 회귀 및 분류 문제 모두에서 좋은 성능을 보이며 다양한 분야에서 사용됨
저자 | 활용모델 | 결과 요약 |
[4] | RF | - 전세계 190개국의 COVID-19 일일확진자 수를 RF 방법으로 추정하고 실제 데이터와 비교함 - RF는 가까운 미래의 확진자 수 추정에 높은 성능을 보임 |
[5] | LR, ANN, XGBoost, RF |
- 캐나다 온타리오주 COVID-19 환자 데이터 기반 사망률을 LR(Linear Regression), ANN(Artificial Neural Network), XGBoost, RF 모델으로 추정하고 중요도가 높은 변수를 제시함 - 4가지 모형 모두 높은 예측 성능을 보임 |
[6] | RF | - RF 머신러닝 기법을 사용해 이란 및 다른 국가의 COVID-19로 인한 사망 추세를 예측하고 비교함 - LASSO MLT을 사용한 변수 중요도 분석 결과 버스정류장까지의 거리, 베이커리, 병원, ATM, 최저온도 등으로 도출됨 |
[8] | RBDT, BRT, CART, RF |
- RBDT(Rule-Based Decision Tree), BRT(Boosted Regression Trees), CART(Classification And Regression Tree), RF 총 4개의 tree기반 모델을 지반 침하위험 공간 예측에 적용한 결과 RF가 가장 높은 성능을 보임 |
[9] | RF, RT | - RF, RT(Regression Tree)를 활용해 인공강우 확률 계산 |
[10] | RF | - Geodatabase 구축 단계에서 토지 피복 분류에 RF 알고리즘 활용 |
[15] | RF, DNN | - 호주 유방암 환자 데이터를 기반으로 재발 확률을 RF, DNN(Deep Neural Network)으로 각각 예측한 결과 RF 기법이 기존 연구에 비해 가장 높은 정확도를 달성함 |
[16] | RF, MLR | - 유럽 화재건수 시계열 데이터 기반 화재발생 가능성을 RF, MLR(Multiple Linear Regression)으로 분석한 결과 RF 모델이 MLR 모델보다 높은 예측 성능을 보임 |
References
[1] Breiman, L. (2001). Random forests. Machine learning, 45, 5-32.
[2] Breiman, L. (1996). Bagging predictors. Machine learning, 24, 123-140.
[9] Jeung, M., Baek, S., Beom, J., Cho, K. H., Her, Y., & Yoon, K. (2019). Evaluation of random forest and regression tree methods for estimation of mass first flush ratio in urban catchments. Journal of Hydrology, 575, 1099-1110.
[10] Izquierdo-Verdiguier, E., & Zurita-Milla, R. (2020). An evaluation of Guided Regularized Random Forest for classification and regression tasks in remote sensing. International Journal of Applied Earth Observation and Geoinformation, 88, 102051.
[11] Kontschieder, P., Bulo, S. R., Bischof, H., & Pelillo, M. (2011, November). Structured class-labels in random forests for semantic image labelling. In 2011 international conference on computer vision (pp. 2190-2197). IEEE.
[12] Efron, B., & Tibshirani, R. J. (1994). An introduction to the bootstrap. CRC press.
[14] Criminisi, A., Shotton, J., & Konukoglu, E. (2012). Decision forests: A unified framework for classification, regression, density estimation, manifold learning and semi-supervised learning. Foundations and trends® in computer graphics and vision, 7(2–3), 81-227.
[15] Al-Quraishi, T., Abawajy, J. H., Chowdhury, M. U., Rajasegarar, S., & Abdalrada, A. S. (2018). Breast cancer recurrence prediction using random forest model. In Recent Advances on Soft Computing and Data Mining: Proceedings of the Third International Conference on Soft Computing and Data Mining (SCDM 2018), Johor, Malaysia, February 06-07, 2018 (pp. 318-329). Springer International Publishing.
[16] Oliveira, S., Oehler, F., San-Miguel-Ayanz, J., Camia, A., & Pereira, J. M. (2012). Modeling spatial patterns of fire occurrence in Mediterranean Europe using Multiple Regression and Random Forest. Forest Ecology and Management, 275, 117-129.
[17] Cutler, A., Cutler, D. R., & Stevens, J. R. (2012). Random forests. Ensemble machine learning: Methods and applications, 157-175.
사이트 참고: https://rpubs.com/stoney/579763
RPubs - RF
rpubs.com
'AI, ML' 카테고리의 다른 글
LSTM(Long Short Term Memory) (0) | 2023.02.22 |
---|---|
[Python-OpenCV, YOLO] pip install cv2 에러, pip/아나콘다 가상환경 내 OpenCV 설치 (0) | 2023.01.09 |