İstatistiksel Öğrenme Elemanları HASTIE vd. Dan, destek vektör sınıflandırıcılara ve SVM'ler üzerinde tam bir bölüm vardır (senin durumunda, 2. baskı sayfayı 418 başlatın). Bir diğer iyi öğretici, David Meyer tarafından R'de Destek Vektör Makineleri .
Sorunuzu yanlış anlamadığım sürece, karar sınırı (veya hiper düzlem) ( ‖ β ‖ = 1 ve β 0 kesme noktası ile) ile tanımlanır veya @ebony'nin destek vektörleri. Kenar daha sonra 2 / ‖ β ‖ aşağıdaki Hastie ve diğ. notları.xTβ+ β0= 0∥ β∥ = 1β02 / ∥ β∥
On-line yardım itibaren ksvm()
de kernlab R paketinde, aynı zamanda bakınız kernlab - R Çekirdek Yöntemleri için bir S4 Paketi , burada bir oyuncak örneği:
set.seed(101)
x <- rbind(matrix(rnorm(120),,2),matrix(rnorm(120,mean=3),,2))
y <- matrix(c(rep(1,60),rep(-1,60)))
svp <- ksvm(x,y,type="C-svc")
plot(svp,data=x)
Anlaşılır olması için, tren ve test örneklerini dikkate almadığımızı unutmayın. Sonuçlar aşağıda gösterilmiştir; burada renk gölgelemesi, takılan karar değerlerinin görselleştirilmesine yardımcı olur; 0 civarındaki değerler karar sınırındadır.
Arama attributes(svp)
, erişebileceğiniz nitelikler verir, ör.
alpha(svp) # support vectors whose indices may be
# found with alphaindex(svp)
b(svp) # (negative) intercept
Dolayısıyla, karar sınırını, karşılık gelen marjı ile göstermek için, bir süre önce Jean-Philippe Vert tarafından yapılan SVM'deki bir öğreticiden esinlenilen aşağıdakileri (yeniden ölçeklendirilmiş alanda) deneyelim :
plot(scale(x), col=y+2, pch=y+2, xlab="", ylab="")
w <- colSums(coef(svp)[[1]] * x[unlist(alphaindex(svp)),])
b <- b(svp)
abline(b/w[1],-w[2]/w[1])
abline((b+1)/w[1],-w[2]/w[1],lty=2)
abline((b-1)/w[1],-w[2]/w[1],lty=2)
Ve işte burada: