www.eprace.edu.pl » sztuczna-inteligencja » Klasyfikator BARBARA » Przykładowa realizacja klasyfikacji algorytmem BARBARA

Przykładowa realizacja klasyfikacji algorytmem BARBARA

Przykład przeprowadzono na ustandaryzowanych danych, pobranych z [1] - kwiat Irysa. Wylosowano 40 wektorów z macierzy danych (tabela 5.1 ), które następnie przekazano na wejściu klasyfikatora.

Parametry:

  1. ε = 98%,
  2. liczba uśrednianych wektorów N = 20.

Tablica 5.1: Macierz wejściowa - Irys





L.p.P. 1 P. 2 P. 3 P. 4










1 1,0 0,2500000000,750000000 0,0





2 1,0 0,1351351350,810810811 0,0





3 1,0 0,6590909090,295454545 0,0





4 1,0 0,6250000000,208333333 0,0





5 1,0 0,6250000000,291666667 0,0





6 1,0 0,2857142850,642857143 0,0





7 1,0 0,1777777770,755555556 0,0





8 1,0 0,2444444440,844444444 0,0





9 1,0 0,4090909090,659090909 0,0





10 1,0 0,3255813950,674418605 0,0





11 1,0 0,1627906970,744186047 0,0





12 1,0 0,1636363630,818181818 0,0





13 1,0 0,3404255310,680851064 0,0





14 1,0 0,3953488370,651162791 0,0





15 1,0 0,2708333330,750000000 0,0





16 1,0 0,2826086950,804347826 0,0





17 1,0 0,7000000000,260000000 0,0





18 1,0 0,1739130430,608695652 0,0





19 1,0 0,0555555550,851851852 0,0





20 1,0 0,3111111110,666666667 0,0





21 1,0 0,6904761900,238095238 0,0





22 1,0 0,2083333330,687500000 0,0





23 1,0 0,7083333330,250000000 0,0





24 1,0 0,6086956520,260869565 0,0





25 1,0 0,7142857140,261904762 0,0





26 1,0 0,1296296290,703703704 0,0





27 1,0 0,7291666660,250000000 0,0





28 1,0 0,1428571420,809523810 0,0





29 1,0 0,7000000000,180000000 0,0





30 1,0 0,7021276590,234042553 0,0





31 1,0 0,2553191480,787234043 0,0





32 1,0 0,2564102560,820512821 0,0





33 1,0 0,7209302320,255813953 0,0





34 1,0 0,6170212760,276595745 0,0





35 1,0 0,3043478260,608695652 0,0





36 1,0 0,1489361700,638297872 0,0





37 1,0 0,1555555550,777777778 0,0





38 1,0 0,2500000000,625000000 0,0





39 1,0 0,2380952380,642857143 0,0





40 1,0 0,1636363630,763636364 0,0





 

Źródło: Dane pobrane z [1], próba 40 losowych wektorów.

Wywołanie funkcji BARBARA w środowisku Matlab.

[M] = BARBARA(uczaca,ε,N);

W funkcji BARBARA następuje pobranie pierwszego wektora z macierzy uczącej, jako parametru dla którego będziemy obliczać dopasowania korelacyjne z każdym wektorem macierzy uczącej. Wektor ten zapisywany jest do zmiennej Ag.
for i = 1 : length(uczaca)
x = [x; korelacja(Ag, uczaca(i,:)) ];
end;

Po obliczeniu relacji korelacyjnej wektora Ag, z każdym wektorem macierzy uczącej, następuje przefiltrowanie tylko tych wektorów których korelacja ł ε.

index = find(x <= epsilon);

Po tej operacji następuje posortowanie najlepiej skorelowanych wektorów ze zmienną Ag, w kolejności malejącej.

[blad,index2] = sort(blad);

Tabela 5.2 ukazuje wynik posortowania wektorów pod względem najlepszego dopasowania korelacyjnego.

Tablica 5.2: Współczynnik korelacji oraz numer wektora w macierzy wejściowej



L.p.index2 blad






1 1 1,000000000



2 10 0,999682377



3 16 0,998977631



4 11 0,996893254



5 4 0,996525329



6 17 0,996518268



7 13 0,995476121



8 23 0,995121271



9 7 0,994805787



10 5 0,994170735



11 20 0,994091844



12 8 0,993174299



13 12 0,992345816



14 6 0,991818022



15 15 0,991499925



16 22 0,990862973



17 9 0,990629249



18 2 0,990495372



19 3 0,990495372



20 14 0,988079532



21 21 0,987762965



22 18 0,982492797



23 19 0,982188091



 

Źródło: Badania własne

Następnym punktem algorytmu, jest wybranie N, najlepiej dopasowanych wektorów.
if (length(index) > n || n == -1)
Memmory = M1(index(index2(1:n)), :);
else
Memmory = M1(index(index2), :);
end;

Macierz wyjściowa, która będzie poddana uśrednianiu, przedstawiona jest w tabeli 5.3 .

Tablica 5.3: Macierz N najbardziej dopasowanych danych





L.p.Parametr 1 Parametr 2 Parametr 3 Parametr 4










1 1,0 0,2500000000,750000000 0,0





2 1,0 0,2708333330,750000000 0,0





3 1,0 0,2553191490,787234043 0,0





4 1,0 0,2826086960,804347826 0,0





5 1,0 0,1777777780,755555556 0,0





6 1,0 0,2564102560,820512821 0,0





7 1,0 0,2083333330,687500000 0,0





8 1,0 0,1636363640,763636364 0,0





9 1,0 0,1627906980,744186047 0,0





10 1,0 0,2444444440,844444444 0,0





11 1,0 0,1555555560,777777778 0,0





12 1,0 0,1636363640,818181818 0,0





13 1,0 0,3111111110,666666667 0,0





14 1,0 0,3255813950,674418605 0,0





15 1,0 0,1428571430,809523810 0,0





16 1,0 0,2380952380,642857143 0,0





17 1,0 0,3404255320,680851064 0,0





18 1,0 0,1351351350,810810811 0,0





19 1,0 0,2857142860,642857143 0,0





20 1,0 0,1296296300,703703704 0,0





 

Źródło: Badania własne

Po uśrednieniu danych, zgromadzonych w macierzy 5.3 , wygenerowany został wektor wyjściowy, reprezentujący większą część cech uśrednianych danych (tabela 5.4 ).

Tablica 5.4: Wektor wyjściowy, po uśrednieniu




1,00.22499480.74675330,0




 

Źródło: Badania własne

Wektor wyjściowy dodawany jest do macierzy wyjściowej klasyfikatora, N najlepszych wektorów jest usuwanych z macierzy uczącej

uczaca(index2, :) = [];

a następnie ponawiane są wszystkie wcześniej opisane kroki aż do momentu, gdy macierz ucząca pozostanie pusta.

komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.