Warning
This page is located in archive.

Test 06

  1. (0.5 b) Pomocí metody SVM (support vector machine) jsme se naučili váhy $\mathbf{w} \in \mathbb{R}^{d}$ a konstantní člen $w_0$. Jak se klasifikátor rozhoduje při vstupních datech $x \in \mathbb{R}^d$ (formulujte klasifikační funkci)?
  2. (0.5 b) Vysvětlete, co jsou support vectors? Bonusová otázka (0.5 b): Jaká je hodnota (hodnoty) klasifikační funkce pro support vectors?
  3. (0.5 b) Uvažujte klasifikační algoritmus k-NN. Popište, jak se určuje optimální hodnota k, máte-li k dispozici soubor dat s předem určenou klasifikací. Jak nejlépe určíte konečnou klasifikační přesnost modelu pro vybrané k?

Cvičení 7 - Naivní bayesovská klasifikace a lineární klasifikátor

Naivní baysevskový klasifikátor

* Klasifikace podle maxima aposteriorní pravděpodobnosti * Převod apriorní znalosti a pozorování na aposteriorní pravděpodobnost pomocí bayesova vzorce * Proč je klasifikátor naivní

Příklad: Hráči chodí hrát tenis, ale hrají pouze za příznivého počasí. Příklady jejich rozhodnutí jsou v následující tabulce. Atributy jsou “outlook”, “temperature”, “humidity”, “windy” a rozhodnutí je ve sloupečku “play”. Vyzkoušejte rozdování pomocí jednoho příznaku ()

outlook temperature humidity windy play
sunny hot high false no
sunny hot high true no
overcast hot high false yes
rainy mild high false yes
rainy cool normal false yes
rainy cool normal true no
overcast cool normal true yes
sunny mild high false no
sunny cool normal false yes
rainy mild normal false yes
sunny mild normal true yes
overcast mild high true yes
overcast hot normal false yes
rainy mild high true no

# naivni Bayes
library(e1071)
# je treba zkonvertovat "logical" priznak na "numeric" 
d$windy <- as.numeric(d$windy)
mod <- naiveBayes(play~., data)

# vyzkousejme klasifikator
predict(mod,data)
table(predict(mod,data),data$play)

# a klasifikujme nove pozorovani:
newdata <- data.frame(outlook='sunny',temperature='hot',humidity='normal',windy=0)
predict(mod,newdata)

Lineární klasifikátor

* lineární rozhodovací nadrovina * pod lineární klasifikaci spadá mnoho metod - perceptron, logistická regrese, SVM * učení klasfikátoru - optimalizační úloha (např. minimalizace počtu špatně klasifikovaných pozorování)

Logistická regrese

* lineární klasifikátor, který predikuje log odds * generalizovaný lineární model * vyzkoušejte v R

data("iris")

iris <- iris[iris$Species %in% c('setosa','versicolor'),]
iris$Species <- factor(as.character(iris$Species))
iris$Species_setosa <- iris$Species == 'setosa'

# loistická regrese
logreg <- glm(Species_setosa ~ Sepal.Length + Sepal.Width,data=iris,family=binomial(link='logit')) 
summary(logreg)

logregcoef <- coef(logreg)
plot(iris$Sepal.Length,iris$Sepal.Width,col=iris$Species_setosa + 2)
abline(a=-logregcoef[1]/logregcoef[3],b=-logregcoef[2]/logregcoef[3])

table(predict(logreg) > 0,iris$Species_setosa)

courses/a6m33dvz/cviceni/07-bayes_linear.txt · Last modified: 2018/11/26 10:44 by nemymila