A két spirál probléma megoldása nemlineáris SVM-mel

Leírás

Ebben a kísérletben egy nemlineáris SVM-et tanítunk a két spirál probléma megoldására, amely egy neurális hálók teljesítményének vizsgálatához kifejlesztett lineárisan nem szeperálható osztályozási probléma. Meghatározzuk a nemlineáris SVM osztályozási pontosságát az adatállományon.

Bemenet

Two Spirals [Two Spirals]

8.18. ábra - A két spirál adatállomány

A két spirál adatállomány

8.19. ábra - Az adatállományt előállító R kód, mely az R Extension Execute Script (R) operátorával kerül végrehajtásra

i <- 0:96
angle <- i * pi / 16
radius <- 6.5 * (104 - i) / 104
x <- radius * cos(angle);
y <- radius * sin(angle);
spirals <- data.frame(
    rbind(
        cbind(x, y, 0),
        cbind(-x, -y, 1)
    )
)
names(spirals) <- c("x", "y", "class")
spirals <- transform(spirals, class = factor(class))
spirals.label <- "class"

Megjegyzés

Az adatállományt előállító R kód a [Neural Network FAQ] SAS kódrészlete alapján készült.

Kimenet

8.20. ábra - A nemlineáris SVM osztályozási pontossága az adatállományon

A nemlineáris SVM osztályozási pontossága az adatállományon

Az eredmények értékelése

Az ábra azt mutatja, hogy a nemlineáris SVM tökéletesen osztályozza az összes tanulóesetet.

Videó

Folyamat

svm_exp6.rmp

Kulcsszavak

SVM
felügyelt tanulás
lineárisan nem szeparálható
osztályozás

Operátorok

Apply Model
Performance (Classification)
Support Vector Machine (LibSVM)
Execute Script (R) [R Extension]