Dostrajanie SVM

Maszyny wektorów nośnych w R

Kailash Awati

Instructor

Cel dostrajania

  • Ręczne znajdowanie optymalnych parametrów dla złożonych jąder jest trudne.
  • Cel: znalezienie optymalnego zestawu parametrów za pomocą funkcji tune.svm().
Maszyny wektorów nośnych w R

Dostrajanie w skrócie

  • Zasada działania:
    • określenie zakresu wartości dla każdego parametru. Przykłady: cost = 10^(-1:3), gamma = c(0.1,1,10), coef0 = c(0.1,1,10)
    • Budowanie modelu SVM dla każdej kombinacji wartości parametrów i ocena dokładności.
    • Zwrócenie kombinacji parametrów o najlepszej dokładności.
  • Procedura wymagająca dużej mocy obliczeniowej!
Maszyny wektorów nośnych w R
  • Dostrajanie modelu SVM dla radialnie separowalnego zbioru danych
    • W poprzedniej lekcji zbudowano SVM z jądrem wielomianowym
    • Dokładność SVM wyniosła ~94%.
  • Czy można uzyskać lepszy wynik, dostrajając gamma, cost i coef0?
tune_out <- tune.svm(x = trainset[,-3], y = trainset[,3], 
                     type = "C-classification", kernel = "polynomial", degree = 2,
                     cost = 10^(-1:2), gamma = c(0.1,1,10), coef0 = c(0.1,1,10))

#print out tuned parameters tune_out$best.parameters$cost tune_out$best.parameters$gamma tune_out$best.parameters$coef0
0.1
10
1
Maszyny wektorów nośnych w R
  • Budowanie modelu SVM z użyciem najlepszych wartości parametrów z tune.svm().
svm_model <- svm(y ~ ., data = trainset, type = "C-classification", kernel = "polynomial", degree = 2,
        cost = tune_out$best.parameters$cost,
        gamma = tune_out$best.parameters$gamma,
        coef0 = tune_out$best.parameters$coef0)
  • ocena dokładności na zbiorze treningowym i testowym
pred_train <- predict(svm_model, trainset)
mean(pred_train == trainset$y)
pred_test <- predict(svm_model, testset)
mean(pred_test == testset$y)
1

0.9677419
#plot using svm plot
plot(svm_model, trainset)
Maszyny wektorów nośnych w R

Rozdział 3.4 – radialnie separowalny zbiór danych, dostrojone jądro kwadratowe, wykres z svm.plot

Maszyny wektorów nośnych w R

Czas na ćwiczenia!

Maszyny wektorów nośnych w R

Preparing Video For Download...