Pattern Recognition 2018 Support Vector Machines
Ad Feelders
Universiteit Utrecht
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 1 / 48
Pattern Recognition 2018 Support Vector Machines Ad Feelders - - PowerPoint PPT Presentation
Pattern Recognition 2018 Support Vector Machines Ad Feelders Universiteit Utrecht Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 1 / 48 Support Vector Machines Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 2 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 1 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 2 / 48
1 Separable Case 2 Kernel Functions 3 Allowing Errors (Soft Margin) 4 SVM’s in R. Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 3 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 4 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 5 / 48
1 y(xn) > 0 for tn = +1; 2 y(xn) < 0 for tn = −1;
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 6 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 7 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 8 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 9 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 10 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 11 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 12 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 13 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 14 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 15 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 16 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 17 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 18 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 19 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 20 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 21 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 22 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 23 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 24 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 25 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 26 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 27 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 28 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 29 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 30 / 48
1 gi(x) ≥ 0 2 λi ≥ 0 3 λigi(x) = 0 Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 31 / 48
1 an = 0, or 2 tny(xn) = 1.
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 32 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 33 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 34 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 35 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 36 / 48
N
mxn = 1 + 1 8[4 4]
8[4 4]
4[4 4]
N
8[5 2]
8[5 2]
4[5 2]
2
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 37 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 38 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 39 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 40 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 41 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 42 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 43 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 44 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 45 / 48
# SVM with radial kernel and gamma=1/62 and cost=1 (default settings) > optdigits.svm <- svm(optdigits.train[, -c(1, 40,65)],optdigits.train[,65]) # make predictions on test set > svm.pred <- predict(optdigits.svm,optdigits.test[, -c(1, 40,65)]) > table(optdigits.test[,65],svm.pred) svm.pred 1 2 3 4 5 6 7 8 9 0 177 1 1 0 179 2 1 2 7 167 3 3 3 172 2 2 1 2 1 4 1 0 179 1 5 0 181 1 6 1 1 0 179 7 0 172 7 8 6 3 0 159 6 9 2 1 1 1 1 174 # accuracy on test sample is somewhat better than regularized multinomial logit # which had "only" 95% accuracy > sum(diag(table(optdigits.test[,65],svm.pred)))/nrow(optdigits.test) [1] 0.967724 Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 46 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 47 / 48
Ad Feelders ( Universiteit Utrecht ) Pattern Recognition 48 / 48