Modele generujące. Po wyuczeniu modelu generującego, dla nowego obiektu (j>"ew możemy wyznaczyć rozkład warunkowy p{y\<f>new) korzystając ze wzoru Bayesa:1
p{y\<f,new) =
p{4>new\y)p(y) P{<t>new) p{<t>new\y)p(y)
Ostatecznie wartość klasy określana jest na podstawie wartości prawdopodobieństwa, tj. pre-dykowana wartość klasy dla nowego obiektu przyjmuje największą wartość prawdopodobieństwa:
(3)
y* = arg ma,xp(y\<pnew).
Modele dyskryminujące. Po wyuczeniu modelu dyskryminującego, dla nowego obiektu dokonujemy predykcji analogicznie jak w przypadku modeli generujących z użyciem (3).
Modele funkcyjne. Funkcja dyskryminująca przyporządkowuje obiektowi wartość klasy. Dlatego po jej wyuczeniu, predykcja polega na poznaniu wartości funkcji dyskryminującej dla nowego obiektu.
1. Należy pobrać dane treningowe trainX.mat i trainY.mat ze strony kursu. Plik trainX.mat zawiera dane obrazami w postaci macierzy N x D, które mają być wykorzystane w procesie uczenia (N = 60000). Każdy z obrazów jest przekształcony do D-wymiarowego wektora, który stanowi odrębny wiersz macierzy z danymi. Obrazy są wielkości 28 x 28 pikseli (D = 784). Aby zwizualizować wybrany wiersz x z macierzy trainX.mat należy przekształcić go do obrazu poleceniem reshape(x,28,28), a następnie użyć polecenia imshow.
Plik trainY.mat zawiera N etykiet klas dla obrazów z pliku trainX.mat, które przyjmują wartości ze zbioru {0,..., 9} (wartość etykiety odpowiada cyfrze na obrazie).
2. Posiłkując się otrzymanymi danymi treningowymi, należy wyuczyć model, który następnie wykorzystany będzie do klasyfikacji cyfr na obrazach. Ewentualny ciąg walidacyjny należy wyróżnić samodzielnie.
3. W celu klasyfikacji obrazów należy uzupełnić funkcję predict w pliku predict.m w taki sposób, żeby funkcja dla macierzy wejściowej X, w której poszczególne wiersze zawierają
6
Dla przejrzystości pominięto warunkowanie 0.