Налаштування SVM

Support Vector Machines в R

Kailash Awati

Instructor

Мета налаштування

  • Важко вручну підібрати оптимальні параметри для складних ядер.
  • Мета: знайти оптимальний набір параметрів за допомогою функції tune.svm().
Support Vector Machines в R

Налаштування стисло

  • Як це працює:
    • задайте діапазон пошуку для кожного параметра. Приклади: cost = 10^(-1:3), gamma = c(0.1,1,10), coef0 = c(0.1,1,10)
    • Побудуйте модель SVM для кожної комбінації параметрів і оцініть точність.
    • Поверніть комбінацію параметрів із найвищою точністю.
  • Обчислювально затратна процедура!
Support Vector Machines в R
  • Налаштуйте модель SVM для радіально відокремлюваного набору даних, створеного раніше
    • У попередньому уроці побудували SVM із поліноміальним ядром
    • Точність SVM була ~94%.
  • Чи можна покращити, налаштувавши gamma, cost і 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
Support Vector Machines в R
  • Побудуйте модель SVM, використовуючи найкращі параметри з 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)
  • оцініть точність на тренувальних і тестових даних
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)
Support Vector Machines в R

Розділ 3.4 — радіально відокремлюваний набір даних, налаштоване квадратичне ядро, графік через svm.plot

Support Vector Machines в R

Час практики!

Support Vector Machines в R

Preparing Video For Download...