Tôi đang cố gắng để hiểu quá trình đào tạo một máy vectơ hỗ trợ tuyến tính . Tôi nhận ra rằng các thuộc tính của SMV cho phép chúng được tối ưu hóa nhanh hơn nhiều so với sử dụng bộ giải lập trình bậc hai, nhưng với mục đích học tập, tôi muốn xem cách thức hoạt động của nó.
Dữ liệu đào tạo
set.seed(2015)
df <- data.frame(X1=c(rnorm(5), rnorm(5)+5), X2=c(rnorm(5), rnorm(5)+3), Y=c(rep(1,5), rep(-1, 5)))
df
X1 X2 Y
1 -1.5454484 0.50127 1
2 -0.5283932 -0.80316 1
3 -1.0867588 0.63644 1
4 -0.0001115 1.14290 1
5 0.3889538 0.06119 1
6 5.5326313 3.68034 -1
7 3.1624283 2.71982 -1
8 5.6505985 3.18633 -1
9 4.3757546 1.78240 -1
10 5.8915550 1.66511 -1
library(ggplot2)
ggplot(df, aes(x=X1, y=X2, color=as.factor(Y)))+geom_point()
Tìm siêu phẳng ký quỹ tối đa
Theo bài viết trên Wikipedia về SVM này , để tìm siêu phẳng lề tối đa tôi cần phải giải quyết
yi(w⋅xi-b)≥1.
Làm cách nào để tôi 'cắm' dữ liệu mẫu của mình vào bộ giải QP trong R (ví dụ quadprog ) để xác định ?
R
? v.v.