<-- powrót
biblioteki KLAS 1.0
Używanie biblioteki należy rozpocząć od przygotowania danych wejściowych. Najwygodniej zrobić to w formie zwykłego pliku tekstowego: w kolejnych wierszach zapisuje się, oddzielane spacją, wartości cech kolejnych elementów. Można wzorować się na zawartych w bibliotece przykładowych zadaniach (punkt 23).
Wczytanie danych wykonuje się poleceniem
load nazwa_pliku,
dane zostaną zapamiętane w macierzy nazwa_pliku.
Grupowanie elementów najwygodniej przeprowadzić używając polecenia:
grupowanie
- opis polenia znajduje się w punkcie 15.
Wyznaczanie klasyfikatora:
klasyfikator
- opis w punkcie 18.
Klasyfikacja elementów:
klasyfikacja
- opis w punkcie 22.
Biblioteka składa się z następujących procedur:
odl
pod
porwn
wykres
przetw
odtw
konwersja
iterac
hierar
sasiad
ksasiad
mmd
drzewo
ocenap
grupowanie
klasr
ocenar
klasyfikator
klasd
klasp
ocenak
klasyfikacja
Poniżej znajduje się opis wszystkich zawartych w bibliotece procedur.
Opis każdej procedury można uzyskać wpisując polecenie: help nazw_procedury.
Opis procedur biblioteki
Oznaczenia stosowane w bibliotece.
Oznaczenia ogólne:
- duże litery oznaczają zbiory elementów,
- małe litery oznaczają elementy zbiorów, stałe i zmienne.
Oznaczenia szczegółowe:
V - zbiór n elementów m-wymiarowej przestrzeni,
G - macierz przynalezności elementów zbioru V,
S - macierz środków grup,
K - klasyfikator,
L - liczba grup/klas.
Postać zbioru elementów V: macierz n x m - n elementów (wiersze) m-wymiarowej przestrzeni (w kolejnych kolumnach
wartości kolejnych cech).
Macierz G przynależności
- dokładnej: macierz jednokolumnowa o n wierszach, w i-tym wierszu nr grupy (klasy) do której został przyporządkowany element znajdujący się w i-tym wierszu macierzy V.
- przybliżonej: macierz n x L, w i-tym wierszu w kolejnych kolumnach stopnie przynależności do kolejnych klas elementu znajdującego się w macierzy V w i-tym wierszu.
Macierz S środków klas: macierz L x m (analogicznie jak macierz V, L - liczba grup, kolejne wiersze odpowiadają środkom kolejnych grup).
Klasyfikator K: macierz L x (m+1) (analogicznie jak macierz V, L - liczba klas, kolejne wiersze odpowiadają środkom kolejnych klas, kolumna m+1 zawiera wartości średnic klas).
przykładowa macierz V [5.1 3.5 1.4 0.2
(przykład zapisu zbioru 4.7 3.2 1.3 0.2
elementów) 6.3 3.3 6.0 2.5]
przykładowa macierz G [1
przynależności dokładnej 2
3]
przykładowa macierz G [0.8 0.1 0.1
przynależności przyblizonej 0.1 0.7 0.2
0.3 0.2 0.5]
przykładowa macierz S [5.0 3.5 1.5 0.25
5.5 2.5 4.0 1.25
7.0 3.0 5.5 2.00]
przykładowa macierz K [5.0 3.5 1.5 0.25 3.5
5.5 2.5 4.0 1.25 2.8
7.0 3.0 5.5 2.00 3.1]
1 Procedura obliczania odległości
d=odl(x,y,o,C)
Służy do obliczania odległości dwóch elementów x, y.
Parametrem o określa funkcję odległości, która zostanie użyta:
- o=1 - odległość euklidesowa,
- o=2 - odległość Hamminga,
- o=3 - odległość Canbera,
- o=4 - odległość Mahalanobisa.
Parametr o jest opcjonalny, domyślnie o=1.
Dla wyznaczenia odległości Mahalanobisa (o=4) należy w wywołaniu funkcji podać macierz C - macierz kowariancji rozpatrywanego zbioru elementów.
2 Procedura obliczania podobieństwa
h=pod(x,y,p,o,a,b,C)
Służy do obliczania podobieństwa dwóch elementów x, y.
Parametr p określa miarę podobieństwa:
- p=1 - podobieństwo "cosinus kąta między wektorami x, y",
- p=2 - podobieństwo na podstawie funkcji odległości h=1/(1+a*d^b),
- p=3 - podobieństwo na podstawie funkcji odległosci h=exp(-a*d),
parametr o określa funkcję odległości użytą w mierze podobieństwa:
- o=1 - odległość euklidesowa,
- o=2 - odległość Hamminga,
- o=3 - odległość Canbera,
- o=4 - odległość Mahalanobisa.
parametry a, b - stałe warunkujące własności funkcji podobieństwa.
Parametry p, o, a, b są opcjonalne, domyślnie p=1, o=1, a=1, b=1.
Dla wyznaczenia podobieństwa na podstawie odległości Mahalanobisa w wywołaniu funkcji należy podać macierz C - macierz kowariancji rozpatrywanego zbioru elementów.
3 Procedura porównywania zbiorów elementów
p=porwn(X,Y,s,r,o,a,b,C)
Służy do porównywania dwóch zbiorów elementów X, Y na podstawie funkcji odległości lub podobieństwa.
Zbiór X: macierz nx x m, nx elementów m-wymiarowej przestrzeni, zbiór Y: macierz ny x m, ny elementów m-wymiarowej przestrzeni.
Paramert s określa sposób porównywania zbiorów:
- s=1 - porównanie najbliższych sąsiadów zbiorów,
- s=2 - porównanie najdalszych sąsiadów zbiorów,
- s=3 - porównanie elementów średnich zbiorów,
parametr r określa miarę odległości lub podobieństwa:
- r=1 - odległość euklidesowa,
- r=2 - odległość Hamminga,
- r=3 - odległość Canbera,
- r=4 - odległość Mahalanobisa,
- r=5 - podobieństwo cosinus kąta między wektorami x, y,
- r=6 - podobieństwo na podstawie funkcji odległości h=1/(1+a*d^b),
- r=7 - podobieństwo na podstawie funkcji odległości h=exp(-a*d),
parametr o określa funkcję odległości użytą w mierze podobieństwa:
- o=1 - odległość euklidesowa,
- o=2 - odległość Hamminga,
- o=3 - odległość Canbera,
- o=4 - odległość Mahalanobisa.
parametry a, b - stałe warunkujące własności funkcji podobieństwa.
Parametry s, r, o, a, b są opcjonalne, domyślnie s=1, r=1, o=1, a=1, b=1).
Dla porównania zbiorów na podstawie odległości Mahalanobisa lub podobieństwa opartego na odległości Mahalanobisa należy w wywołaniu funkcji podać macierz C - macierz kowariancji rozpatrywanego zbioru elementów.
4 Procedura wizualizacji danych
wykres(V,G,c1,c2)
Służy do graficznej prezentacji danych. Macierz V zawiera n elementów m-wymiarowej przestrzeni. Macierz G zawiera informacje o przynależności elementów. Jeżeli macierz G jest macierzą przynależności przybliżonej zostanie automatycznie przekonwertowana (na potrzeby procedury wykres) do macierzy przynależności dokładnej. Dla każdej grupy stosowane są inne oznaczenia elementów. W przypadku braku macierzy G wszystkie elementy przedstawione zostaną jednakowo. Parametry c1, c2 są opcjonalne (domyślnie c1=1, c2=2). Określają, które cechy (nr kolumny macierzy V) zostaną przedstawione na wykresie. Jeżeli zostanie podane tylko c1, c2=c1+1.
5 Procedura wstępnego przetwarzania danych
[Vp,P]=przetw(V,a,b)
Realizuje wstępne przetwarzanie danych (zawartych w macierzy V), wg wzoru Vp=a×V+b, współczynniki a, b zostaną zapamiętane w macierzy P=[a b]. Parametry a, b są opcjonalne (domyślnie a=1, b=0). Jeżeli zostanie podane a=0, parametry a, b zostaną tak dobrane aby wartości wszystkich cech były dodatnie (jest to wymagane przy stosowaniu odległości Canbera).
6 Procedura odtwarzania danych
V=odtw(Vp,P)
Przekształca dane do postaci sprzed wstępnego przetworzenia.
7 Procedura konwersji macierzy przynależności
G1=konwersja(G2)
Funkcja dokonuje konwersji macierzy przynależności dokładnej na macierz przynależności przybliżonej lub odwrotnie, w zależności jaka macierz jest podana jako parametr funkcji.
8 Procedura algorytmu grupowania iteracyjnego
G=iterac(V,S,r,o,a,b)
Algorytm grupowania iteracyjnego elementów zbioru V. Macierz S zawiera punkty środkowe grup. Parametry r, o, a, b są opcjonalne (dobór jak w punkcie 3).
9 Procedura algorytmu grupowania hierarchicznego
G=hierar(V,L,s,r,o,a,b)
Algorytm grupowania hierarchicznego elementów zbioru V na L grup. Przynależność elementów do grup zostanie zapisana w macierzy G. Parametry s, r, o, a, b są opcjonalne (dobór jak w punkcie 3).
10 Procedura algorytmu grupowania najbliższego sąsiada
G=sasiad(V,r,o,a,b)
Algorytm najbliższego sąsiada grupowania elementów zbioru V. Parametry r, o, a, b są opcjonalne (dobór jak w punkcie 3).
11 Procedura algorytmu grupowania k-najbliższych sąsiadów
G=ksasiad(V,k,r,o,a,b)
Algorytm k-najbliższych sąsiadów grupowania elementów zbioru V. Parametr k - liczba uwzględnianych najbliższych sąsiadów, k dobiera się w zależności od mocy zbioru V, najczęściej k=3 lub k=4 (domyślnie k=3). Parametry r, o, a, b są opcjonalne (dobór jak w punkcie 3).
12 Procedura algorytmu grupowania MMD
G=mmd(V,k,r,o,a,b)
Algorytm MMD grupowania elementów zbioru V. Parametr k - mnożnik wartości progowej (domyślnie k=2). Parametry r, o, a, b są opcjonalne (dobór jak w punkcie 3).
13 Procedura algorytmu grupowania drzewa minimalnego
[Vg,G]=drzewo(V,L,r,o,a,b)
Algorytm drzewa minimalnego grupowania elementów zbioru V na L grup. Przynależność elementów do grup zostanie zapisana w macierzy G. Parametry r, o, a, b są opcjonalne (dobór jak w punkcie 3).
14 Procedura oceny jakości podziału
o=ocenap(V,G,s)
Procedura służy do obliczania oceny jakości podziału elementów zbioru V. G jest macierzą przynależności dokładnej.
Parametr s określa sposób obliczanie oceny (domyślnie s=1):
- na podstawie ilorazu średniej odległości elementów w grupie i średniej odległości grup,
- na podstawie ilorazu sumy "momentów bezwładności" grup i "momentu bezwładności" wszystkich elementów.
W obydwóch przypadkach mniejsza wartość oceny oznacza lepszą jakość podziału.
15 Procedura procesu grupowania
G=grupowanie(V)
[G,Vg]=grupowanie(V)
Służy do prowadzenia procesu grupowania elementów zawartych w macierzy V. Wynikiem grupowania jest macierz G zawierająca informacje o przynależności elementów do poszczególnych grup. W przypadku zastosowania algorytmu hierarchicznego oraz algorytmu drzewa minimalnego elementy pogrupowane zostaną zapisane w macierzy Vg.
16 Procedura tworzenia klasyfikatora
[K,R]=klasr(V,G,r,o,a,b)
Służy do tworzenia klasyfikatora dokładnego K na podstawie macierzy elementów V i macierzy przynależności dokładnej G. W macierzy jednowierszowej R zapamiętane zostaną parametry, dla których został wyznaczony klasyfikator, R=[r o a b].
Klasyfikator zawiera informacje o środkach i średnicach klas. Współrzędne środka klasy - średnie arytmetyczne odpowiednich współrzędnych elementów klasy, średnica klasy - podwojona największa odległość od środka klasy do elementu klasy.
Parametry r, o, a, b jak w punkcie 3.
17 Procedura wyznaczania oceny jakości klasyfikatora
[rc,re,ra,rr]=ocenar(G1,G2)
Służy do obliczania oceny jakości klasyfikatora K na podstawie macierzy przynależności zbioru testującego otrzymanej w wyniku grupowania (G1) oraz otrzymanej w wyniku testowania klasyfikatora (G2). Wyniki oceny sprawności:
- rc - względna liczba poprawnych klasyfikacji
- re - względna liczba błędnych klasyfikacji
- ra - względna liczba sklasyfikowanych obiektów
- rr - względna liczba obiektów, które nie zostały sklasyfikowane
18 Procedura procesu tworzenia klasyfikatora
[K,R]=klasyfikator(V,G)
Służy do tworzenia klasyfikatora dokładnego, na podstawie macierzy elementów V i macierzy przynależności dokładnej G, oraz do oceny sprawności klasyfikatora. W macierzy jednowierszowej R zapamiętane zostaną parametry, dla których został wyznaczony klasyfikator.
19 Procedura algorytmu klasyfikacji dokładnej
G=klasd(V,K,R)
Algorytm klasyfikacji dokładnej elementów zawartych w macierzy V na podstawie klasyfikatora K. Przynależność elementów do klas zostanie zapisana w macierzy przynależności dokładnej G.
Macierz R=[r o a b] zawiera parametry dla których został utworzony klasyfikator.
20 Procedura algorytmu klasyfikacji przybliżonej
G=klasp(V,K,R)
Algorytm klasyfikacji przybliżonej elementów zawartych w macierzy V na podstawie klasyfikatora K. Przynależność elementów do klas zostanie zapisana w macierzy przynależności przybliżonej G.
Macierz R=[r o a b] zawiera parametry dla których został utworzony klasyfikator.
21 Procedura oceny jakości klasyfikacji
o=ocenak(V,G,K,R)
Procedura służy do obliczania oceny jakości klasyfikacji elementów zbioru V na podstawie macierzy przynalezności G, klasyfikatora K i macierzy parametrów R, dla których został wyznaczony klasyfikator.
Ocena przyjmuje wartości z przedziału [0,1], bliższa 1 oznacza lepszą jakość klasyfikacji.
22 Procedura procesu klasyfikacji
G=klasyfikacja(V,K,R)
Służy do prowadzenia procesu klasyfikacji elementów zawartych w macierzy V na podstawie klasyfikatora K i macierzy parametrów R, dla których został wyznaczony klasyfikator oraz do oceny jakości klasyfikacji. Wynikiem klasyfikacji jest macierz G zawierająca informacje o przynależności elementów do poszczególnych klas.
W zależności od zastosowanego algorytmu klasyfikacji macierz G będzie macierzą przynależności dokładnej lub przynależności przybliżonej.
23 Przykładowe zadania
Pliki z01 do z08 zawierają przykładowe zadania zaczerpnięte z: Späth H.: Cluster -Formation und -Analyse. Theoria, FORTRAN -Programme, Beispiele. München: R. Oldenbourg Verlag GmbH, 1983.
Plik iris_d zawiera dane dotyczące przedstawicieli trzech gatunków irysów, plik iris_k zawiera macierz przynależności elementów zawartych w iris_d. Są to "klasyczne" dane (Anderson's IRIS data) stosowane na całym świecie do weryfikacji algorytmów grupowania i klasyfikacji. Pochodzą z: E.Anderson: The IRISes of the Gaspe Peninsula, Bulletin of the American IRIS Society, vol.59, pp. 2-5, 1939.