RBF 核函数

R 中的支持向量机

Kailash Awati

Instructor

RBF 核要点

  • 与两点距离呈递减函数。
  • 模拟 k-NN 算法。
R 中的支持向量机

第 4.3 章 - RBF 核 - 影响力随点间距离的函数

R 中的支持向量机

使用 RBF 核构建 SVM

  • 为复杂数据集构建 RBF 核 SVM
svm_model <- svm(y ~ ., 
                data = trainset, 
                type = "C-classification",
                kernel = "radial")
  • 计算训练/测试准确率,并在训练集上绘图。
pred_train <- predict(svm_model, trainset)
mean(pred_train == trainset$y)
0.93125
pred_test <- predict(svm_model, testset)
mean(pred_test == testset$y)
0.9416667
#plot decision boundary
plot(svm_model, trainset)
R 中的支持向量机

第 4.3 章 - 复杂数据集,默认 RBF 核,使用 svm.plot 绘图

R 中的支持向量机

优化决策边界

  • 使用 tune.svm() 调参 gamma 和 cost
# Tune parameters
tune_out <- tune.svm(x = trainset[,-3],
                     y = trainset[,3],
                     gamma = 5 * 10 ^ (-2:2),
                     cost = c(0.01, 0.1, 1, 10, 100),
                     type = "C-classification",
                     kernel = "radial")
  • 输出最优参数
# Print best values of cost and gamma
tune_out$best.parameters$cost
1
tune_out$best.parameters$gamma
5
R 中的支持向量机

调参后的模型

  • 使用 best.parameters 训练模型
svm_model <- svm(y ~ ., data = trainset, 
              type = "C-classification", 
              kernel = "radial",
              cost = tune_out$best.parameters$cost,
              gamma = tune_out$best.parameters$gamma)
  • 计算测试集准确率
mean(pred_test == testset$y)
0.95
  • 绘制决策边界
plot(svm_model, trainset)
R 中的支持向量机

第 4.3 章 - 复杂数据集,调优后的 RBF 核,使用 svm.plot 绘图

R 中的支持向量机

开始练习!

R 中的支持向量机

Preparing Video For Download...