School/머신러닝

Random Forest 와 추천시스템

응엉잉 2022. 5. 10. 22:06

여러개의 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