Wstępna klasyfikacja danych wejściowych, polega na przeszukaniu całej przestrzeni wejściowej pod względem podobnych wektorów regresji. Realizuje się to za pomocą następującego algorytmu (algorytm 5.1 , oraz kod w matlabie 5.2 ).
Algorytm 5.1: Algorytm przeszukiwania przestrzeni wejściowej.
Gdzie:
- macierz wejściowa, poddawana generalizacji,
- maksymalna ilość wektorów regresji, zwracana do II fazy,
- funkcja dopasowania, opisana wzorem 10.6 .
Algorytm 5.2: Kod klasyfikatora BARBARA w Matlabie.
1 if ( nargin == 5 && ~isempty(metryka) )
2 % Klasyfikacja z wyborem metryki...
3 for i = 1 : length(M1)
4 Y = [Ag.vector; M1(i).vector];
5 x = [x; pdist(Y, metryka) ];
6 end;
7 else
8 % Generuję macierz dopasowań funkcji R-SQUARE.
9 for i = 1 : N(1)
10 x = [x; korelacja(Ag.vector, M1(i).vector) ];
11 end;
12 end;
13 if ( nargin == 5 && ~isempty(metryka) )
14 % Szukam wszystkich wektorów, które są najbliższe wektorowi
15 % wejściowemu.
16 index = find(x <= epsilon );
17 blad = x(index);
18 % Sortowanie od najmniejszej, do największej odległości
19 [blad, index2] = sort(blad);
20 else
21 % Szukam wszystkich wektorów, których współczynnik dopasowania jest
22 % większy od epsilon.
23 index = find(x > epsilon);
24 blad = x(index);
25 % Sortowanie od największego, do najmniejszego (dopasowania)
26 [blad, index2] = sort(blad, "descend");
27 end;
28 if (length(index) > n || n == -1)
29 Memmory = M1(index(index2(1:n)), :);
30 else
31 Memmory = M1(index(index2), :);
32 end;
Jak pokazały nam algorytmy 5.1 i 5.2 , grupowanie odbywa się za pomocą funkcji dopasowania R2 chociaż, można zmienić funkcję dopasowania na dowolną metrykę odległości, taką jak metryka Euklidesowa lub Manhattan. Jednakże funkcja R2 odgrywa ogromną rolę w algorytmie klasyfikatora BARBARA, bo dzięki niej możemy zgrupować regresje mające największy współczynnik dopasowania do regresji wejściowej. Funkcje takie jak R2 (oraz inne. patrz wzory: 10.7 ,10.8 ), mają za zadanie zwracać współczynnik dopasowania kształtu, a nie tak jak funkcje odległości - odległość punktów w pewnej przestrzeni (odległość Euklidesowa). W celu optymalizacji wyników jako metrykę wybrano funkcję badającą kształt jako domyślną z tego względu, że w samym zamierzeniu było odnalezienie jak najbardziej podobnych do siebie krzywych regresji.
Copyright © 2008-2010 EPrace oraz autorzy prac.