Estoy tratando de entender el proceso para entrenar una máquina de vectores de soporte lineal . Me doy cuenta de que las propiedades de los SMV permiten que se optimicen mucho más rápido que mediante el uso de un solucionador de programación cuadrática, pero con fines de aprendizaje, me gustaría ver cómo funciona esto.
Datos de entrenamiento
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()
Encontrar el hiperplano de margen máximo
De acuerdo con este artículo de Wikipedia sobre SVM , para encontrar el hiperplano de margen máximo que necesito resolver
¿Cómo 'conecto' mis datos de muestra a un solucionador de QP en R (por ejemplo, quadprog ) para determinar ?
R
? etc.