GRUPOWANIE

KLASYFIKACJA

SELEKCJA

ALGORYTMY GRUPOWANIA OPARTE NA ZBIORACH ROZMYTYCH

Strona główna
-
Algorytmy
-
Warunki grupowania
-
Literatura
-
Instrukcja obsługi

Instrukcja obsługi

W ramach tej pracy zostały opracowane i napisane w środowisku MATLAB procedury opisanych wcześniej algorytmów tzn. Fuzzy K-means, Fuzzy C-means oraz górskiej metody grupowania. Procedury są zapisane w postaci m-plików funkcyjnych, które mogą być uruchamiane z głównego okna poleceń MATLAB'a. Powyższe opracowanie jest częścią składową projektu realizowanego przez Katedrę Podstaw Konstrukcji Maszyn, dlatego też format zapisu danych i reprezentacji poszczególnych zbiorów jest zgodny z formatem przyjętym w tym projekcie.

Do działania niektórych procedur niezbędne jest umieszczenie procedur uzupełniających w tym samym katalogu co procedura główna. Każdy plik zaopatrzony jest w nagłówek, w którym użytkownik znajdzie informacje dotyczące argumentów niezbędnych do działania programu, struktury danych wyjściowych, oraz ewentualnych plików, które są wykorzystywane podczas działania programu. Odczytania informacji zawartych w nagłówkach plików można dokonać przy pomocy polecenia MATLAB'a help w postaci:

help nazwa_pliku.m

co spowoduje wyświetlenie na ekranie wszystkich informacji zawartych w nagłówku pliku.
W ramach tego projektu zostały napisane następujące procedury: k_means.m (algorytm Fuzzy K-means), c_means.m (algorytm Fuzzy K-means), m_gorska.m (metoda górska grupowania). Wywołanie poszczególnych procedur wykonuje się z linii poleceń MATLAB'a:

wynik=k_means(dane,liczba_grup,o)
wynik=c_means(dane,liczba_grup,o)
wynik=m_gorska(dane,gestosc_siatki,A,B,granica)

gdzie:
wynik jest przykładową zmienną do której są przypisywane dane wyjściowe z procedury (macierz przynależności rozmytej elementów),
dane - to dane wejściowe procedury, podane w postaci macierzy, przekazywane przez użytkownika i niezbędne do działania procedury,
liczba_grup - to parametr podawany w postaci liczby całkowitej, oznaczający liczbę grup na jaką zostaną pogrupowane elementy,
o - opcjonalny parametr (domyślnie przyjęty jako 1) - wybór jednej z miar odległości odbywa się poprzez nadanie temu parametrowi wartości 1, 2, 3, 4 lub 5. gdzie:

  1. odległość Euklidesowa
  2. odległość Hamminga
  3. odległość Canbera
  4. odległość Mahalanobisa
  5. odległość Minkowskiego

gestosc_siatki - parametr opcjonalny w postaci liczby całkowitej (domyślnie przyjęty jako 20) oznaczający liczbę linii siatki identyfikacji,
A - opcjonalny parametr fuzyfikacji a, podawany w postaci liczby całkowitej (domyślnie przyjęty jako 1),
B - opcjonalny parametr fuzyfikacji b, podawany w postaci liczby całkowitej (domyślnie przyjęty jako 1),
granica - opcjonalny parametr podawany w postaci liczby rzeczywistej dodatniej (domyślnie przyjęty jako 1), oznaczający wartość funkcji górskiej, poniżej zejścia której algorytm finalizuje obliczenia.

W celu przekazania do procedury danych zapisanych na dysku w postaci pliku tekstowego niezbędne jest wprowadzenie tych danych do przestrzeni roboczej MATLAB'a. Należy tego dokonać przy pomocy polecenia load:

load plik_z_danymi

Po wykonaniu tego polecenia dane zapisane w pliku znajdują się w przestrzeni roboczej pod nazwą taką jak nazwa pliku, w naszym wypadku plik_z_danymi. Po wykonaniu całej procedury dane wyjściowe są przekazywane do środowiska MATLAB - zmienna wynik, co umożliwia ich dalszą analizę. Procedury na wyjściu zwracają macierz przynależności elementów do grup. Jest to macierz o liczbie wierszy równej liczbie elementów przestrzeni i liczbie kolumn równej liczbie grup. W celu wizualizacji uzyskanych wyników grupowania należy wywołać procedury wykres lub wykr wchodzące w skład biblioteki KLAS. Uruchomienie pierwszej z następuje przez polecenie:

wykres(dane,wynik)

Procedura jest wywoływana z dwoma parametrami. Pierwszy z nich, dane, odpowiada za przesłanie do procedury macierzy określającej położenie wszystkich punktów w przestrzeni. Drugim argumentem jest macierz przynależności elementów do poszczególnych grup, która została wygenerowana przez jeden z algorytmów grupowania - wynik. Efektem tej wizualizacji jest pokazanie na wykresie kolorowych punktów (elementy należące do tej samej grupy mają ten sam kolor; kolor czarny oznacza nie zaklasyfikowanie elementu do żadnej z grup). Druga z tych procedur uruchamiana jest przez polecenie:

wykr(dane,wynik,s)

Procedura ta wizualizuje wyniki działania algorytmów w następujący sposób:
- elementy zbioru są reprezentowane w postaci okręgów, których środki wskazują dokładne umiejscowienie elementu,
- przynależność elementu do określonego zbioru wskazana jest przez kolor okręgu (elementy należące do tej samej grupy mają takie same kolory),
- średnica okręgu określa stopień przynależności elementu do danej grupy (im większa średnica okręgu tym większy stopień przynależności elementu do tej grupy).
Pierwsze dwa parametry tej procedury są identyczne jak dla procedury przedstawionej powyżej, natomiast parametr s (domyślnie wartość 1), służy do zwiększenia średnic rysowanych okręgów.