112
8. Metody probabilistyczne
wspomnianą już wcześniej wielokrotnie. Jak widać, w przypadku stosowania podejścia probabilistycznego i założenia normalnej postaci rozkładów P(xji) funkcja przynależności przyjmuje formę liniową jedynie w przypadku jednakowych macierzy kowariancji.
Algorytm opisywanej metody jest strukturalnie bardzo prosty, ale jego pełny zapis jest dość długi ze względu na pracochłonne operowanie w komputerze formułami obliczeniowymi odwołującymi się do rachunku macierzowego. Z tego względu przedstawimy go w formie uproszczonej, wprowadzając dwie procedury (obliczające parametry statystyczne na podstawie ciągu uczącego) oraz trzy funkcje:
CountMean(mean) - obliczanie wektorów wartości średnich (A£‘),
CountVariance(variance) - obliczanie macierzy kowariancji wszystkich klas (TO,
EqualVariance(variance): Boolean - ocena wiarygodności hipotezy o identyczności macierzy kowariancji,
flin(i,obj): rcal - obliczenie funkcji przynależności według funkcji liniowej (wzór 122),
fsqr(i,obj): real - obliczanie funkcji przynależności według funkcji kwadratowej (wzór (120)).
Nowe tablice, używane w rozważanym algorytmie, a dotychczas nie deklarowane, są następujące:
mean[l.. numclass][l .. dim] - wektory średnie dla wszystkich klas,
variance[l.. numclass][l .. dim][l.. dim] - macierze kowariancji wszystkich klas.
begin
CountMean(mean); CountVariance(variance); for i := 1 to numclass do if EqualVaraiance(variance) then fun[i] := flin(i,obj) else fun[i] := fsqr(i,obj); rec := pointmax(fun);
end