Rozpoznávání - s učitelem (supervised)
- NN
- KNN
- NaiveBayes
- SVM
Klasifikátory Matlab
nb = NaiveBayes.fit([1 2 1 1 2 7 8 7 8]',[1 1 1 1 1 2 2 2 2]')
nb.predict([2 2 3 11]')
http://www.mathworks.com/help/stats/index.html#btq_uq5
Klasifikátory Python
from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)
print("Number of mislabeled points : %d" % (iris.target != y_pred).sum())
http://scikit-learn.org/dev/modules/naive_bayes.html#naive-bayes
Rozpoznávání - bez učitele (Unsupervised)
Vstup: data
Výstup: číslo shluku
Cíl: roztřídit neznámá vstupní data do n tříd
Shlukování
Priklad na shlukovani pomoci k-means algoritmu naleznete zde
clusterdata (data, 3)
vstupní soubor
výsledek
Klasifikace
vstupní soubor
nebližší soused
k-nejbližší soused
minimální vzdálenost
K-means v Matlabu:
labels = kmeans(xnorm,N);
V situaci, že shluk přjde o všechny obrazy Matlab vypisuje error.
Abychom tomu předešli, lze pro tyto případy definovat jiné chování:
labels = kmeans(xnorm,N,'emptyaction', 'singleton');
Úkol:
Klasifikujte objekty na následujícím obrázku pomocí k-means
http://www.kky.zcu.cz/uploads/courses/zdo/lesson8/objects.gif
Použít můžete funkci pro vykreslení nově olabelovaných dat
http://www.kky.zcu.cz/uploads/courses/zdo/lesson8/showLabels.m
Další pomůcka
bwlabel
popis = regionprops(iml,'All');
bound = bwboundaries(iml);
Analýza pohybu
vstupní framy
rozdílový obraz
akumulativní rozdílový obraz
detekce pomocí významných bodů (Harrisův operátor)
příklady matlab, adaboost
úkoly:
1) načtěte množinu bodů c1,c2 a c3, spojte je a proveďte rozdělení těchto bodů do 3 shluků pomocí funkce clusterdata
2) naprogramujte metodu rozpoznávání pomocí nejbližšího souseda a k-nejbližšího souseda
3) metody otestujte na vámi zvolených datech