여러개의 DT 를 앙상블하는 알고리즘
Algorithm
1) bagging : train set 을 bootstrap (학습데이터 X로부터 N개의 sample 을 복원 추출)
2) Build DT : bagging 한 data set 이용해서 DT를 만드는데, 분류에 사용할 feature 를 random 하게 select 함
전체 feature 가 M 개라고 했을때 , m 개의 feature 를 이용하여 DT를 그림 ( m < M )
* DT 를 pruning (가지치기) 하지 않음
-> 앙상블 과정에서 분산이 줄어들기때문에, unstable 한 DT일수록 앙상블 시 효과가 좋다
3) 여러개의 DT 를 이용해 예측한 결과에 대해 majority vote 를 취한다
Increasing m
good : 많은 feature 를 고려하여 DT 를 생성하므로 각 tree 의 정확도 증가
bad : DT간 correlation 증가
tuning set(validation set)이용해서 적절한 m을 결정할 수 있음
* validation set : train data 의 일부를 모델 성능 검증에 이용하는 것
random forest는 ...
1. 모델 기반 알고리즘이기 때문에 속도가 빠름
2. 적절한 수의 feature 를 random 하게 sampling 하기 때문에 많은 수의 feature 를 처리할 수 있음
3. overfitting 을 방지할 수 있음
4. 실제 문제에서 잘 작동함
추천시스템
item-based | user-based |
user 의 관심/무관심 체크리스트를 보고, item 끼리의 속성을 비교해서 유사 item 추천 | user 와 유사한 사람이 좋아하는 item 추천 |
'School > 머신러닝' 카테고리의 다른 글
Ensemble Learning (0) | 2022.05.04 |
---|---|
의사결정나무(Decision Tree)-1 (0) | 2022.04.16 |
로지스틱 회귀 (0) | 2022.04.12 |
선형분류 (0) | 2022.04.06 |
과적합과 과소적합 (0) | 2022.03.30 |