Temat: ANFIS + TS w zadaniach Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl
1. Systemy neuronowo - rozmyte Systemy neuronowo rozmyte stanowią połączenie sieci neuronowych i systemów rozmytych. Dzięki temu umożliwiają wykorzystanie zarówno regułowej reprezentacji wiedzy systemów rozmytych jak i metod uczenia stosowanych w przypadku sieci neuronowych SN potrafią uczyć się na podstawie danych numerycznych, lecz wiedza zdobyta w trakcie nauki jest ukryta w wartościach wag sieci. LR pozwala operować (rozumować) na wyższym poziomie, używać informacji lingwistycznej, jednak systemy LR nie potrafią się uczyć. Połączenie systemów wnioskowania rozmytego i sieci neuronowych nosi nazwę neuronowych systemów rozmytych (NFS) i cechuje się możliwością interpretacji modelu oraz odpornością na różnego rodzaju uszkodzenia danych. W ramach modelu NFS FIS dostarczają schematu wnioskowania, a więc sposobu konstrukcji reguł logicznych, których uczenie odbywa się według algorytmu zaczerpniętego z teorii sieci neuronowych (SN). Konstrukcja modelu NFS polega na samodzielnej konstrukcji reguł logicznych na podstawie dostępnych danych Potrzeba więc strategii, która pozwoliłaby nauczyć system wnioskowania rozmytego (FIS) doboru parametrów konstruowanego modelu w oparciu o analizowane dane. Tu z pomocą przychodzą sieci neuronowe, które mają zdolność adaptacji do struktury danych. 2 Algorytm ANFIS (Adaptive Neuro-Fuzzy Inference System) Algorytm ANFIS jest jednym z przykładów algorytmu/implementacji systemów neuronowo-rozmytych. Wykorzystuje on zarówno proces optymalizacji z wykorzystaniem algorytmów gradientowych jak i algorytm propagacji wstecznej. Połączenie systemów wnioskowania rozmytego i sieci neuronowych cechuje się możliwością interpretacji modelu oraz odpornością na różnego rodzaju uszkodzenia danych. W ramach tego modelu, FIS dostarczają schematu wnioskowania, a więc sposobu konstrukcji reguł logicznych, których uczenie odbywa się według algorytmu zaczerpniętego z teorii sieci neuronowych. Konstrukcja modelu polega na samodzielnym wyznaczaniu reguł logicznych na podstawie dostępnych danych.
W pierwszych dwóch warstwach (L1 i L2) oblicza się stopnie prawdziwości poprzedników reguł logicznych. Operacja ta dokonywana jest analogicznie jak w przypadku systemów wnioskowania rozmytego, FIS. W kolejnej warstwie (L3) oblicza się liniowe kombinacje funkcji wyjściowych, na podstawie wprowadzonych zmiennych wejściowych (ostrych), które następnie (L4) są ważone przez stopnie prawdziwości reguł logicznych (wi) i sumowane. Na wyjściu otrzymuje się wartość przewidzianą zmiennej zależnej dla modelowanej próbki.
3 Zadania - ANFIS 3.1 Kucie matrycowe Zadaniem jest stworzenie systemu ANFIS zdolnego do odwzorowania zależności między dostarczonymi danymi eksperymentalnymi wykorzystując aplikacje ANFIS zawartą w Matlabie. Plik o nazwie doanfis.txt zawiera (odpowiednio sformatowane) wyniki 217 pomiarów zużycia matrycy (4 kolumna) w zależności od 4 zmiennych: Liczba odkuwek, Temperatura wsadu, Nacisk, Droga tarcia. Rys. 1 Widok danych z pliku xlsx. W kolejnych krokach wykonaj: 1. Uruchomienie programu MATLAB a w nim modułu fuzzy. 2. W wywołanym FIS Edytorze uruchomić nowy projekt z modelem wnioskowania Sugeno 3. W nowo otwartym projekcie wprowadź odpowiednią liczbę zmiennych wejściowych (4) oraz zmienną wyjściową (1). Decyzja o ich ilości związana jest z analizą pliku z danymi eksperymentalnymi. W tworzonym projekcie możemy wnioskować tylko o jednej zmiennej wyjściowej (output).
4. Dla tak przygotowanego projektu, w kolejnym kroku uruchom algorytm ANFIS Zostanie otwarte okno Anfis Edytor, które umożliwia wczytanie zmiennych przygotowanych w pliku doanfisa.txt 5. Teraz decydujemy o tym na ile zbiorów rozmytych zostaną podzielone zmienne i jaki przypiszemy im kształt. W pierwszym scenariuszu, każdą ze zmiennych należy podzielić na 3 zbiory rozmyte oraz przypisać im kształt gaussowski.
Po dobraniu podstawowych parametrów uruchamiamy proces uczenia (trenowania sieci) dążąc do zminimalizowania błędu. Następnie zamykamy okno Anfis Edytor i wracamy do Okna FIS Edytor. 6. Uruchomiany algorytm ANFIS podzielił każdą ze zmiennych na odpowiednią (wcześniej zadaną) liczbę zbiorów rozmytych o wybranym kształcie. Opracował również zmienną wyjściową oraz wygenerował zestaw reguł dostosowując je do wprowadzonych danych wejściowych.
7. Następny krok to analiza wyników. 8. Zaproponuj rozwiązanie składające się z innej ilości zbiorów rozmytych oraz o innym kształcie.
3.2 Klimatyzator Zaproponuj zastosowanie modułu ANFIS dla zagadnienia klimatyzatora. Przygotuj plik z danymi wejściowymi zamieniając odpowiednio nazwy zbiorów rozmytych na wielkości ilościowe. Każdy zbiór rozmyty reprezentowany jest przez jedną wartość punktowo, np. TW B. Zimno Zimno Dobrze Gorąco B. gorąco TW -10 +5 +22 +30 +35 TZ Mróz Zimno Ciepło Gorąco B. gorąco TZ -20 +5 +22 +30 +40 MG G Wyłącz CH MCH K K 2 1 0-1 -2 Zamiast wprowadzać reguły rozmyte, tak jak to miało miejsce w modelu Mamdani: opracuj plik z plik z danymi wejściowymi, które algorytm ANFIS wykorzysta do zbudowania modelu. Dane źródłowe zawierać będą 25 rekordów, z których każda stanowi obserwacje jak powinien zachować się obiekt dla zadanych wartości wejściowych. Zapisz go w formacie txt. Np. TZ TW K -10 0 2-10 10 2
-10 22 1-10 30 0-10 35 0 2 0 2 2 10 1 2 22 0 2 30 0 2 35-1 15 0 1 15 10 1 15 22 0 15 30-1 15 35-1 28 0 1 28 10 0 28 22 0 28 30-1 28 35-2 35 0 0 35 10 0 35 22-1 35 30-2 35 35-2 itd.