적응형 재표본추출

R에서 하이퍼파라미터 튜닝

Dr. Shirin Elsinghorst

Senior Data Scientist

적응형 재표본추출이란?

그리드 서치

  • 하이퍼파라미터 조합을 모두 계산합니다.

랜덤 서치

  • 하이퍼파라미터 조합의 무작위 부분집합을 계산합니다.

→ 최적 조합의 평가는 마지막에 수행합니다.

적응형 재표본추출

  • 성능이 좋은 조합 근처의 값으로 하이퍼파라미터 조합을 재표본추출합니다.
  • 따라서 적응형 재표본추출은 더 빠르고 효율적입니다!

"Futility Analysis in the Cross-Validation of Machine Learning Models." Max Kuhn; ARXIV 2014

R에서 하이퍼파라미터 튜닝

caret에서의 적응형 재표본추출

trainControl: method = "adaptive_cv" + search = "random" + adaptive =

  • min: 하이퍼파라미터당 최소 재표본 수

  • alpha: 하이퍼파라미터 제거를 위한 신뢰수준

  • method: 선형모형은 "gls", Bradley–Terry는 "BT"

  • complete: TRUE이면 전체 재표본 세트 생성

fitControl <- trainControl(method = "adaptive_cv",
                             adaptive = list(min = 2, alpha = 0.05, 
                                             method = "gls", complete = TRUE),
                             search = "random")
R에서 하이퍼파라미터 튜닝
  • trainControl() + tuneLength = x
fitControl <- trainControl(method = "adaptive_cv", number = 3, repeats = 3,
                           adaptive = list(min = 2, 
                                           alpha = 0.05, 
                                           method = "gls", 
                                           complete = TRUE),
                             search = "random")

tic() set.seed(42) gbm_model_voters_adaptive <- train(turnout16_2016 ~ ., data = voters_train_data, method = "gbm", trControl = fitControl, verbose = FALSE, tuneLength = 7) toc()
1239.837 sec 경과
R에서 하이퍼파라미터 튜닝

적응형 재표본추출

gbm_model_voters_adaptive
...
Resampling results across tuning parameters:
  shrinkage   interaction.depth  n.minobsinnode  n.trees  Accuracy   Kappa       Resamples
  0.07137493   5                  6              4152     0.9564654  0.02856571  9        
  0.08408739   5                 14               674     0.9547185  0.02098853  4        
  0.28552325   8                 15              3209     0.9568141  0.03024238  3        
  0.33663932  10                 13              2595     0.9571130  0.04250979  9        
  0.54251480   3                 24              3683     0.9482171  0.03568586  2        
  0.56406870   7                 25              4685     0.9549898  0.05284333  5        
  0.58695763   8                 24              1431     0.9520286  0.02742592  2        
Accuracy was used to select the optimal model using the largest value.
The final values used for the model were n.trees = 2595,
interaction.depth = 10, shrinkage = 0.3366393 and n.minobsinnode = 13.
R에서 하이퍼파라미터 튜닝

코딩을 시작해 봅시다!

R에서 하이퍼파라미터 튜닝

Preparing Video For Download...