19.01.2015 Views

rozprawa przemyslaw cholajda-70 - Instytut Badań Systemowych PAN

rozprawa przemyslaw cholajda-70 - Instytut Badań Systemowych PAN

rozprawa przemyslaw cholajda-70 - Instytut Badań Systemowych PAN

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Instytut</strong> Badań <strong>Systemowych</strong><br />

Polskiej Akademii Nauk<br />

ul. Newelska 6<br />

01-447 Warszawa<br />

Przemysław Cholajda<br />

Zastosowanie genetycznego generowania reguł rozmytych<br />

do wspomagania diagnostyki transformatorów<br />

Rozprawa doktorska<br />

Promotor:<br />

prof. Piotr Szczepaniak


Spis treści<br />

1. WSTĘP ............................................................................................................................................... 4<br />

2. ELEMENTY TEORII ZBIORÓW ROZMYTYCH ........................................................................... 9<br />

2.1. POJĘCIA PODSTAWOWE ....................................................................................... 9<br />

2.2. KLASY FUNKCJI PRZYNALEśNOŚCI ...................................................................... 10<br />

2.3. KLASYCZNE OPERACJE NA ZBIORACH ROZMYTYCH ............................................... 13<br />

3. KLASYCZNY ALGORYTM GENETYCZNY ................................................................................. 15<br />

3.1. POJĘCIA BIOLOGICZNE ...................................................................................... 15<br />

3.2. PODSTAWOWE POJĘCIA I PARAMETRY ................................................................. 18<br />

3.3. TWIERDZENIE O SCHEMATACH ........................................................................... 23<br />

3.4. TRADYCYJNE METODY OPTYMALIZACJI ................................................................ 27<br />

4. DIAGNOSTYKA MASZYN ............................................................................................................. 29<br />

4.1. ROZPOZNAWANIE WZORCÓW .............................................................................. 29<br />

4.2. PODZIAŁ KLASYCZNY I ROZMYTY ......................................................................... 34<br />

4.3. GRUPOWANIE ROZMYTE ..................................................................................... 37<br />

4.4. GENEROWANIE REGUŁ W OPARCIU O ROZMYTĄ ANALIZĘ DANYCH ......................... 42<br />

5. GENEROWANIE I GENETYCZNA REDUKCJA ROZMYTYCH REGUŁ<br />

KLASYFIKUJĄCYCH..................................................................................................................... 49<br />

5.1. GENEROWANIE REGUŁ ROZMYTYCH .................................................................... 49<br />

5.2. REDUKCJA LICZBY REGUŁ POPRZEZ ZMNIEJSZANIE LICZBY PODZIAŁÓW ................ 55<br />

5.3. ZMNIEJSZANIE LICZBY REGUŁ ZA POMOCĄ ALGORYTMU GENETYCZNEGO .............. 59<br />

5.3.1. Postawienie problemu ............................................................................. 59<br />

5.3.2. Kodowanie chromosomu ......................................................................... 60<br />

5.3.3. Funkcja przystosowania .......................................................................... 62<br />

5.3.4. Wybór populacji startowej i warunku zakończenia algorytmu ............... 66<br />

5.3.5. Operator selekcji, strategia elitarna ....................................................... 69<br />

5.3.6. Operator krzyŜowania, operator inwersji ............................................... 71<br />

5.3.7. Operatory mutacji – klasyczny i kodujące wiedzę o zadaniu .................. 74<br />

5.3.8. Interpretacja wyników ............................................................................. 81<br />

6. DIAGNOSTYKA TRANSFORMATORÓW .................................................................................... 83<br />

6.1. PROBLEMY I METODY ......................................................................................... 83<br />

6.2. DIAGNOSTYKA NA PODSTAWIE REZULTATÓW CHROMATOGRAFII GAZOWEJ (DGA) 84<br />

6.2.1. Chemiczne podstawy chromatografii gazowej ........................................ 84<br />

6.2.2. Metoda kodu IEC .................................................................................... 86<br />

6.2.3. Metoda polska ......................................................................................... 89<br />

6.2.4. Metoda polska pogłębiona ...................................................................... 92<br />

6.2.5. Metoda niemiecka ................................................................................... 92<br />

6.2.6. Metoda francuska .................................................................................... 94<br />

6.2.7. Metoda kanadyjska.................................................................................. 97<br />

6.2.8. Zalecenia eksperta .................................................................................. 99<br />

6.2.9. Analiza porównawcza metod klasycznych ............................................ 101<br />

6.3. METODY NIESTANDARDOWE ............................................................................. 102<br />

6.3.1. Zmodyfikowana metoda a-najbliŜszych sąsiadów ................................. 102<br />

6.3.2. Metoda rozmytego kodu IEC ................................................................. 105<br />

6.3.3. Dyskretyzacja ........................................................................................ 107<br />

6.3.4. Drzewo decyzyjne .................................................................................. 110<br />

6.3.5. Budowanie reguł za pomocą algorytmu genetycznego ......................... 112<br />

6.3.6. Sieci Pedrycza ....................................................................................... 116<br />

2


7. GENETYCZNY WYBÓR REGUŁ ROZMYTYCH NA PRZYKŁADZIE WSPOMAGANIA<br />

DIAGNOSTYKI TRANSFORMATORA ...................................................................................... 119<br />

7.1. POSTAWIENIE PROBLEMU ................................................................................ 119<br />

7.2. PRZYGOTOWANIE ZBIORU DANYCH UCZĄCYCH .................................................. 120<br />

7.3. GENEROWANIE REGUŁ ..................................................................................... 122<br />

7.4. KONWERSJA DANYCH UCZĄCYCH ...................................................................... 127<br />

7.5. REGULACJA ROZMIARU PRZESTRZENI DANYCH .................................................. 137<br />

7.6. PARAMETRYZACJA ALGORYTMU GENETYCZNEGO ............................................... 141<br />

7.7. PORÓWNANIE TECHNIK GENEROWANIA REGUŁ .................................................. 147<br />

8. MODUŁ SYSTEMU EKSPERTOWEGO: TRAFO2000 ............................................................. 155<br />

8.1. PODSTAWY SYSTEMÓW EKSPERTOWYCH ............................................................ 155<br />

8.2. MODUŁ TRAFO2000 ........................................................................................ 155<br />

8.2.1. Baza danych pomiarowych ................................................................... 158<br />

8.2.2. Baza faktów ........................................................................................... 159<br />

8.2.3. Baza wiedzy stałej ................................................................................. 159<br />

8.2.4. Baza reguł ............................................................................................. 160<br />

8.2.5. Interfejs uŜytkownika – Trafo2000 ........................................................ 161<br />

8.2.6. Interfejs uŜytkownika – Trafo2000_ext ................................................. 172<br />

8.2.7. Interfejs uŜytkownika – ga_new i Fuzzy3D ........................................... 175<br />

9. PODSUMOWANIE ....................................................................................................................... 185<br />

DODATEK A. OPIS OPROGRAMOWANIA ZAŁĄCZONEGO DO PRACY.................................. 187<br />

DODATEK B. WYKAZ SKRÓTÓW I SYMBOLI .............................................................................. 188<br />

LITERATURA PODSTAWOWA ............................................................................................................ 189<br />

LITERATURA UZUPEŁNIAJĄCA ....................................................................................................... 196<br />

ADRESY INTERNETOWE .................................................................................................................... 201<br />

3<br />

Wszelkie nazwy firm i ich produktów oraz znaki towarowe występujące w pracy są<br />

znakami zastrzeŜonymi odpowiednich właścicieli. Zostały one uŜyte jedynie w celu<br />

identyfikacji, co nie powinno być traktowane jako naruszenie praw autorskich.


4<br />

1. Wstęp<br />

W pracy badana jest metoda rozmytej klasyfikacji prowadząca do automatycznego<br />

generowania reguł decyzyjnych, których liczba ulega istotnej redukcji (przy<br />

jednoczesnym zapewnieniu dobrej jakości klasyfikacji) w wyniku zastosowania<br />

algorytmu genetycznego.<br />

Metodę zastosowano do praktycznego zadania klasyfikacji wyników pomiarów<br />

stęŜeń gazów w oleju transformatorowym. Tym samym stworzono nową technikę<br />

wspomagania diagnostyki transformatorów w oparciu o rzeczywiste dane pomiarowe<br />

zebrane w przeszłości dla danej klasy transformatorów – technikę odzwierciedlającą w<br />

pewien sposób uczenie (się) oparte na doświadczeniu [57]. Zaproponowana metoda<br />

nadaje się takŜe do zastosowania dla innych zadań praktycznych oraz teoretycznych.<br />

Opierając się na badaniach teoretycznych i przeprowadzonych eksperymentach, tj.<br />

obliczeniach dla trudnego zadania diagnostycznego o duŜym znaczeniu praktycznym,<br />

sformułowana została następująca teza:<br />

Dzięki wykorzystaniu nowych, dopasowanych do zadania mechanizmów genetycznych i<br />

uogólnieniu metody generowania rozmytych reguł klasyfikacji na przypadek<br />

wielowymiarowy, moŜliwe jest przeprowadzenie skutecznej klasyfikacji za pomocą<br />

istotnie zredukowanej liczby reguł rozmytych, otrzymanych w oparciu o<br />

trudnoseparowalne dane cech ilościowych badanych obiektów.<br />

W celu potwierdzenia tak postawionej tezy przeanalizowano i rozwiązano wiele<br />

problemów szczegółowych oraz uzyskano oryginalne wyniki naukowe, które moŜna<br />

podsumować wymieniając poszczególne dokonania, a są to:<br />

a) Nieliniowe przekształcenie n-wymiarowej przestrzeni danych celem ich<br />

„rozrzedzenia” w obszarach trudnych diagnostycznie, co doprowadza do<br />

modyfikacji funkcji przynaleŜności zbiorów rozmytych.<br />

b) Adaptacja metody generowania reguł wnioskowania z uŜyciem grupowania<br />

genetycznego do przypadku przestrzeni n-wymiarowej.<br />

c) Rozszerzenie na przypadek n-wymiarowy automatycznego generowania reguł<br />

rozmytych.


d) Hierarchizacja jakości klasyfikacji w przypadku uzyskania kilku<br />

konkurencyjnych „sztucznych ekspertów”, czyli róŜnych zestawów reguł o<br />

podobnej efektywności, ale dokonujących nieco innej klasyfikacji w obszarach<br />

wątpliwych.<br />

e) Zastosowanie metod z punktów a) – d) do diagnostyki transformatorów w<br />

oparciu o analizę chromatograficzną gazów rozpuszczonych w oleju. Poza<br />

wcześniejszymi publikacjami autora niniejszej pracy nieznane są autorowi inne<br />

podobne prace.<br />

f) Dokonywanie ocen pewności diagnozy stawianej w oparciu o międzynarodowy<br />

standard IEC [41].<br />

g) Wykonanie modułu systemu ekspertowego [6] wykorzystującego opisywaną w<br />

punkcie e) metodę oraz klasyczne metody diagnostyki transformatorów w<br />

oparciu o analizę chromatograficzną gazów rozpuszczonych w oleju.<br />

Dodatkowo dokonano analizy porównawczej klasycznych, opartych o analizę gazów,<br />

metod diagnostyki transformatorów.<br />

Oceniono takŜe kilka metod niestandardowych dla tego zadania.<br />

5<br />

Na szczegółowo opisaną i rozwijaną metodę składają się dwa główne etapy:<br />

– Rozmyte określanie (w formie reguł) przynaleŜności badanych obiektów do<br />

podobszarów przestrzeni decyzyjnej, które powstają poprzez coraz drobniejszy<br />

podział tej przestrzeni. Na kaŜdej osi układu współrzędnych zdefiniowane są<br />

„zachodzące” na siebie wykresy funkcji rozmytej przynaleŜności obiektów do<br />

sąsiadujących podobszarów (rysunek 5-1). Dzięki temu przynaleŜność do kaŜdego<br />

podobszaru nie jest ostra i jednocześnie zaleŜy od tego, czy większość obiektów w<br />

badanym podobszarze jest tej samej klasy, co badany obiekt.<br />

– Redukcja liczby reguł metodą ewolucyjną. Wskaźnik jakości, zwany tutaj funkcją<br />

przystosowania, ocenia liczbę reguł (dąŜącą do minimum) i liczbę poprawnie<br />

sklasyfikowanych obiektów (dąŜącą do maksimum). Dzięki temu algorytm<br />

pozostawia przydatną część reguł wyŜszego rzędu (tj. ze zgrubnych podziałów), a w<br />

trudniejszych decyzyjnie obszarach dołącza reguły obowiązujące w małych<br />

fragmentach przestrzeni decyzyjnej (wyjątki od reguł wyŜszego rzędu).


6<br />

Zaproponowaną metodę klasyfikacji zweryfikowano praktycznie na kilku zadaniach<br />

obliczeniowych. Jednak szczególne znaczenie ze względu na przydatność praktyczną<br />

mają eksperymenty przeprowadzone dla danych pochodzących z pomiarów na<br />

rzeczywistych obiektach – transformatorach energetycznych. Rozmieszczenie tych<br />

danych (rys. 7-2) w kartezjańskim układzie współrzędnych czyni z nich szczególnie<br />

trudny zbiór do skutecznego wyznaczania granic obszarów przynaleŜności. Wprawdzie<br />

część z nich jest rozłoŜona w obszarach dających się dość dobrze izolować, jednak<br />

bardzo wiele danych jest zgrupowanych i częściowo wymieszanych w pobliŜu środka<br />

układu współrzędnych i jednej z jego osi. Dodatkowo część przestrzeni decyzyjnej<br />

zawiera niewielką liczbę danych (w praktyce pewne przypadki występują sporadycznie<br />

i dlatego niewiele z nich jest rejestrowanych). Trudność sprawiają teŜ dysproporcje w<br />

liczbie danych poszczególnych kategorii (tabela 6-4), co jest cechą charakterystyczną<br />

tego problemu technicznego (w praktyce do diagnozowania oddawane są<br />

transformatory znacznie juŜ uszkodzone). Tym bardziej wyzywające i wymagające jest<br />

to zadanie testowe.<br />

UŜytą metodę zaprezentowano na tle innych (rozdział 4) posiadających walor<br />

rozmytości. Jak się okazuje wiele znanych metod nie nadaje się w praktyce do analizy<br />

danych wykazujących tak duŜą nieregularność. Usiłując ocenić (zmaksymalizować)<br />

funkcję odzwierciedlającą jakość wykonywanej klasyfikacji (maksimum) i liczbę<br />

uŜytych w tym celu reguł (minimum), czyli sprowadzając zadanie klasyfikacji do<br />

zagadnienia optymalizacji (rozdział 3.4), nie moŜna wprost uŜyć metod optymalizacji<br />

dla zadań ciągłych. Dla zadań dyskretnych metody dokładne, takie jak algorytm<br />

pełnego przeglądu, są zbyt czasochłonne obliczeniowo, a metody przybliŜone oraz<br />

losowe nie dają gwarancji znalezienia odpowiedniego kompromisu pomiędzy liczbą<br />

reguł, a jakością klasyfikacji. TakŜe metody niedeterministyczne, takie jak Monte Carlo,<br />

czy symulowanego wyŜarzania, nie dają takiej gwarancji.<br />

Klasyfikację moŜna teŜ wykonać bez posługiwania się regułami, poprzez porównanie<br />

badanego obiektu z juŜ znanymi (do tych metod zaliczamy m.in. metodę k najbliŜszych<br />

sąsiadów nazywaną teŜ a-najbliŜszych sąsiadów), jednak metody te nie dają<br />

uŜytkownikowi wiedzy w postaci reguł decyzyjnych (rozdział 3.4). Posługując się z<br />

kolei algorytmami analizy skupień moŜemy otrzymać zbyt duŜą liczbę reguł, co utrudni<br />

człowiekowi ich interpretację.<br />

Samoorganizujące się sieci neuronowe potrafiłyby wprawdzie po wyczerpującym<br />

treningu wypracować klasyfikację, jednak ze względu na występujące rozdrobnienie i


ozrzucenie obiektów tych samych klas, nadmiernie wzrastałaby liczba neuronów (przy<br />

załoŜeniu, Ŝe taki mechanizm dodawania neuronów zostałby wbudowany). Ponadto<br />

brakuje mechanizmu redukcyjnego, uogólniającego, który pozwalałby uŜytkownikowi<br />

nie tylko klasyfikować, ale takŜe interpretować. Z doniesień literaturowych [35]<br />

wiadomo teŜ, Ŝe nie zaleca się uŜywać sieci tego typu do zadań klasyfikacji z powodu<br />

małej wiarygodności wyniku.<br />

Silne i stale rozwijające się narzędzie jakim są popularne obecnie nieliniowe<br />

klasyfikatory maksymalnoodległościowe (support vector machines) nie posiadają<br />

jeszcze satysfakcjonującego sposobu wbudowania rozmytości, co jest niezmiernie<br />

istotnie dla danych o takim rozkładzie, jak te słuŜące diagnostyce stanu technicznego<br />

transformatorów. Dla tego narzędzia nie spotyka się mechanizmów redukcji liczby<br />

obszarów decyzyjnych.<br />

Z uwag tych wynika jasne przesłanie, Ŝe wiele ciekawych zadań w ramach róŜnych<br />

metod pozostaje jeszcze do rozwiązania w przyszłości, leŜą one jednak poza zakresem<br />

jednej rozprawy.<br />

Niniejsza praca składa się z 9 rozdziałów. W rozdziale pierwszym (Wstęp)<br />

sformułowano tezę, uzasadniono celowość podjętych badań, przedstawiono wykonane<br />

badania szczegółowe oraz krótko opisano układ i zawartość pracy.<br />

W rozdziale drugim, trzecim i czwartym opisano (odpowiednio) podstawowe elementy<br />

teorii zbiorów rozmytych, algorytmu genetycznego oraz grupowania rozmytego na<br />

potrzeby klasyfikacji. Rozdziały te są nie tylko wprowadzeniem odpowiednich pojęć,<br />

ale takŜe stanowią odpowiednie odniesienie do badanej w pracy metody.<br />

Rozdział piąty jest opisem teoretycznym rozwijanej w pracy metody. Przytoczone teŜ<br />

zostały w nim wyniki uzyskane dla teoretycznych danych porównawczych.<br />

Rozdział szósty przedstawia problemy napotykane podczas diagnozowania stanu<br />

technicznego transformatora i przedstawia sposoby interpretacji wyników analizy<br />

chromatograficznej gazów rozpuszczonych w oleju transformatora – jednej z<br />

popularniejszych metod diagnostyki tych urządzeń elektrycznych. W rozdziale tym<br />

zawarte są takŜe rezultaty klasyfikacji wyników chromatografii gazowej wybranymi<br />

metodami grupowania: metodą najbliŜszych sąsiadów oraz drzewa decyzyjnego.<br />

Zaprezentowane są teŜ wyniki posłuŜenia się algorytmem genetycznym celem redukcji<br />

praw budujących drzewo decyzyjne oraz przedstawiona jest metoda oceniania pewności<br />

diagnozy stawianej na podstawie metody zwanej kodem IEC [41].<br />

7


Rozdział siódmy opisuje sposób rozwiązania praktycznego zadania diagnostyki stanu<br />

technicznego transformatora za pomocą metody opisanej teoretycznie w rozdziale<br />

piątym.<br />

Rozdział ósmy zawiera opis oprogramowania Trafo2000 będącego implementacją<br />

metod opisanych w rozdziałach od piątego do siódmego.<br />

Rozdział dziewiąty jest podsumowaniem pracy.<br />

Na końcu pracy umieszczono wykaz uŜytych skrótów oraz symboli, wykaz cytowanej<br />

literatury naukowej, wykaz informatycznej literatury uzupełniającej wymaganej do<br />

skonstruowania oprogramowania Trafo2000 oraz wykaz adresów internetowych<br />

odsyłających do opracowań elektronicznych.<br />

8


9<br />

2. Elementy teorii zbiorów rozmytych<br />

Zbiory rozmyte umoŜliwiają opisanie zjawisk o charakterze nieprecyzyjnym,<br />

których wyraŜenie za pomocą języka wymaga uŜycia zwrotów oddających ów<br />

nieprecyzyjny charakter, takich jak „duŜo”, „średnio”, „mało”, „trochę”, „wysoko”,<br />

„nisko” itp. Termin „zbiory rozmyte” wprowadzony został przez Zadeha [88] i doczekał<br />

się wielu opracowań naukowych zarówno teoretycznych ([15], [13], [50], [92]), jak i o<br />

praktycznych zastosowaniach zbiorów rozmytych ([81], [74], [72], [16], [47], [23],<br />

[53]). Na potrzeby tej pracy wystarczającym jest posługiwanie się jedynie<br />

podstawowymi pojęciami z dziedziny zbiorów rozmytych.<br />

2.1. Pojęcia podstawowe<br />

Niech dana będzie niepusta przestrzeń X nazywana przestrzenią danych uczących<br />

(niekiedy zbiorem danych uczących) lub obszarem analizy (czy teŜ obszarem rozwaŜań<br />

z ang. the universe of discourse) lub uniwersum [59].<br />

Zbiorem rozmytym A w pewnej niepustej przestrzeni X, nazywamy zbiór * par<br />

takich, Ŝe:<br />

A = { (x, µ A (x)); x ∈ X } (2-1)<br />

gdzie µ A : X → 〈0, 1〉 ⊂ R ** jest funkcją przynaleŜności zbioru rozmytego.<br />

Funkcja przynaleŜności dla kaŜdego x ∈ X określa stopień przynaleŜności x do<br />

zbioru rozmytego A, przy czym rozróŜnić moŜna trzy przypadki:<br />

a) µ A (x) = 1 oznacza pełną przynaleŜność x do zbioru A<br />

b) µ A (x) = 0 oznacza brak przynaleŜności x do zbioru A<br />

c) 0 < µ A (x) < 1 oznacza częściową przynaleŜność x do zbioru A.<br />

Przypadek b) oznaczamy jako x∉A, a pozostałe przypadki - jako x∈A. W celu lepszego<br />

określenia przypadków a) i c) wprowadza się pojęcie nośnika supp (z ang. support)<br />

zbioru rozmytego A (wzór 2-2).<br />

supp(A) = { x ∈ X; µ A (x)>0 } (2-2)<br />

ker(A) = nucleus(A) = { x ∈ X; µ A (x)=1 } (2-3)<br />

* Zbiór jest pojęciem pierwotnym teorii mnogości.<br />

** R jest zbiorem liczb rzeczywistych – wykaz uŜytych skrótów i symboli znajduje się w dodatku B do<br />

pracy.


WyróŜnia się ponadto pojęcie jądro (z ang. kernel), czy teŜ nukleus [59] (z ang.<br />

nucleus) zbioru rozmytego A (wzór 2-3).<br />

JeŜeli A≠∅ jest zbiorem skończonym, to funkcję przynaleŜności µ A : X → 〈0, 1〉 do<br />

zbioru A moŜna podać w postaci stablicowanej * dla x∈ supp(A) lub za pomocą wzoru.<br />

Przykład 2-1<br />

Niech X = C będzie zbiorem liczb całkowitych określających w o C temperaturę<br />

powietrza. Nieprecyzyjne określenie „ciepło” względem temperatury powietrza moŜna<br />

sformalizować w postaci rozmytego zbioru A określając tylko jego nośnik w sposób<br />

następujący:<br />

A = { (21, 0,2), (22, 0,4), (23, 0,6), (24, 0,8), (25, 1),<br />

(26, 0,8), (27, 0,6), (28, 0,4), (29, 0,2) }<br />

lub za pomocą wzoru:<br />

A = { (x, µ A (x)); x∈ℵ} gdzie µ A (x) = max{0,<br />

− 25<br />

1− x }<br />

5<br />

W badaniach nad zbiorami rozmytymi i ich zastosowaniami uŜywa się kilku<br />

standardowych postaci (klas) funkcji przynaleŜności.<br />

10<br />

2.2. Klasy funkcji przynaleŜności<br />

Klasy funkcji przynaleŜności nazwano od kształtów wykresów tych funkcji.<br />

RozróŜniamy pięć [72] głównych klas funkcji przynaleŜności µ: R → 〈0, 1〉.<br />

1) funkcja przynaleŜności klasy s zdefiniowana jest wzorem (2-4).<br />

⎧ 0 dla x ≤ a<br />

⎪<br />

2<br />

⎪<br />

⎛ x − a ⎞<br />

2⎜<br />

⎟ dla a < x ≤ b<br />

µ s ⎪<br />

(x)=<br />

⎝ c − a ⎠<br />

⎨<br />

2<br />

i a ≤ b ≤ c i a,<br />

b,<br />

c ∈ R<br />

⎪ ⎛ x − c ⎞<br />

1−<br />

2<br />

< ≤<br />

⎪<br />

⎜ ⎟ dla b x c<br />

⎝ c − a ⎠<br />

⎪<br />

⎩ 1 dla x > c<br />

(2-4)<br />

Rysunek 2-1. Wykres funkcji przynaleŜności klasy s<br />

* Funkcja stablicowana - termin informatyczny wynikający ze sposobu zapamiętania funkcji w pamięci<br />

komputera: dla funkcji określonej tylko w skończonej liczbie punktów dziedziny, wartości funkcji w tych<br />

punktach zapamiętane są w specjalnie zaprogramowanej tablicy. Sposób takiego zapisu uŜyty jest takŜe<br />

przy określaniu macierzy U (rozdział 4.2) - wartości przynaleŜności obiektów uczących (wzorców) do<br />

podzbiorów zbioru uczącego.


11<br />

2) funkcja przynaleŜności klasy π zdefiniowana jest wzorem (2-5).<br />

⎧ 0 dla x ≤ c − b<br />

2<br />

⎪ ⎛ x − ( c − b)<br />

⎞<br />

⎪2⎜<br />

⎟ dla c − b < x ≤ c − b / 2<br />

⎪ ⎝ b ⎠<br />

2<br />

µ π ⎪ ⎛ x − c ⎞<br />

(x)= ⎨ 1−<br />

2⎜<br />

⎟ dla c − b / 2 < x ≤ c + b / 2 i b ≥ 0 i b,<br />

c ∈ R<br />

⎪ ⎝ b ⎠<br />

2<br />

⎪ ⎛ x − ( c + b)<br />

⎞<br />

⎪2⎜<br />

⎟ dla c + b / 2 < x ≤ c + b<br />

⎪ ⎝ b ⎠<br />

⎩ 1 dla x > c + b<br />

(2-5)<br />

Rysunek 2-2. Wykres funkcji przynaleŜności klasy π<br />

3) funkcja przynaleŜności klasy γ (w literaturze [59] podaje się teŜ nazwę klasa Γ)<br />

zdefiniowana jest wzorem (2-6).<br />

⎧ 0 dla x ≤ a<br />

µ γ ⎪ x − a<br />

(x)= ⎨ dla a < x ≤ b i a ≤ b i a,<br />

b ∈ R<br />

⎪b<br />

− a<br />

⎩ 1 dla x > b<br />

(2-6)<br />

Rysunek 2-3. Wykres funkcji przynaleŜności klasy γ


12<br />

4) funkcja przynaleŜności klasy t (w literaturze [59] podaje się teŜ nazwę klasa Λ)<br />

zdefiniowana jest wzorem (2-7).<br />

⎧ 0 dla x ≤ a<br />

⎪ x − a<br />

⎪<br />

dla a < x ≤ b<br />

µ t (x)=<br />

b − a<br />

⎨c<br />

− x<br />

i a ≤ b ≤ c i a,<br />

b,<br />

c ∈ R<br />

(2-7)<br />

⎪ dla b < x ≤ c<br />

⎪ c − b<br />

⎩ 0 dla x > c<br />

Rysunek 2-4. Wykres funkcji przynaleŜności klasy t<br />

5) funkcja przynaleŜności klasy L zdefiniowana jest wzorem (2-8).<br />

⎧ 1 dla x ≤ a<br />

µ L ⎪b<br />

− x<br />

(x)= ⎨ dla a < x ≤ b i a ≤ b i a,<br />

b ∈ R<br />

⎪b<br />

− a<br />

⎩ 0 dla x > b<br />

(2-8)<br />

Rysunek 2-5. Wykres funkcji przynaleŜności klasy L<br />

Niektórzy badacze [59] postulują stosowanie dodatkowych klas funkcji przynaleŜności<br />

(wzory od 2-9 do 2-13), gdyŜ zaproponowane do tej pory zbudowane są w oparciu o<br />

funkcje liniowe czy kwadratowe.<br />

6) funkcja przynaleŜności klasy Π zdefiniowana jest wzorem (2-9).<br />

⎧ 0 dla x ≤ a<br />

⎪ x − a<br />

⎪<br />

dla a < x ≤ b<br />

µ Π b − a<br />

(x)= ⎨ 1 dla b < x ≤ c i a ≤ b ≤ c ≤ d i a,<br />

b,<br />

c,<br />

d ∈ R<br />

⎪d<br />

− x<br />

⎪<br />

dla c < x ≤ d<br />

d − c<br />

⎪<br />

⎩ 0 dla x > d<br />

(2-9)


7) funkcja przynaleŜności klasy V zdefiniowana jest wzorem (2-10).<br />

µ V (x) = 1 - µ t (x) i a ≤ b ≤ c i a, b, c ∈ R (2-10)<br />

13<br />

8) funkcja przynaleŜności klasy U zdefiniowana jest wzorem (2-11).<br />

µ U (x) = 1 - µ Π (x) i a ≤ b ≤ c ≤ d i a, b, c, d ∈ R (2-11)<br />

9) funkcja przynaleŜności klasy z zdefiniowana jest wzorem (2-12).<br />

µ z (x) = 1 - µ s (x) i a ≤ b i a, b ∈ R (2-12)<br />

10) funkcja przynaleŜności klasy u zdefiniowana jest wzorem (2-13).<br />

µ u (x) = 1 - µ π (x) i 0 ≤ b i b, c ∈ R (2-13)<br />

Oprócz wymienionych tu klas funkcji jako funkcje przynaleŜności proponuje się<br />

[59] wprowadzenie klas określanych przez wielomiany wyŜszych stopni, funkcje<br />

wymierne, funkcje wykładnicze, funkcje dzwonowe, czy krzywą Gaussa. Jednak w<br />

niniejszej pracy zbiory rozmyte stosowane są tylko na potrzeby algorytmu budującego<br />

rozmyte reguły klasyfikujące jeŜeli-to, który zaliczany jest do algorytmów sterowania<br />

rozmytego, a te z kolei najczęściej ([59], [22], [87]) uŜywają funkcji przynaleŜności<br />

klasy t, s, Π. Z tych klas funkcji, numerycznie najłatwiejsza (a przez to najmniej<br />

czasochłonna) do wyznaczenia jest wartość funkcji klasy t i z tego względu w pracy<br />

zostaną uŜyte funkcje przynaleŜności klasy t. Funkcje klasy t nazywane są teŜ<br />

funkcjami przynaleŜności klasy Λ lub trójkątnymi funkcjami przynaleŜności [22].<br />

2.3. Klasyczne operacje na zbiorach rozmytych<br />

W swojej pracy [88] Zadeh zaproponował trzy operacje na zbiorach rozmytych,<br />

które nazywane są obecnie operacjami klasycznymi (lub mnogościowymi) [59]: iloczyn<br />

(przecięcie), sumę (agregację) i dopełnienie (negację).<br />

1) Dopełnieniem zbioru rozmytego A na uniwersum X jest zbiór rozmyty ¬A taki, Ŝe:<br />

¬A = { (x, µ ¬A (x)); x ∈ X; µ ¬A (x) = 1 - µ A (x) } (2-14)<br />

2) Sumą zbiorów rozmytych A i B na tym samym uniwersum X jest zbiór rozmyty<br />

A∪B taki, Ŝe:<br />

A∪B = { (x, µ A∪B (x)); x ∈ X; µ A∪B (x) = µ A (x) ∨ µ B (x) = max{µ A (x), µ B (x)} } (2-15)


Sumą n zbiorów rozmytych A 1, A 2, ...A n na tym samym uniwersum X nazywamy<br />

zbiór rozmyty A 1, A 2, ...A n taki, Ŝe:<br />

A 1 ∪A 2 ∪ ...∪A n = { (x, µ (x)); x ∈ X;<br />

µ<br />

A1<br />

∪ A2<br />

∪...<br />

∪ A n<br />

(x) = max{<br />

A1<br />

A1<br />

∪ A2<br />

∪...<br />

∪ An<br />

µ (x), µ<br />

A<br />

(x), ..., µ<br />

2<br />

A<br />

(x)} } i n∈ℵ<br />

n<br />

14<br />

(2-16)<br />

3) Iloczynem zbiorów rozmytych A i B na tym samym uniwersum X jest zbiór rozmyty<br />

A∩B taki, Ŝe:<br />

A∩B = { (x, µ A∩B (x)); x ∈ X; µ A∩B (x) = µ A (x) ∧ µ B (x) = min{µ A (x), µ B (x)} } (2-17)<br />

Iloczynem n zbiorów rozmytych A 1, A 2, ...A n na tym samym uniwersum X<br />

nazywamy zbiór rozmyty A 1, A 2, ...A n taki, Ŝe:<br />

A 1 ∩A 2 ∩ ...∩A n = { (x, µ (x)); x ∈ X;<br />

µ<br />

A1<br />

∩ A2<br />

∩...<br />

∩A n<br />

(x) = min{<br />

A1<br />

A1<br />

∩ A2<br />

∩...<br />

∩An<br />

µ (x), µ<br />

A<br />

(x), ..., µ<br />

2<br />

A<br />

(x)} } i n∈ℵ<br />

n<br />

(2-18)<br />

Rysunek 2-6. Przykładowe działanie operacji sumy zbiorów rozmytych A i B<br />

Lista operacji na zbiorach rozmytych jest znacznie dłuŜsza [47], jednak w praktycznej<br />

części niniejszej pracy uŜyty zostanie jedynie klasyczny operator sumy zbiorów<br />

rozmytych A i B (rysunek 2-6).


15<br />

3. Klasyczny algorytm genetyczny<br />

Algorytmy genetyczne [14], podobnie jak sieci neuronowe ([80], [79], [51]), są<br />

próbą naśladowania zjawisk zachodzących w Ŝywych organizmach – odpowiednio<br />

ewolucji i przesyłania sygnałów w systemie nerwowym – na potrzeby wyszukiwania<br />

lepszych rozwiązań w wielu dziedzinach nauki i techniki. Pojęcie algorytmy genetyczne<br />

wprowadził Holland [36], który zaproponował symulację ewolucji do rozwiązywania<br />

trudnych zadań nie na podstawie wiedzy o charakterze problemu, ale tylko na podstawie<br />

oceny kaŜdego osobnika symulowanego w algorytmie. Wiele pojęć stosowanych w<br />

algorytmach genetycznych ma swoje odniesienie do zjawisk biologicznych [69]. Na<br />

potrzeby tej pracy wydaje się więc celowym krótkie przedstawienie zasad pracy<br />

algorytmu w oparciu o naukę o organizmach Ŝywych - biologię.<br />

3.1. Pojęcia biologiczne<br />

Dzięki biologii wiadomym jest [82], Ŝe kaŜdy Ŝywy organizm składa się z<br />

mniejszych elementów zwanych komórkami, których istnienie wykazali: Schleiden,<br />

Schwann, Dutrochet i Lamarck. Większość komórek posiada wyodrębniony obszar -<br />

jądro komórkowe (zwane w skrócie jądrem), którego istnienie udowodnił w 1831 roku<br />

Robert Brown. We wnętrzu jądra w strukturach zwanych chromosomami zawarty jest<br />

kwas DNA (dezoksyrybonukleinowy). Na podstawie fragmentów chromosomów<br />

zwanych genami w komórce zachodzi synteza białek, czyli związków chemicznych<br />

słuŜących do budowy komórki (białka budulcowe) i do regulacji procesów chemicznych<br />

zachodzących w komórce (białka enzymatyczne zwane enzymami). PoniewaŜ organizm<br />

składa się z komórek, to jego czynności Ŝyciowe są sumą czynności Ŝyciowych<br />

poszczególnych komórek [82]. Z kolei czynności Ŝyciowe kaŜdej komórki są<br />

determinowane przez enzymy wytwarzane według budowy kwasu DNA. Tym<br />

sposobem DNA reguluje zachowanie całego organizmu.<br />

W jądrze komórki znajdują się dwie odpowiadające sobie sekwencje genów i<br />

zazwyczaj kaŜda z nich definiuje zupełnie odmienny organizm (np.: człowiek powinien<br />

według jednej sekwencji mieć włosy czarne, a według drugiej - rude). W jądrze zdrowej<br />

komórki istnieją więc pary odpowiadających sobie genów - po jednym z kaŜdej<br />

sekwencji. Jednak białka produkowane w oparciu o jeden gen z pary mogą wywierać<br />

większy wpływ na komórkę niŜ białka produkowane w oparciu o drugi gen z tej samej


pary. Takie geny nazywane są odpowiednio dominującym i recesywnym (i oznaczane<br />

są przez wielkie i małe litery).<br />

Przykład 3-1<br />

Oznaczmy (w uproszczeniu) gen ludzki odpowiadający za rudy kolor włosów poprzez w<br />

(gen recesywny), a za kolor czarny poprzez W (gen dominujący). Człowiek posiadający<br />

parę genów WW, Ww lub wW będzie mieć czarne włosy, a parę ww - rude.<br />

16<br />

Większość organizmów rozmnaŜa się płciowo za pośrednictwem specjalnych<br />

komórek zwanych gametami. KaŜda z gamet zawiera tylko jedną z sekwencji genów<br />

zwykłej komórki. Dopiero po połączeniu się dwóch gamet pochodzących od osobników<br />

odmiennej płci, powstaje komórka, która rozwinie się w nowy organizm i która posiada<br />

normalną dla swojego gatunku liczbę genów w chromosomach.<br />

W ten sposób (poprzez DNA) organizmy potomne otrzymują pewne cechy<br />

organizmów rodzicielskich. Jednak zazwyczaj na danym terenie przychodzi na świat<br />

więcej osobników niŜ moŜe się wyŜywić. Stąd do wieku dojrzałego doŜyją tylko te,<br />

które będą miały pewne predyspozycje do przetrwania (np.: pewien zestaw cech, który<br />

ułatwia zdobywanie pokarmu). Mówimy, Ŝe osobniki te są lepiej przystosowane od<br />

innych do środowiska, w którym Ŝyją. Te ułatwiające przeŜycie cechy zakodowane są w<br />

DNA i zostaną przekazane potomkom poprzez gamety. Zwrócić tu naleŜy uwagę na to,<br />

Ŝe osobniki dobrze przystosowane będą miały większą szansę na przekazanie swoich<br />

cech potomstwu, niŜ osobniki gorzej przystosowane, które raczej wyginą nie wydając<br />

na świat potomstwa – mówimy o zjawisku doboru naturalnego (selekcji).<br />

Proces tworzenia się gamet nazywa się mejozą (lub inaczej podziałem<br />

mejotycznym komórki) i nie polega on tylko na przekazaniu gametom po jednej<br />

sekwencji genów ze zwykłej komórki. Podczas podziału mejotycznego komórki<br />

(rysunek 3-1) chromosomy zawierające odpowiadające sobie geny z dwóch sekwencji<br />

(nazywane chromosomami homologicznymi) łączą się w pary (proces ten nazwany jest<br />

synapsis), a następnie podwajają się. MoŜe teraz nastąpić wymiana pewnych<br />

fragmentów pomiędzy chromosomami homologicznymi – krzyŜowanie (z ang.:<br />

crossing-over). Dzięki temu otrzymujemy większe zróŜnicowanie tworzonych gamet<br />

niŜ w wyniku tylko powielania chromosomów. Kolejnym etapem jest rozejście się<br />

najpierw chromosomów homologicznych i podział komórki, a następnie rozejście się<br />

nowopowstałych chromosomów z chromosomami, które juŜ wcześniej istniały i<br />

ponowny podział istniejących komórek. W ten sposób powstają cztery grupy<br />

chromosomów zawartych w czterech gametach.


17<br />

Rysunek 3-1. Przykładowy schemat krzyŜowania podczas podziału mejotycznego jądra<br />

komórki (zaznaczono elipsą), w której wyróŜnimy dwie pary genów: Tt oraz Aa<br />

(występującą w chromosomach zaznaczonych prostokątami)<br />

Jeszcze jednym czynnikiem zmieniającym materiał genetyczny jest mutacja.<br />

Występuje ona pod wpływem pewnych związków chemicznych (np.: iperytu, kwasu<br />

azotowego i innych) lub fal elektromagnetycznych (promienie X, gamma,<br />

promieniowanie kosmiczne, ultrafiolet) i polega na braku pewnego odcinka<br />

chromosomu lub jego podwojeniu, czy obróceniu, a takŜe na zmianie lub usunięciu<br />

jednego nukleotydu. Mutacja odgrywa drugorzędną rolę (po opisanym tu krzyŜowaniu i<br />

doborze naturalnym) w procesie tworzenia nowego materiału genetycznego (np.:<br />

względem rodziców człowiek posiada w swoim DNA jedną mutację na około 6<br />

miliardów par nukleotydów).<br />

Kwas DNA zbudowany jest z zasady azotowej (Adeniny, Guaniny, Cytozyny,<br />

Tyminy), cukru pięciowęglowego (dezoksyrybozy) i kwasu fosforowego. Związek<br />

zasady azotowej, dezoksyrybozy i kwasu fosforowego nosi nazwę nukleotydu.


PoniewaŜ w jego skład moŜe wejść jedna z czterech zasad azotowych, rozróŜniamy<br />

cztery typy nukleotydów oznaczanych przez A, G, C lub T (od pierwszej litery nazwy<br />

zasady azotowej wchodzącej w skład nukleotydu).<br />

18<br />

Rysunek 3-2. Budowa kwasu dezoksyrybonukleinowego<br />

Trzy kolejne nukleotydy kodują kaŜdy ze znanych dwudziestu aminokwasów,<br />

które są podstawowym składnikiem białek - ten system kodowania aminokwasów<br />

udowodnił w 1961 roku Crick. Trójkę nukleotydów kodujących aminokwas nazywa się<br />

kodonem.<br />

3.2. Podstawowe pojęcia i parametry<br />

Algorytm genetyczny jest swoistą symulacją procesów biologicznych w celu<br />

rozwiązania problemów technicznych czy naukowych. Model świata organizmów<br />

Ŝywych przyjęty w algorytmie genetycznym opiera się głównie na zjawiskach doboru<br />

naturalnego (selekcji), krzyŜowania i mutacji, gdyŜ głównie te zjawiska umoŜliwiają<br />

organizmom Ŝywym (rozmnaŜającym się płciowo) przystosowanie się do warunków<br />

Ŝycia na Ziemi.<br />

Aby zakodować chromosom, osobnika i generację osobników w pamięci<br />

maszyny cyfrowej, celem zaprogramowania klasycznego algorytmu genetycznego,<br />

przyjmuje się uproszczenia w stosunku do zjawisk zachodzących w przyrodzie:


1) Za jedną cechę organizmu odpowiada dokładnie jeden gen (a nie dwa – dominujący<br />

i recesywny).<br />

2) KaŜdy osobnik posiada tylko jeden chromosom o odpowiedniej długości (a nie kilka<br />

par chromosomów homologicznych).<br />

3) KaŜda generacja ma taką samą liczbę osobników.<br />

4) KaŜdy z osobników ma szansę na wydanie potomstwa w zaleŜności od jego<br />

przystosowania się do otoczenia.<br />

5) KaŜdy nowy osobnik otrzymuje chromosom od ojca lub matki, chyba Ŝe nastąpi<br />

między tymi chromosomami krzyŜowanie. Wtedy otrzyma część chromosomu ojca i<br />

część matki.<br />

6) KaŜdy osobnik moŜe być zarówno ojcem jak i matką - nie wyróŜnia się płci.<br />

7) KaŜda para rodzicielska „wydaje na świat” dwa nowe organizmy (stąd liczba<br />

osobników w generacji musi być parzysta).<br />

8) KaŜdy kodon moŜna zakodować w odpowiedniej ilości bitów, w kodzie<br />

dwójkowym.<br />

9) Podczas tworzenia się nowego chromosomu kaŜdy kodon moŜe ulec mutacji<br />

polegającej na zmianie jego zawartości, przy czym prawdopodobieństwo takiej<br />

mutacji jest z góry określone.<br />

10) Za gen przyjmuje się pojedynczy kodon (a nie jak w przyrodzie całe ciągi<br />

kodonów).<br />

19<br />

Od strony informatycznej zakodowanie klasycznego algorytmu genetycznego polega<br />

więc na:<br />

1) Określeniu w pamięci komputera łańcucha bitowego – chromosomu, gdzie kaŜdy z<br />

bitów interpretowany jest jako gen, a jego pozycja w chromosomie to locus.<br />

2) Przypisaniu do kaŜdego chromosomu wartości funkcji przystosowania – miary<br />

przystosowania danego chromosomu do warunków zadania; chromosom i miara<br />

jago przystosowania stworzą strukturę zwaną osobnikiem.<br />

3) Określeniu w pamięci grupy osobników – generacji startowej (początkowej).<br />

4) Zaprogramowania działania operatorów selekcji (symulacji doboru naturalnego),<br />

krzyŜowania i mutacji działających na poszczególnych osobnikach w celu uzyskania<br />

kolejnej generacji osobników (poniewaŜ wraz z utworzeniem nowej generacji stara<br />

obumiera, to terminy populacja i generacja w klasycznym algorytmie genetycznym


moŜna traktować zamiennie) i działających zgodnie ze schematem blokowym<br />

prezentowanym na rysunku 3-3.<br />

20<br />

Rysunek 3-3. Schemat blokowy klasycznego algorytmu genetycznego [72]<br />

Selekcja (zwana teŜ selekcją ruletkową) chromosomów w klasycznym<br />

algorytmie genetycznym odbywa się na zasadzie symulacji obrotowej tarczy (ruletki),<br />

gdzie kaŜdemu z chromosomów ch danej generacji odpowiada sektor o rozmiarze<br />

(liniowo) proporcjonalnym do jego przystosowania Φ(ch). Całe koło ruletki odpowiada<br />

sumie wartości funkcji przystosowania wszystkich chromosomów w generacji. W<br />

wyniku symulacji „zakręcenia kołem ruletki” wylosowany zostaje jeden z<br />

chromosomów do zostania rodzicem. Prawdopodobieństwo p wylosowania i-tego<br />

chromosomu ch i do puli rodziców wyraŜone jest wzorem 3-1.<br />

Φ(<br />

chi<br />

)<br />

p( ch ) =<br />

gdzie n pop - parzysta liczba osobników w generacji (3-1)<br />

i<br />

n pop<br />

∑<br />

j=<br />

1<br />

Φ(<br />

ch )<br />

j<br />

Losowanie osobników do puli rodziców odbywa się aŜ do uzyskania n pop rodziców<br />

(gdzie n pop jest parzystą liczbą osobników w generacji). Osobniki w puli rodzicielskiej<br />

łączone są kolejno w pary (tj. pierwszy z drugim, trzeci z czwartym itd.).


Pomiędzy parą rodziców moŜe zajść krzyŜowanie (nazywane teŜ krzyŜowaniem<br />

prostym lub jednopunktowym) z zadanym z góry prawdopodobieństwem p cross .<br />

KrzyŜowanie polega na wylosowaniu punktu przecięcia c chromosomów rodziców i<br />

począwszy od tego punktu wymienieniu między rodzicami fragmentów ich<br />

chromosomów. Uzyskane chromosomy traktowane są jako chromosomy potomków.<br />

ZauwaŜmy teŜ, Ŝe w wyniku uproszczeń algorytmu genetycznego względem świata<br />

organizmów Ŝywych, krzyŜowanie nie jest juŜ odpowiednikiem biologicznego zjawiska<br />

crossing-over, gdyŜ zachodzi pomiędzy róŜnymi osobnikami, a nie w obrębie jednej<br />

komórki.<br />

Przykład 3-2<br />

Niech symbol g symbolizuje pojedynczy gen, a symbol g i gen na i-tej pozycji (locus) w<br />

chromosomie o długości d. Wykonanie krzyŜowania dla kaŜdej pary rodziców<br />

g 1 g 2 ...g c-1 g c g c+1 ...g d-1 g d g’ 1 g’ 2 ...g’ c-1 g’ c g’ c+1 ...g’ d-1 g’ d<br />

polega na wylosowaniu punktu przecięcia c ∈ {2,3...,d-1,d} (przy czym<br />

prawdopodobieństwo zdarzenia polegającego na przyjęciu przez c dowolnej z<br />

moŜliwych wartości {2,3...,d-1,d} jest jednakowe i wynosi 1/(d-1) ), a następnie na<br />

wymianie genów pomiędzy chromosomami rodziców począwszy od punktu przecięcia:<br />

g 1 g 2 ...g c-1 g’ c g’ c+1 ...g’ d-1 g’ d g 1 g 2 ...g c-1 g c g’ c+1 ...g’ d-1 g’ d<br />

Uzyskane chromosomy to potomkowie rodziców.<br />

21<br />

Dla ciągu binarnego mutacja polega na zamianie wartości genu z wartości 1 na 0<br />

lub odwrotnie z zadanym prawdopodobieństwem p mut . Mutacja (podobnie jak w świecie<br />

organizmów Ŝywych) spełnia rolę drugorzędną w algorytmie genetycznym –<br />

najistotniejsze są operatory selekcji i krzyŜowania. Z tego powodu wartość mutacji<br />

podaje się zazwyczaj [72] bardzo niską (np.: mniej niŜ 1%).<br />

Dla zbudowania chromosomów generacji startowej (nazywanej teŜ początkową<br />

[72]) naleŜy określić jeszcze jeden parametr klasycznego algorytmu genetycznego –<br />

prawdopodobieństwo wylosowania jedynki p sel1 uŜytej do budowy chromosomów.<br />

Dodatkowymi parametrami klasycznego algorytmu genetycznego mogą być<br />

parametry określające warunek zatrzymania (rysunek 3-3) np.: maksymalna liczba<br />

moŜliwych do wykonania generacji t max .<br />

Algorytm genetyczny najczęściej słuŜy do rozwiązania zadania optymalizacji<br />

[61], przy czym rozwaŜać moŜna tylko zadanie maksymalizacji. JeŜeli zadania<br />

optymalizacji polega na minimalizacji funkcji g, to jest ono równowaŜne zadaniu<br />

maksymalizacji funkcji f takiej, Ŝe f = -g. Ponadto przyjmuje się, Ŝe maksymalizowana<br />

funkcja f jest dodatnia w swojej dziedzinie. JeŜeli tak nie jest, a funkcja jest funkcją<br />

ograniczoną z dołu, to moŜna do wartości funkcji dodawać wartość tego ograniczenia.<br />

Maksymalizowana funkcja f nie musi odpowiadać funkcji przystosowania Φ (często


proponuje się [72] zastosowanie w funkcji przystosowania funkcji kary). Ma być<br />

jedynie zachowany warunek, Ŝe maksymalizacja funkcji przystosowania Φ będzie<br />

pociągać za sobą maksymalizację funkcji f (wzór 3-2).<br />

∧<br />

j∈{1,2,...,<br />

n pop}<br />

max Φ(<br />

ch<br />

j<br />

)<br />

=<br />

max f ( ch<br />

j<br />

)<br />

22<br />

(3-2)<br />

Stąd pojęcie „najlepszy” chromosom (rysunek 3-3) oznacza chromosom o największej<br />

wartości funkcji przystosowania. Tak więc wystarczy sprowadzić rozwiązywany<br />

problem do zadania optymalizacji, aby mogło być ono rozwiązywane za pomocą<br />

algorytmu genetycznego.<br />

Określenie parametrów pracy (rysunek 3-3) klasycznego algorytmu<br />

genetycznego polega na zdefiniowaniu następujących wartości:<br />

- n pop – parzysta liczba osobników w generacji,<br />

- p cross – prawdopodobieństwo zajścia krzyŜowania jednopunktowego,<br />

- p mut – prawdopodobieństwo zajścia mutacji,<br />

- p sel1 – prawdopodobieństwo wylosowania jedynki w generacji startowej<br />

oraz na określeniu warunków zatrzymania algorytmu, a takŜe na zdefiniowaniu funkcji<br />

przystosowania Φ.<br />

Holland [36] zaproponował jeszcze jeden operator pozwalający na<br />

otrzymywanie potomków róŜnych od organizmów rodzicielskich: operator inwersji<br />

zachodzącej z prawdopodobieństwem p inv . Operator ten działa na jednym chromosomie<br />

i pomiędzy dwoma losowo wybranymi pozycjami chromosomu wykonuje zamianę<br />

kolejności genów.<br />

Podczas realizacji algorytmu genetycznego są uŜywane liczby losowe ([91],<br />

[55], [84]). Wykorzystuje się je do wyboru osobników mających zostać rodzicami, do<br />

wylosowania punktu krzyŜowania oraz do realizacji mutacji. PoniewaŜ<br />

oprogramowanie komputera nie jest w stanie samodzielnie wygenerować liczb<br />

losowych, to uŜywa się pewnych algorytmów skończonych, które pozwalają na<br />

generowanie liczb spełniających z góry załoŜone testy (załączony do pracy program<br />

glp.exe). Generowane liczby nie są liczbami losowymi, gdyŜ wartość kaŜdej kolejnej<br />

moŜna przewidzieć. Takie algorytmy nazywane są generatorami liczb pseudolosowych.<br />

Opisane metody składające się na klasyczny algorytm genetyczny zostały rozbudowane<br />

m.in. o nowe metody kodowania chromosomu, selekcji, zapisu zadania optymalizacji,


tworząc grupę metod zaliczanych nie tyle do algorytmów genetycznych ile do ich<br />

rozszerzenia – metod programowania ewolucyjnego [61].<br />

23<br />

3.3. Twierdzenie o schematach<br />

Mimo tego, Ŝe w przyrodzie obserwujemy cały czas postępujący proces<br />

przystosowania się organizmów Ŝywych do otoczenia - ewolucję i mimo tego, Ŝe sami<br />

jej ulegamy, to nie stanowi jeszcze wystarczającego dowodu, Ŝe bazujący na zjawiskach<br />

zachodzących w przyrodzie algorytm genetyczny jest odpowiedni do rozwiązywania<br />

problemów naukowych czy technicznych. Rozwiązanie tych problemów sprowadza się<br />

w wielu przypadkach do przeszukiwania przestrzeni moŜliwych rozwiązań celem<br />

znalezienia rozwiązania lepszego niŜ znane dotychczas. Tak więc algorytm genetyczny<br />

realizuje zadanie optymalizacji, chociaŜ nie w ścisłym tego słowa znaczeniu (z łac.<br />

optimus – najlepszy), gdyŜ optymalizacja dotyczy poszukiwania najlepszego<br />

rozwiązania. Celem wyjaśnienia dlaczego algorytm genetyczny usiłuje znaleźć lepsze<br />

rozwiązanie, naleŜy przeanalizować zasady jego pracy ujęte w tzw. twierdzeniu o<br />

schematach.<br />

Dla wyjaśnienia pojęcia schematu rozszerza się alfabet opisujący binarny<br />

chromosom o symbol *, który oznacza 0 lub 1.<br />

Schematem nazywamy [61] reprezentację łańcuchów binarnych, które są z nim<br />

zgodne na wszystkich pozycjach innych niŜ symbol *. Mówimy teŜ, Ŝe chromosom<br />

naleŜy do danego schematu (jest reprezentantem schematu), jeŜeli [72] dla kaŜdej<br />

pozycji (locus) j ∈ {1,2,...,l chrom }, gdzie l chrom jest długością chromosomu, symbol<br />

występujący na j-tej pozycji (locus) chromosomu odpowiada symbolowi na j-tej pozycji<br />

schematu, przy czym 0 i 1 w chromosomie odpowiada symbolowi * w schemacie.<br />

Przykład 3-3<br />

RozwaŜmy następujące zadanie [30]:<br />

„Wyznaczyć maksymalną wartość funkcji<br />

f : 0,31 ⊂ ℵ∪{0}<br />

→ R danej wzorem<br />

f(x)=x 2 .”<br />

W celu rozwiązania tego zadania za pomocą algorytmu genetycznego naleŜy<br />

zakodować jako osobnika wartość x w kodzie dwójkowym (np.: wartość 2 kodujemy jako<br />

chromosom „00010” o wartości przystosowania 2 2 = 4). Stwórzmy przykładową<br />

populację startową złoŜoną z czterech osobników [42]:<br />

L.p. Chromosom Przystosowanie<br />

1 01101 169<br />

2 11000 576<br />

3 01000 64<br />

4 10011 361


Przyglądając się budowie chromosomów moŜna dostrzec pewien związek pomiędzy<br />

budową i przystosowaniem. OtóŜ chromosomy zawierające jedynkę na swoim początku<br />

mają wyŜsze przystosowanie niŜ pozostałe (chromosomy 2 i 4). Oznacza to, iŜ jedynka na<br />

tej pozycji to jakaś dobra cecha osobnika, która ułatwia mu przeŜycie. Taką dobrą cechę<br />

moŜemy wyróŜnić za pomocą schematu: 1****.<br />

Schematy posiadają swoje właściwości - rząd i rozpiętość. Rzędem schematu H<br />

nazywamy liczbę ustalonych pozycji w schemacie i oznaczamy o(H) np.: o(10***)=2.<br />

Rozpiętością schematu H nazywamy odległość między skrajnymi pozycjami ustalonymi<br />

i oznaczamy δ(H) np.: δ(1**0*)=3, δ(1****)=0. ZauwaŜmy, Ŝe podczas reprodukcji<br />

liczba reprezentantów dobrych schematów (tj. kodujących dobre cechy osobnika, które<br />

to ułatwiają mu przeŜycie – przykład 3-3) wzrasta oraz, Ŝe podczas krzyŜowania<br />

schematy o duŜej rozpiętości ulegają zniszczeniu.<br />

ZałóŜmy, Ŝe w t generacji znajduje się m=m(H,t) reprezentantów schematu H.<br />

Owi reprezentanci podczas procesu rozmnaŜania ulegają powieleniu na swoich<br />

potomków (jeszcze bez uwzględnienia krzyŜowania) z prawdopodobieństwem<br />

określonym wzorem 3-1 (dotyczy klasycznego algorytmu genetycznego). W związku z<br />

tym w następnej t+1 generacji moŜemy oczekiwać * następującej liczby reprezentantów<br />

schematu H (wzór 3-3):<br />

Φ(<br />

H )<br />

m( H,<br />

t + 1) = m(<br />

H,<br />

t)<br />

⋅ n ⋅<br />

(3-3)<br />

pop<br />

n pop<br />

∑<br />

j=<br />

1<br />

Φ(<br />

ch )<br />

gdzie Φ(H) jest średnim przystosowaniem reprezentantów schematu H w generacji t.<br />

JeŜeli oznaczymy średnie przystosowanie osobnika w generacji przez (3-4), to moŜemy<br />

zapisać wzór (3-3) jako (3-5).<br />

Φ =<br />

n pop<br />

∑<br />

j=<br />

1<br />

Φ(<br />

ch )<br />

n<br />

pop<br />

j<br />

j<br />

24<br />

(3-4)<br />

Φ(<br />

H )<br />

m ( H,<br />

t + 1) = m(<br />

H , t)<br />

⋅<br />

(3-5)<br />

Φ<br />

Gdyby załoŜyć, Ŝe średnie przystosowanie reprezentantów schematu H przewyŜsza<br />

średnie przystosowanie generacji o wielkość<br />

otrzymujemy wzór (3-6), a z niego zaleŜność (3-7):<br />

c Φ i c jest wielkością stałą, to<br />

Φ + cΦ<br />

m ( H,<br />

t + 1) = m(<br />

H,<br />

t)<br />

⋅ = m(<br />

H , t)<br />

⋅ (1 + c)<br />

(3-6)<br />

Φ<br />

* Lewa strona równania (3-3) powinna być opisana jako: [ m( H, t +1)<br />

]<br />

E gdzie E jest wartością<br />

oczekiwaną. Jednak ze względu na to, Ŝe algorytmy genetyczne operują zazwyczaj na duŜych<br />

populacjach moŜliwe jest pominięcie we wzorze wartości oczekiwanej.


25<br />

m ( H,<br />

t)<br />

+ )<br />

t<br />

= m(<br />

H,0)<br />

⋅ (1 c<br />

(3-7)<br />

Otrzymany wzór (3-7) wykazuje, Ŝe w procesie reprodukcji (który działa jak dobór<br />

naturalny) schematy lepsze od przeciętnej są wybierane w liczbie rosnącej wykładniczo.<br />

We wzorze (3-5) naleŜy jeszcze uwzględnić moŜliwość zniszczenia danego<br />

schematu w wyniku rozerwania chromosomu, co zachodzi podczas krzyŜowania. Punkt<br />

podziału chromosomu moŜe zostać wylosowany na dowolnej pozycji spośród<br />

moŜliwych (tj. od pozycji 2 do końca chromosomu - pozycja l chrom ), stąd<br />

prawdopodobieństwo rozerwania danego schematu wynosi: p δ ( H ) ( l −1)<br />

.<br />

roz<br />

=<br />

chrom<br />

JeŜeli uwzględnimy jeszcze prawdopodobieństwo zajścia krzyŜowania p cross , to<br />

prawdopodobieństwo p s zachowania schematu (bez jego rozerwania) podczas<br />

krzyŜowania moŜna wyrazić wzorem (3-8).<br />

p<br />

s<br />

≥ 1−<br />

p<br />

cross<br />

δ<br />

l<br />

( H )<br />

chrom<br />

−1<br />

(3-8)<br />

PoniewaŜ reprodukcja i krzyŜowanie zachodzą niezaleŜnie od siebie, stąd wzór<br />

(3-5) zapiszemy jako (3-9).<br />

( , t + 1) ≥ m( H , t)<br />

m H<br />

( H ) ⎛ δ ( H )<br />

Φ<br />

Φ<br />

⎜1−<br />

p<br />

⎝<br />

cross lchrom<br />

⎞<br />

⎟<br />

−1⎠<br />

(3-9)<br />

Ze wzoru (3-9) wynika, Ŝe liczba reprezentantów schematów lepiej<br />

przystosowanych od średniego przystosowania w generacji i o małej rozpiętości będzie<br />

rosnąć w następnych pokoleniach wykładniczo.<br />

Aby schemat H nie uległ zniszczeniu podczas mutacji, muszą się zachować<br />

wszystkie jego pozycje ustalone (tu: pozycje, gdzie występuje 0 lub 1). PoniewaŜ<br />

mutacja na kaŜdej pozycji ustalonej jest niezaleŜna od innych mutacji stąd schemat H<br />

o( H )<br />

przetrwa mutację z prawdopodobieństwem ( 1− p mut ) , gdzie pmut jest<br />

prawdopodobieństwem mutacji. Dla p mut


26<br />

Przykład 3-4<br />

Zasadę pracy algorytmu genetycznego opisanego wzorem (3-10) przedstawia program<br />

xx.exe (mojego autorstwa), który znajduje maksymalną wartość funkcji<br />

f:〈0,2 30 〉⊂ℵ∪{0}→R danej wzorem f(x)=x 2 . Oczywiście jest to zadanie trywialne i nie<br />

wymagające stosowania tak wyrafinowanych metod jak algorytm genetyczny, jednak<br />

zostało tu ono przytoczone celem prostej ilustracji przystosowania schematów.<br />

1<br />

Średnie przystosowanie osobnika w generacji<br />

Przystosowanie<br />

0,8<br />

0,6<br />

0,4<br />

0,2<br />

0<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19<br />

Generacja<br />

Pierwszy przebieg programu<br />

Drugi przebieg programu<br />

Rysunek 3-4. Powielanie dobrych schematów algorytmu genetycznego<br />

Przystosowanie wynoszące 1 na wykresie z rysunków 3-4 i 3-5 osobnik osiągnie wtedy,<br />

gdy wartość jego przystosowania osiągnie wartość największą z moŜliwych (2 30 ) 2 ≈<br />

1,1529215⋅10 18 . Jak widać z rysunku 3-4 średnie przystosowanie generacji początkowo<br />

wzrasta, co jest wynikiem zwiększania się liczby reprezentantów dobrych schematów w<br />

kolejnych populacjach.<br />

Przystosowanie<br />

1<br />

0,95<br />

0,9<br />

0,85<br />

0,8<br />

0,75<br />

0,7<br />

0,65<br />

0,6<br />

10<br />

<strong>70</strong><br />

Średnie przystosowanie osobnika w generacji.<br />

130<br />

190<br />

250<br />

310<br />

3<strong>70</strong><br />

430<br />

Pierwszy przebieg programu<br />

490<br />

550<br />

Generacja<br />

610<br />

6<strong>70</strong><br />

730<br />

790<br />

850<br />

910<br />

9<strong>70</strong><br />

Drugi przebieg programu<br />

Rysunek 3-5. Dalsze etapy pracy algorytmu genetycznego<br />

Jednak gdy wszystkie osobniki danej generacji są dość dobrze przystosowane, to stają się<br />

one podobne do siebie. NaleŜy wtedy oczekiwać jakiejś generacji o słabiej<br />

przystosowanych osobnikach, gdyŜ silniej się wtedy zaznacza działanie mutacji (rysunek<br />

3-5).<br />

Program xx.exe znalazł podczas pierwszego przebiegu (pierwszego<br />

uruchomienia) w 780 generacji osobnika o przystosowaniu na wykresie 0.999991%<br />

(rysunek 3-5), czyli o wartości przystosowania 1.152911⋅10 18 . Chromosom tego osobnika<br />

wyglądał następująco: 111111111111111110110100000001, co przedstawia sobą wartość<br />

1073736961 (najlepszy moŜliwy osobnik do osiągnięcia to ten, którego chromosom<br />

składa się z samych jedynek, co naleŜy rozumieć jako wartość 1073741823). Wynik taki<br />

(wobec dziedziny składającej się 1073741824 punktów) naleŜy uznać za zadowalający.<br />

NaleŜy zauwaŜyć, Ŝe najlepszy chromosom jest reprezentantem schematów, które kodują<br />

jedynki w początkowej jego części – są to schematy kodujące osobniki bardzo dobrze<br />

przystosowane.


27<br />

3.4. Tradycyjne metody optymalizacji<br />

PoniewaŜ zagadnień optymalizacji uŜywa się w wielu dziedzinach, to<br />

zastosowania algorytmu genetycznego są dość szerokie. Wykorzystuje się je przy<br />

tworzeniu muzyki ([i.2], [i.3]), przy symulacji zachowań Ŝywych organizmów ([i.7]),<br />

przy procesie uczenia sieci neuronowych ([i.4]). Prostota i duŜe moŜliwości algorytmu<br />

sprawiają, Ŝe gotowe programy uŜywające algorytmu genetycznego do znajdowania<br />

maksimum funkcji dostępne są w sieci Internet ([i.5], [i.6]) oraz Ŝe powstają ośrodki i<br />

kluby zajmujące się badaniami algorytmów genetycznych ([19]). Jednak oprócz<br />

algorytmu genetycznego do rozwiązywania problemu optymalizacji stosuje się równieŜ<br />

inne metody [1] deterministyczne:<br />

- dla zadań ciągłych:<br />

<br />

<br />

dla liniowej funkcji celu i ograniczeń: metody liniowego sympleksu<br />

dla zadań z wypukłą funkcją celu:<br />

• metody bezgradientowe: poszukiwań prostych - kierunek poszukiwań jest<br />

zawsze równoległy do osi układu współrzędnych; kierunków<br />

sprzęŜonych - kierunek jest wyznaczany na podstawie historii<br />

poszukiwań<br />

• metody gradientowe: metoda największego spadku - kierunkiem<br />

poszukiwań jest minus gradient funkcji w punkcie; metoda<br />

gradientów sprzęŜonych<br />

• metody newtonowskie i pseudonewtonowskie: metoda Newtona -<br />

kierunkiem poszukiwań jest iloczyn macierzy pochodnych<br />

cząstkowych i gradientu funkcji; metoda pesudonewtonowska -<br />

kierunkiem poszukiwań jest iloczyn aproksymowanej macierzy<br />

pochodnych cząstkowych i gradientu funkcji<br />

- dla zadania optymalizacji globalnej (gdy funkcja celu ma w obszarze<br />

dopuszczalnym więcej niŜ jedno maksimum/minimum lokalne):<br />

<br />

<br />

metody wielostartowe (wielokrotne uruchomienie algorytmu optymalizacji<br />

lokalnej począwszy od róŜnych punktów startowych)<br />

metody populacyjne (dla grupy punktów startowych po wykonaniu<br />

- dla zadań dyskretnych:<br />

<br />

<br />

optymalizacji lokalnej usuwa się punkty zbliŜające się do siebie<br />

zostawiając jeden)<br />

metody dokładne: algorytm pełnego przeglądu<br />

metody przybliŜone: metoda k-opt - gwarantuje, Ŝe w otoczeniu rozwiązania o<br />

promieniu k nie moŜna znaleźć innego maksimum/minimum<br />

lokalnego


metody losowe: metoda losowa - polega na losowym próbkowaniu przestrzeni<br />

rozwiązań<br />

oraz metody niedeterministyczne, które polegają na wykorzystywaniu losowości w<br />

procesie poszukiwań nowych rozwiązań (i które nadają się do zastosowań ciągłych jak i<br />

dyskretnych):<br />

- metoda Monte Carlo - polega na losowaniu z rozkładem jednostajnym punktów w<br />

przestrzeni rozwiązań z zapamiętaniem najlepszego<br />

- metoda błądzenia przypadkowego - polega na wyznaczaniu punktów będących<br />

wartością oczekiwaną rozkładu prawdopodobieństwa uŜywanego do generowania<br />

kolejnego punktu; podobnie jak w metodzie Monte Carlo zapamiętuje się najlepszy<br />

wynik<br />

- metoda tabu - metoda błądzenia przypadkowego bez moŜliwości powrotu do<br />

rozwiązań poprzednio uzyskanych<br />

- metoda symulowanego wyŜarzania - metoda błądzenia przypadkowego, w którym<br />

nowo wygenerowany punkt staje się kolejnym punktem roboczym, gdy poprawia<br />

wartość funkcji celu, a w przeciwnym wypadku z prawdopodobieństwem p akcept<br />

wynoszącym p akcept = exp(-|∆f|/T), gdzie |∆f| jest modułem róŜnicy funkcji celu w<br />

starym i nowym punkcie, a T>0 jest regulowanym (stopniowo obniŜanym)<br />

parametrem zwanym temperaturą.<br />

Algorytm genetyczny jest swoistym połączeniem szybkości metod deterministycznych i<br />

ogólności metod niedeterministycznych dzięki poszukiwaniu optymalnych rozwiązań w<br />

obszarach, w których mogą one wystąpić.<br />

28


29<br />

4. Diagnostyka maszyn<br />

Wzrost złoŜoności maszyn i procesów technologicznych spowodował pojawienie<br />

się [18] nowej gałęzi nauki – diagnostyki technicznej, w której wyróŜniamy dwa<br />

główne kierunki: diagnostykę maszyn i diagnostykę procesów przemysłowych.<br />

Diagnostyka maszyn zajmuje się oceną stanu urządzeń poprzez badanie ich<br />

właściwości i badanie procesów towarzyszących ich funkcjonowaniu (np.: zjawiska<br />

termiczne, czy wibroakustyczne). Na maszyny działają czynniki zewnętrzne i<br />

wewnętrzne, które najczęściej powodują stopniowe pogorszenie właściwości<br />

eksploatacyjnych. Zmiany ten najczęściej zaleŜą od warunków eksploatacji, a są one<br />

zakłócane poprzez przeglądy, czy remonty.<br />

Diagnostyka procesów przemysłowych zajmuje się rozpoznawaniem zmian<br />

stanów procesów przemysłowych, gdzie pod pojęciem proces przemysłowy rozumie się<br />

[18] ciąg działań realizowanych w ustalonym czasie przez określoną grupę maszyn przy<br />

określonych zasobach.<br />

NaleŜy teŜ zaznaczyć, Ŝe rozpoznanie stanu maszyny lub procesu (obiektu badań)<br />

na podstawie aktualnie dostępnych informacji rozpatruje się jako:<br />

- diagnozowanie – celem określenia aktualnego stanu<br />

- genezowanie – celem określenia wcześniejszych stanów<br />

- prognozowanie – celem określenia przyszłych stanów.<br />

Diagnozowanie moŜna traktować jako dwuetapowy proces rozpoznawania wzorców<br />

[18], w którym realizuje się:<br />

- fazę ekstrakcji sygnałów diagnostycznych<br />

- fazę klasyfikacji stanu technicznego diagnozowanego obiektu na podstawie<br />

uzyskanych sygnałów diagnostycznych.<br />

4.1. Rozpoznawanie wzorców<br />

Celem rozpoznawania wzorców jest przypisanie obiektu, na podstawie<br />

zaobserwowanych danych (sygnałów diagnostycznych) do odpowiedniej klasy. W<br />

warunkach rzeczywistych, wobec braku informacji nt. reguł przynaleŜności obiektów<br />

do poszczególnych klas, system rozpoznający opiera się na ciągu uczącym – zbiorze<br />

obiektów, dla których znana jest ich prawidłowa klasyfikacja. MoŜliwe jest więc<br />

rozpoznawanie automatyczne, które polega na uczeniu się na podstawie przykładów, tak


aby uzyskać zdolność uogólniania – proces klasyfikacji [18], a następnie na orzekaniu o<br />

wszystkich obiektach podczas pracy systemu – proces wnioskowania.<br />

Pod pojęciem obiekt [46] rozumie się dowolny przedmiot badań wyodrębniony<br />

myślowo z otoczenia, tj. przedmiot, osobę, istotę, pojęcie, czy zdarzenie. Grupy<br />

(skupienia) są zbiorami obiektów bardziej podobnych do siebie (wewnątrz grupy) niŜ<br />

do pozostałych [9]. Kategorie obiektów (klasy) moŜna wyodrębnić na podstawie<br />

doświadczenia i intuicji badacza (lub człowieka eksperta) albo na podstawie metod<br />

matematycznych takich jak analiza skupień i przyporządkowanie grupom obiektów<br />

odpowiednich klas (etykiet).<br />

Przed rozpoczęciem klasyfikacji waŜnym zagadnieniem jest określenie istotnych<br />

cech (atrybutów) obiektów - które dobrze opisują zmienność obiektów i które moŜna<br />

zmierzyć, czy teŜ określić ich wartość – cech diagnostycznych. Istnieją trzy rodzaje<br />

cech: ilościowe (rzeczywiste), wyliczeniowe (porządkowe) i logiczne.<br />

W zaleŜności od rodzaju cech określa się sposób porównania obiektów poprzez<br />

róŜnicę d lub podobieństwo p. Dla cech ilościowych do najczęściej uŜywanych [46]<br />

sposobów wyznaczania róŜnicy d zalicza się geometryczne sposoby wyznaczania<br />

odległości pomiędzy dwoma obiektami x=(x 1 , x 2 , ..., x n ) i y=(y 1 , y 2 , ..., y n ) (o n cechach,<br />

gdzie n∈ℵ i ℵ jest zbiorem liczb naturalnych):<br />

a) odległość miejska<br />

30<br />

b) odległość euklidesowa<br />

n<br />

∑<br />

i i<br />

d( x,<br />

y)<br />

= x − y<br />

(4-1)<br />

i=<br />

1<br />

c) kwadrat odległości euklidesowej<br />

n<br />

i i<br />

∑( x − y )<br />

d( x,<br />

y)<br />

=<br />

(4-2)<br />

i=<br />

1<br />

n<br />

i i<br />

∑( x − y )<br />

i=<br />

1<br />

2<br />

2<br />

d( x,<br />

y)<br />

=<br />

(4-3)<br />

d) odległość Czebyszewa - największa odległość pomiędzy znormalizowanymi cechami<br />

(normalizację przeprowadza się, aby moŜna było porównywać cechy).<br />

d<br />

i i<br />

( x,<br />

y)<br />

= max<br />

i<br />

x − y<br />

(4-4)


MoŜliwe są takŜe inne sposoby wyznaczania odległości d (nawet dla pozostałych<br />

rodzajów cech), o ile spełniają one warunki dane wzorami 4-5(a-d).<br />

31<br />

a) d(x,y) ≥ 0<br />

n<br />

x,<br />

y∈∧R<br />

∈∧<br />

b) d(x,y) = 0 dla x = y<br />

n<br />

x,<br />

y R<br />

c) d(x,y) = d(y,x)<br />

n<br />

x,<br />

y∈∧R<br />

(4-5)<br />

d) d(x,z) ≤ d(x,y) + d(y,z)<br />

n<br />

x,<br />

y∧,<br />

z∈R<br />

Przy wartości d = 0 badane obiekty uznaje się za identyczne, a dla coraz większych<br />

wartości odległości uznaje się obiekty za coraz mniej podobne do siebie.<br />

Wśród sposobów wyznaczania podobieństwa najczęściej stosuje się:<br />

a) współczynnik korelacji liniowej Pearsona<br />

b) odległość kątową<br />

p<br />

∑<br />

i=<br />

1<br />

n<br />

∑<br />

i<br />

− x)(<br />

y<br />

i=<br />

1<br />

( x,<br />

y)<br />

=<br />

(4-6)<br />

n<br />

n<br />

i 2 i 2<br />

p<br />

( x<br />

( x<br />

− x)<br />

∑<br />

∑<br />

i=<br />

1<br />

i<br />

− y)<br />

( y<br />

n n<br />

i 2 i<br />

∑( x ) ∑( y )<br />

i=<br />

1<br />

n<br />

x<br />

i<br />

y<br />

i<br />

i=<br />

1<br />

− y)<br />

i=<br />

1<br />

( x,<br />

y)<br />

=<br />

(4-7)<br />

2<br />

MoŜliwe są inne sposoby wyznaczania wartości podobieństwa p, o ile spełniają warunki<br />

opisane wzorami 4-8(a-d).<br />

a) p(x,y) ≥ 0<br />

n<br />

x,<br />

y∈∧R<br />

∈∧<br />

b) p(x,y) < 1 gdy x ≠ y<br />

n<br />

x,<br />

y R<br />

∈∧<br />

c) p(x,y) = 1 gdy x = y<br />

n<br />

x,<br />

y R<br />

∈∧<br />

d) p(x,y) = p(y,<br />

x)<br />

n<br />

x,<br />

y R<br />

(4-8)<br />

Im większa wartość podobieństwa p, tym obiekty są bardziej podobne do siebie. Gdy<br />

p=1, to obiekty są identyczne [28].


Celem wyznaczenia podobieństwa p lub róŜnicy d wykonuje się niekiedy normalizację<br />

cech, gdy róŜna jest przestrzeń zmienności tychŜe cech, celem wyrównania zakresu<br />

zmienności. W zbiorze D obiektów do najczęściej [46] zaliczanych sposobów<br />

normalizacji i-tej cechy (gdzie i∈{1,2, ...,n}) zalicza się:<br />

a) zamianę zakresu zmienności do przedziału 〈0,1〉<br />

32<br />

max{ x<br />

i<br />

1<br />

x<br />

i<br />

, x<br />

i<br />

2<br />

− min{ x<br />

,..., x<br />

i<br />

|| D||<br />

i<br />

1<br />

, x<br />

i<br />

2<br />

,..., x<br />

} − min{ x<br />

i<br />

|| D||<br />

i<br />

1<br />

, x<br />

}<br />

i<br />

2<br />

,..., x<br />

i<br />

|| D||<br />

}<br />

(4-9)<br />

b) standaryzację<br />

i i<br />

x − x<br />

VX<br />

gdzie VX i – odchylenie standardowe zmiennej losowej X i , DX i - wariancja<br />

i<br />

(4-10)<br />

|| D||<br />

i<br />

i 1<br />

2<br />

i 1<br />

VX = DX =<br />

x = ∑ x<br />

|| D ||<br />

|| D ||<br />

|| D||<br />

i i<br />

∑( x − x )<br />

j<br />

j=<br />

1<br />

l=<br />

1<br />

i<br />

l<br />

Metody rozwiązania zadań klasyfikacji polegają na realizacji [57] dwóch<br />

etapów:<br />

- analiza danych celem syntezy reguł wnioskowania (uczenie się),<br />

- podejmowania decyzji na podstawie uzyskanych reguł (wnioskowanie).<br />

JeŜeli w zadaniu znane są klasy i reguły je opisujące, to etap pierwszy nie zachodzi. Jest<br />

to tzw. zadanie klasyfikacji prostej [46].<br />

Do pierwszego z etapów rozwiązania zadania klasyfikacji moŜna zastosować<br />

jedną z dwóch strategii uczenia:<br />

- z nauczycielem (gdy nie dysponujemy opisem klas, a jedynie poprawnie<br />

sklasyfikowaną serią danych przykładowych),<br />

- bez nauczyciela (gdy nie są znane przykłady poprawnej klasyfikacji).<br />

W przypadku braku jasno określonych klas porównuje się (wyznaczając róŜnicę d<br />

lub podobieństwo p) badany obiekt do obiektów z serii danych przykładowych. Istnieją<br />

dwie popularne metody porównania:<br />

- metoda najbliŜszego sąsiada (zwana takŜe metodą NN z angielskiego nearest<br />

neighbour – najbliŜszy sąsiad)<br />

- metoda k- najbliŜszych sąsiadów (zwana teŜ a- najbliŜszych sąsiadów, czy a-NN).<br />

Pierwsza z metod polega na przypisaniu badanego obiektu do klasy, do której naleŜy<br />

najbardziej podobny do niego obiekt z serii danych przykładowych. Druga z metod


polega na przeprowadzeniu porównania badanego obiektu z najbardziej podobnymi a<br />

obiektami z serii danych przykładowych i przypisaniu obiektu do klasy reprezentowanej<br />

najliczniej w grupie porównywanych obiektów (przy czym a nie moŜe być większy niŜ<br />

najmniejsza liczność obiektów klasy w serii porównawczej). Dzięki temu druga z metod<br />

jest mniej wraŜliwa na błędne sklasyfikowanie obiektu z danych przykładowych.<br />

33<br />

W przypadku analizy skupień celem jest taki podział serii obiektów na pewną liczbę<br />

grup, Ŝeby obiekty naleŜące do jednej grupy były podobne do siebie, a naleŜące do<br />

róŜnych grup róŜniły się od siebie. Zadanie systemu klasyfikującego polega takŜe na<br />

powiązaniu uzyskanych grup z kategoriami. Wśród algorytmów analizy skupień<br />

wyodrębnić moŜemy co najmniej trzy metody:<br />

- graficzne (np.: diagramy Czekanowskiego);<br />

- hierarchiczne (gdzie wyniki moŜna przedstawić w postaci dendrogramu);<br />

- k-optymalizacyjne (gdzie seria obiektów dzielona jest na k zbiorów).<br />

Dla metod hierarchicznych rozróŜnić moŜna jeszcze dwa sposoby realizacji<br />

algorytmów:<br />

- aglomeracyjne (polegające na łączeniu najbliŜszych grup, gdzie początkowo grupą<br />

jest jeden obiekt)<br />

- podziałowe (polegające na dzieleniu grup, aŜ kaŜdy obiekt stanie się jedną grupą,<br />

gdzie początkowo wszystkie obiekty są jedną grupą).<br />

Metody k-optymalizacyjne, do których zalicza się metoda k-średnich (nazywana teŜ<br />

metodą k-środków [12] z angielskiego c-means), polegają na ustaleniu liczby k grup<br />

przez badającego i przydzielaniu obiektów do najbliŜszych im grup, a następnie na<br />

przemieszczaniu obiektów między grupami, tak aby zminimalizować odległość<br />

obiektów od środków grup.<br />

Problem grupowania jest dość łatwy do rozwiązania, gdy grupy obiektów są od<br />

siebie oddzielone. Jednak dane rzeczywiste często składają się z grup rozmieszczonych<br />

bardzo blisko siebie, czy wręcz na siebie zachodzących. W takich wypadkach<br />

jednoznaczne przypisanie obiektów do poszczególnych grup moŜe utrudniać właściwą<br />

interpretację wyniku grupowania. Wady tej pozbawione są w pewnym stopniu<br />

algorytmy grupowania bazujące na zbiorach rozmytych, gdyŜ dostarczają informacji o<br />

stopniu przynaleŜności obiektu do grupy, co umoŜliwia m.in. zlokalizowanie obiektów<br />

leŜących na pograniczu grup.


34<br />

4.2. Podział klasyczny i rozmyty<br />

Niech dany będzie zbiór danych uczących D={x 1 , x 2 , ..., x ||D|| }⊂R n , gdzie<br />

x<br />

i<br />

= [ x , x ,..., x ]∈ R<br />

1<br />

i<br />

2<br />

i<br />

n<br />

i<br />

n<br />

( dla i∈{1,2,...,||D||} ) jest obiektem uczącym (wzorcem) o n<br />

cechach. Zbiór D moŜemy zapisać w postaci macierzy danych uczących Z (wzór 4-11):<br />

1<br />

⎡ x1<br />

⎢ 2<br />

= ⎢x1<br />

Z<br />

⎢ ...<br />

⎢<br />

n<br />

⎢⎣<br />

x1<br />

x<br />

x<br />

x<br />

1<br />

2<br />

2<br />

2<br />

...<br />

n<br />

2<br />

...<br />

...<br />

...<br />

...<br />

1<br />

x ⎤<br />

|| D||<br />

2 ⎥<br />

x||<br />

D||<br />

⎥<br />

... ⎥<br />

n<br />

⎥<br />

x||<br />

D||<br />

⎥⎦<br />

(4-11)<br />

Grupowanie jest podziałem zbioru danych uczących D={x 1 , x 2 , ..., x ||D|| } na k<br />

grup, gdzie wartość k jest z góry określona. Grupa jest więc pewnym podzbiorem<br />

skończonego zbioru danych uczących i w zaleŜności od zastosowanych zbiorów,<br />

klasycznych czy rozmytych, rozróŜniamy odpowiednie rodzaje podziałów.<br />

Podział klasyczny (zwany teŜ twardym z angielskiego hard partition) zbioru<br />

danych uczących D, to rodzina podzbiorów A i (gdzie i∈{1,2,...,k} i k ∈ℵ \ {1 }) zawarta<br />

w zborze potęgowym Pow(D), co zapisujemy (wzór 4-12):<br />

{ i ∈ {1,2,..., k};<br />

k ∈ℵ \ {1 }<br />

⊂ Pow( D)<br />

A i<br />

: (4-12)<br />

gdzie zbiory A i spełniają warunki [9] określone wzorami 4-13(a-c).<br />

a) U k<br />

A i<br />

= D<br />

i=1<br />

b) A ∩ A = ∅ gdzie 1 ≤ i ≠ j ≤ k<br />

i<br />

j<br />

(4-13)<br />

c) ∅ ⊂ A i<br />

⊂ D gdzie 1 ≤ i ≤ k<br />

Wzory 4-13 moŜna teŜ zapisać stosując funkcję przynaleŜności dla zbiorów<br />

µ :<br />

klasycznych : D → { 0,1}<br />

∧<br />

a) ( x) = 1<br />

x∈D<br />

∨<br />

i∈{1,2,...,<br />

k}<br />

µ<br />

A i<br />

∧<br />

b) ( x) ∧ ( x) = 0<br />

x∈D<br />

∧<br />

1≤i<br />

≠ j≤k<br />

µ<br />

µ<br />

A i A j<br />

(4-14)<br />

∧<br />

c) µ ( x) = 1 oraz µ ( x) = 0<br />

i∈{1,2,...,<br />

k}<br />

∨<br />

x∈D<br />

A i<br />

∧<br />

i∈{1,2,...,<br />

k}<br />

∨<br />

x∈D<br />

A i


Podział moŜna dość łatwo zapisać w postaci macierzy U [ µ ( )]<br />

A x j<br />

i<br />

35<br />

= o<br />

wymiarach k × ||D||, na którą składają się wartości funkcji przynaleŜności elementu<br />

uczącego x j (gdzie j∈{1,2,...,||D||}) do grupy A i (gdzie i∈{1,2,...,k}).<br />

a) ∧ ∧ µ ( x ) ∈{ 0,1}<br />

i∈{1,2,...,<br />

k}<br />

j∈{1,2,....||<br />

D||}<br />

k<br />

b) ∧ ∑ µ<br />

A<br />

( x<br />

j<br />

)<br />

i<br />

j∈{1,2,....||<br />

D||}<br />

i=<br />

1<br />

A<br />

i<br />

= 1<br />

|| D||<br />

c) ∧ 0 < ∑µ<br />

A<br />

( x<br />

j<br />

)<br />

i<br />

i∈{1,2,....<br />

k}<br />

j = 1<br />

j<br />

< || D ||<br />

(4-15)<br />

Macierz U prezentuje podział klasyczny, gdy spełnione są warunki 4-15(a-c),<br />

które określają, Ŝe kaŜdy element uczący x naleŜy do jednego zbioru A i , z których kaŜdy<br />

jest zbiorem niepustym i zawartym w D. ZauwaŜmy teŜ, Ŝe aby te warunki były<br />

spełnione, to k ≤ ||D|| (oczywiście dla k = ||D|| zadanie jest trywialne).<br />

Przykład 4-1<br />

Niech będzie określony zbiór danych uczących D taki, Ŝe:<br />

D={x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 }.<br />

Przyjmujemy, Ŝe wykonano podział zbioru D na 3 podzbiory A 1 ={x 6 }, A 2 ={x 7 , x 8 } oraz<br />

A 3 ={x 1 , x 2 , x 3 , x 4 , x 5 }. Zgodnie z przyjętą notacją macierz U zapiszemy jako:<br />

⎡0<br />

0 0 0 0 1 0 0⎤<br />

U =<br />

⎢<br />

⎥<br />

⎢<br />

0 0 0 0 0 0 1 1<br />

⎥<br />

⎢⎣<br />

1 1 1 1 1 0 0 0⎥⎦<br />

Kolejne, i-te wiersze macierzy odpowiadają wartościom funkcji przystosowania dla<br />

kolejnych zbiorów A i .<br />

Zbiór wszystkich moŜliwych do uzyskania macierzy U tworzy przestrzeń<br />

podziału klasycznego zbioru danych uczących D.<br />

Definicja 4-1<br />

Niech będzie określony skończony zbiór danych uczących D={x 1 , x 2 , ..., x ||D|| } i<br />

liczba całkowita k taka, Ŝe 2 ≤ k ≤ ||D||. Przestrzenią podziału klasycznego (twardego)<br />

zbioru D nazywamy taki zbiór Ph k macierzy U, Ŝe:<br />

Ph<br />

k<br />

⎧<br />

= ⎨U<br />

∈ R<br />

⎩<br />

k×<br />

D<br />

∧<br />

i∈{1,2,....<br />

k}<br />

∧<br />

: µ<br />

Ai<br />

i<br />

j∈ ∈ {1,2,...,k}<br />

{1,2,....||D||}<br />

∧<br />

j∈{1,2,....||<br />

D||}<br />

0 <<br />

|| D||<br />

∑<br />

j=<br />

1<br />

k<br />

∑<br />

i=<br />

1<br />

µ<br />

A<br />

i<br />

( x ) ∈{ 0,1}<br />

j<br />

( x )<br />

( x )<br />

;<br />

µ = 1;<br />

(4-16)<br />

A<br />

j<br />

i<br />

j<br />

⎫<br />

< || D || ⎬<br />


36<br />

Stosując podział zbioru danych uczących D na podzbiory rozmyte A i o funkcji<br />

przynaleŜności µ : D → 0, 1 moŜna powyŜszą definicję uogólnić.<br />

Definicja 4-2<br />

Niech będzie określony skończony zbiór danych uczących D={x 1 , x 2 ,..., x ||D|| } i<br />

liczba całkowita k taka, Ŝe 2 ≤ k ≤ ||D||. Przestrzenią podziału rozmytego z<br />

ograniczeniami zbioru D nazywamy taki zbiór Pf k macierzy U, Ŝe:<br />

Pf<br />

k<br />

⎧<br />

= ⎨U<br />

∈ R<br />

⎩<br />

k×<br />

D<br />

:<br />

∧<br />

i∈{1,2,....<br />

k}<br />

∧<br />

i<br />

∈ ∈ {1,2,..., k}<br />

j {1,2,....|| D||}<br />

∧<br />

j∈{1,2,....||<br />

D||}<br />

0 <<br />

|| D||<br />

∑<br />

j=<br />

1<br />

µ<br />

k<br />

A<br />

∑<br />

i=<br />

1<br />

µ<br />

A<br />

i<br />

i<br />

( x )<br />

µ<br />

A<br />

( x )<br />

j<br />

j<br />

i<br />

∈<br />

( x )<br />

j<br />

0,1 ;<br />

= 1;<br />

⎫<br />

< || D || ⎬<br />

⎭<br />

(4-17)<br />

Przykład 4-2<br />

Niech będzie określony zbiór danych uczących D taki, Ŝe:<br />

D={x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 }.<br />

Przyjmujemy, Ŝe wykonano podział zbioru D na 3 podzbiory rozmyte A 1 ={(x 5 , 0,2), (x 6 ,<br />

0,9), (x 7 , 0,2)}, A 2 ={(x 5 , 0,2), (x 6 , 0,1), (x 7 , 0,8), (x 8 , 1)} oraz A 3 ={(x 1 , 1), (x 2 , 1), (x 3 , 1),<br />

(x 4 , 1), (x 5 , 0,6)}. Zgodnie z przyjętą notacją macierz U zapiszemy jako:<br />

⎡0<br />

0 0 0 0,2 0,9 0,2 0⎤<br />

U =<br />

⎢<br />

⎥<br />

⎢<br />

0 0 0 0 0,2 0,1 0,8 1<br />

⎥<br />

⎢⎣<br />

1 1 1 1 0,6 0 0 0⎥⎦<br />

Kolejne, i-te wiersze macierzy odpowiadają wartościom funkcji przystosowania dla<br />

kolejnych zbiorów A i .<br />

k<br />

Warunek ∧ ∑ A<br />

( x<br />

j<br />

)<br />

i<br />

j∈{1,2,....||<br />

D||}<br />

i=<br />

1<br />

µ = 1 narzuca silne ograniczenie na wartości funkcji<br />

przystosowania charakterystyczne dla poszczególnych zbiorów A i . Do praktycznych<br />

zastosowań wystarcza, Ŝe kaŜdy z elementów uczących naleŜy częściowo do<br />

przynajmniej jednego zbioru rozmytego A i .<br />

Definicja 4-3<br />

Niech będzie określony skończony zbiór danych uczących D={x 1 , x 2 ,..., x ||D|| } i<br />

liczba całkowita k taka, Ŝe 2 ≤ k ≤ ||D||. Przestrzenią podziału rozmytego bez<br />

ograniczeń zbioru D nazywamy taki zbiór Pp k macierzy U, Ŝe:


37<br />

Pp<br />

k<br />

⎧<br />

= ⎨U<br />

∈ R<br />

⎩<br />

k×<br />

D<br />

:<br />

∧<br />

j∈{1,2,....||<br />

D||}<br />

∧<br />

i∈{1,2,....<br />

k}<br />

∧<br />

i∈{1,2,...,<br />

k}<br />

j∈{1,2,....||<br />

D||}<br />

i∈{1,2,...,<br />

k}<br />

0 <<br />

∨<br />

|| D||<br />

∑<br />

j=<br />

1<br />

µ<br />

µ<br />

Ai<br />

Ai<br />

( x )<br />

µ<br />

Ai<br />

( x )<br />

j<br />

j<br />

∈<br />

( x )<br />

0,1 ;<br />

j<br />

> 0;<br />

⎫<br />

< || D || ⎬<br />

⎭<br />

(4-18)<br />

Przykład 4-3<br />

Niech będzie określony zbiór danych uczących D taki, Ŝe:<br />

D={x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 }.<br />

Przyjmujemy, Ŝe wykonano podział zbioru D na 3 podzbiory rozmyte A 1 ={(x 5 , 0,2), (x 6 ,<br />

0,9), (x 7 , 0,2)}, A 2 ={(x 5 , 0,2), (x 6 , 0,1), (x 7 , 0,8), (x 8 , 1)} oraz A 3 ={(x 1 , 1), (x 2 , 1), (x 3 , 1),<br />

(x 4 , 1), (x 5 , 0,2)}. Zgodnie z przyjętą notacją macierz U zapiszemy jako:<br />

⎡0<br />

0 0 0 0,2 0,9 0,2 0⎤<br />

U =<br />

⎢<br />

⎥<br />

⎢<br />

0 0 0 0 0,2 0,1 0,8 1<br />

⎥<br />

⎢⎣<br />

1 1 1 1 0,2 0 0 0⎥⎦<br />

Kolejne, i-te wiersze macierzy odpowiadają wartościom funkcji przystosowania dla<br />

kolejnych zbiorów A i .<br />

ZauwaŜyć moŜna, Ŝe element uczący x 5 w niewielkim stopniu naleŜy do<br />

wyodrębnionych zbiorów rozmytych – opisuje on sytuację nietypową lub jest on<br />

wynikiem błędów pomiarowych. W zaistniałej sytuacji naleŜy zastanowić się nad<br />

wprowadzeniem dla tego elementu nowego zbioru rozmytego lub nad usunięciem<br />

elementu ze zbioru uczącego.<br />

k<br />

Elementy x j zbioru uczącego D, dla których ∑ A<br />

( x j<br />

)<br />

i<br />

i=<br />

1<br />

µ < 1 moŜna traktować jako<br />

elementy w mniejszym stopniu naleŜące do zbiorów A i . Te elementy, dla których<br />

k<br />

∑<br />

i=<br />

1<br />

( )<br />

µ > 1 moŜna traktować jako elementy w większym stopniu naleŜące do<br />

A<br />

x<br />

i j<br />

zbiorów A i .<br />

Podział rozmyty bez ograniczeń nazywany jest teŜ [52] podziałem<br />

probabilistycznym, a podział rozmyty z ograniczeniami – podziałem rozmytym.<br />

4.3. Grupowanie rozmyte<br />

Większość [73] algorytmów grupowania rozmytego ([24], [45]) opiera się na<br />

minimalizacji funkcji celu F(D;U,V)→R, gdzie D={x 1 ,x 2 ,...,x ||D|| }⊂R n jest zbiorem<br />

danych uczących, U = [<br />

A<br />

( x<br />

j<br />

)] ∈ Pf<br />

i k<br />

µ (dla i∈{1,2,...,k}, j∈{1,2,...,||D||},<br />

k×<br />

D<br />

k∈{2,3,...,||D||} - to liczba wyodrębnionych zbiorów rozmytych A i ) oraz V=[v 1 ,v 2 ,...,v k ]<br />

(dla v i ∈R n ) jest wektorem środków grup A i . Funkcja F opisana jest wzorem 4-19.


k D<br />

∑∑(<br />

A<br />

( x<br />

j<br />

)<br />

i<br />

m<br />

F( D;<br />

U,<br />

V ) = µ x − v dla m∈〈1,∞) (4-19)<br />

i= 1 j=<br />

1<br />

Waga m słuŜy do określania istotności rozmycia w funkcji celu F.<br />

Wartość<br />

j<br />

v i<br />

2<br />

B<br />

j<br />

i<br />

x − (wzór 4-19) jest kwadratem odległości pomiędzy obiektem uczącym<br />

x j i środkiem grupy v i dla macierzy B określającej normę, którą stosujemy do<br />

⎡1<br />

⎢<br />

wyznaczania odległości (np.: gdy B I ⎢<br />

0<br />

= =<br />

⎢...<br />

⎢<br />

⎣0<br />

2<br />

B<br />

0 ...<br />

1 ...<br />

... ...<br />

0 ...<br />

0⎤<br />

0<br />

⎥<br />

⎥<br />

... ⎥<br />

⎥<br />

1⎦<br />

n×<br />

n<br />

38<br />

i n to wymiar przestrzeni,<br />

w której znajdują się obiekty uczące x j , to mamy do czynienia z odległością<br />

euklidesową).<br />

d<br />

2<br />

ijB<br />

=<br />

x<br />

j<br />

− v<br />

2<br />

i<br />

B<br />

=<br />

T<br />

( x − v ) ⋅ B ⋅ ( x − v )<br />

j<br />

i<br />

j<br />

i<br />

(4-20)<br />

Celem minimalizacji funkcji celu F stosuje się róŜne metody takie jak:<br />

symulowanego wyŜarzania [17], algorytmy genetyczne [4], [73], czy minimalizacja<br />

liczby współrzędnych [10], [34], czy metody klasyczne przytoczone w rozdziale 3.4.<br />

Jednak najpopularniejszą ([9], [5], [83]) metodą jest algorytm rozmytych k-średnich (z<br />

angielskiego FCM – fuzzy c-means). Algorytm ten wywodzi się ze sposobu znalezienia<br />

ekstremum funkcji F w oparciu o warunek 4-15(b) za pomocą metody mnoŜników *<br />

Lagrange’a, z której otrzymujemy, Ŝe funkcja F posiada minimum dla warunków<br />

danych wzorem 4-21(a-b).<br />

k<br />

⎛<br />

2 /<br />

a) ( ) ( ) ( m−1<br />

) ⎞<br />

⎟<br />

⎠<br />

∧<br />

i∈{1,2,...,<br />

k}<br />

j∈{1,2,...,||<br />

D||}<br />

µ<br />

A<br />

x<br />

j<br />

= 1 ⎜∑<br />

dijB<br />

/ d<br />

i<br />

ljB<br />

i d ijB >0 i m>1<br />

⎝ l=<br />

1<br />

(4-21)<br />

b)<br />

j = 1<br />

∧ vi<br />

=<br />

i∈{1,2,...,<br />

k}<br />

||<br />

|| D||<br />

∑( µ<br />

A<br />

( x<br />

j<br />

)<br />

i<br />

|| D<br />

∑( µ<br />

A<br />

( x<br />

j<br />

)<br />

i<br />

j = 1<br />

m<br />

x<br />

m<br />

j<br />

Wartość v i dana wzorem 4-21(b), to środek grupy A i i stąd pochodzi nazwa algorytmu.<br />

* Do funkcji F dodajemy sumę iloczynów współczynnika nieoznaczonego λ i warunku 4-15(b). Pochodne<br />

cząstkowe tak uzyskanej funkcji wynoszą zero [9]. Rozwiązania układu równań przedstawiają wzory<br />

4-21.


39<br />

Algorytm FCM [9]:<br />

Krok 1: Ustal zbiór danych uczących D; określ liczbę k grup A i taką, Ŝe<br />

k∈{2,3,...,||D||-1} (aby otrzymać zadanie nie będące trywialnym); ustal<br />

wartość wagi m∈〈1,∞); ustal warunek zakończenia algorytmu ε > 0 ; ustal<br />

macierz B określającą normy do wyznaczania odległości (np.: B=I); ustaw na<br />

zero licznik realizacji pętli licznik=0; ustal losowo wartości w macierzy<br />

U (licznik=0) ∈Pf k .<br />

Krok 2: Zwiększ wartość licznik o jeden<br />

Krok 3: Wyznacz wartości średnich:<br />

v<br />

( licznik ) j=<br />

1<br />

i<br />

=<br />

||<br />

|| D||<br />

( licznik −1)<br />

∑( µ A ( x<br />

j<br />

i<br />

)<br />

|| D<br />

( licznik −1)<br />

∑( µ A ( x<br />

j<br />

i<br />

)<br />

j=<br />

1<br />

m<br />

x<br />

m<br />

j<br />

gdzie i∈{1,2,...,k}<br />

Krok 4: Wyznacz kwadraty odległości:<br />

d<br />

2<br />

ijB<br />

=<br />

T<br />

( x − v ) ⋅ B ⋅ ( x − v )<br />

j<br />

i<br />

j<br />

i<br />

gdzie i∈{1,2,...,k}, j∈{1,2,...,||D||}<br />

Krok 5: Wyznacz macierz U (licznik) o wartościach:<br />

µ<br />

A i<br />

( x )<br />

j<br />

k<br />

⎧ ⎛<br />

⎪1<br />

⎜<br />

=<br />

∑<br />

⎨ ⎝ l=<br />

1<br />

⎪<br />

⎩0<br />

Krok 6:<br />

k<br />

Warunek ∧ ∑ A<br />

( x<br />

j<br />

)<br />

i<br />

j∈{1,2,....||<br />

D||}<br />

2 /<br />

( ) ( m−1<br />

d / d<br />

)<br />

ijB<br />

ljB<br />

⎞<br />

⎟<br />

⎠<br />

dla<br />

dla<br />

gdzie i∈{1,2,...,k}, j∈{1,2,...,||D||}<br />

i=<br />

1<br />

wartość przystosowania ( )<br />

d<br />

d<br />

ijB<br />

ijB<br />

> 0<br />

= 0<br />

µ = 1 moŜe nie być spełniony, gdy wyznaczana<br />

µ musiała w sposób sztuczny przyjąć wartość<br />

x Ai<br />

j<br />

0. Wtedy dla obiektu uczącego x j wartości przystosowania wyznaczone<br />

k<br />

sztucznie ustaw tak, Ŝeby był spełniony warunek: ∑ A<br />

( x j<br />

)<br />

i<br />

i=<br />

1<br />

µ = 1.<br />

Krok 7: JeŜeli ||U (licznik) - U (licznik-1) || ≥ ε (najczęściej przyjmuje się, iŜ norma<br />

określająca błąd ||U (licznik) - U (licznik-1) || wynosi max ik (µ (licznik) ik -µ (licznik-1) ik ) ), to<br />

przejdź do kroku 2, a w przeciwnym wypadku zakończ algorytm.


40<br />

Macierz B o wymiarach n×n (gdzie n to wymiar przestrzeni, w której znajdują<br />

się obiekty uczące x j ) określająca normę, którą stosujemy do wyznaczania odległości<br />

często [9] określana jest teŜ w postaci normy diagonalnej (wzór 4-22).<br />

B<br />

diag<br />

⎡1/<br />

DX<br />

⎢<br />

⎢ 0<br />

=<br />

⎢ ...<br />

⎢<br />

⎣ 0<br />

1<br />

0<br />

1/ DX<br />

...<br />

0<br />

2<br />

...<br />

...<br />

...<br />

...<br />

0<br />

0<br />

...<br />

1/ DX<br />

gdzie DX i jest wariancją zmiennej losowej X i (o rozkładzie dyskretnym, która<br />

jest opisana na i-tym wymiarze przestrzeni R n ) daną wzorem 4-23.<br />

|| D||<br />

i 2 1<br />

i i<br />

( VX ) = ∑( x<br />

j<br />

− x )<br />

j=<br />

1<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦<br />

n<br />

⎤<br />

n×<br />

n<br />

,<br />

(4-22)<br />

|| D||<br />

i<br />

2<br />

i 1 i<br />

DX =<br />

gdzie x = ∑ x (4-23)<br />

l<br />

|| D ||<br />

|| D ||<br />

l=<br />

1<br />

Istnieje teŜ jeszcze inny sposób dopasowania odległości do właściwości zbioru D –<br />

odległość wyznaczona poprzez normę Mahalanobisa. Macierz odległości B mah w tym<br />

sposobie jest odwrotną macierzą do macierzy kowariancji B cov określanej poprzez<br />

zaleŜność 4-25. Kowariancja cech x i , x j (opisanych na i-tym oraz j-tym wymiarze<br />

przestrzeni R n ) zbioru D={x 1 ,x 2 ,...,x ||D|| }⊂R n dana jest wzorem 4-24.<br />

|| D||<br />

|| D||<br />

i j 1<br />

i 1 i j 1 j<br />

Cx x =<br />

gdzie x = ∑ xl<br />

, x = ∑ x (4-24)<br />

l<br />

|| D ||<br />

|| D ||<br />

|| D ||<br />

|| D||<br />

i i j j<br />

∑( x − x )( x − x )<br />

l<br />

l<br />

l=<br />

1<br />

l=<br />

1<br />

l=<br />

1<br />

⎡1<br />

0 ... 0⎤<br />

⎢<br />

⎥<br />

I [<br />

ij<br />

] ⎢<br />

0 1 ... 0<br />

B ⋅ = = =<br />

⎥<br />

cov<br />

Bmah<br />

δ gdzie<br />

n×<br />

n<br />

⎢...<br />

... ... ... ⎥<br />

⎢<br />

⎥<br />

⎣0<br />

0 ... 1⎦<br />

n×<br />

n<br />

(4-25)<br />

∧<br />

i,<br />

j∈{1,2,...,<br />

n}<br />

⎧1<br />

gdy i = j<br />

δ<br />

ij<br />

= ⎨<br />

i<br />

⎩0<br />

gdy i ≠ j<br />

B<br />

cov<br />

1<br />

⎡Cx<br />

x<br />

⎢ 2<br />

= ⎢Cx<br />

x<br />

⎢ ...<br />

⎢<br />

n<br />

⎣Cx<br />

x<br />

Zastosowanie macierzy odległości wpływa na jakość rozmytej klasteryzacji dzięki<br />

zmieniającym się miarom odmienności elementów uczących. Norma euklidesowa<br />

tworzy klastry rozmyte o kształcie hipersferycznym, tzn. obszar o stałej wartości<br />

przystosowania jest hipersferą. Norma diagonalna i Mahalobisa tworzą klastry rozmyte<br />

o kształcie hiperelipsoidalnym, ale dla normy diagonalnej osie hiperelipsoid są zawsze<br />

równoległe do osi układu współrzędnych. Dzięki tym właściwościom norma<br />

Mahalobisa najlepiej oddaje właściwości grupy elementów uczących.<br />

1<br />

1<br />

1<br />

Cx<br />

Cx<br />

Cx<br />

1<br />

2<br />

...<br />

n<br />

x<br />

x<br />

x<br />

2<br />

2<br />

2<br />

...<br />

...<br />

...<br />

...<br />

Cx<br />

Cx<br />

Cx<br />

1<br />

2<br />

...<br />

n<br />

x<br />

x<br />

x<br />

n<br />

n<br />

n<br />

⎤<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />


Przykład 4-4<br />

Rozpatrzmy prosty przykład określania odległości dla zbioru danych uczących<br />

D={d 1 ,d 2 ,d 3 ,d 4 ,}⊂R 2 o współrzędnych d 1 =(1,0), d 2 =(2,3), d 3 =(5,4), d 4 =(4,1). Zgodnie<br />

ze wzorem 4-23 środek punktów określających w przestrzeni R 2 dane uczące określony<br />

jest jako:<br />

d = ( x, y) = ((1<br />

+ 2 + 5 + 4) / 4,(0 + 3 + 4 + 1) / 4) = ( 3,2)<br />

Wartości kowariancji zgodnie ze wzorem 4-23 wynoszą:<br />

C xx =DX=((-2) 2 +(-1) 2 +2 2 +1 2 )/4=10/4<br />

C yy =DY=((-2) 2 +1 2 +2 2 +(-1) 2 )/4=10/4<br />

C xy =C yx =((-2)⋅(-2)+(-1)⋅1+2⋅2+1⋅(-1))/4=6/4.<br />

Stąd mamy:<br />

⎡1/<br />

DX 0 ⎤ ⎡0,4<br />

0 ⎤<br />

B diag<br />

= ⎢<br />

⎥ = ⎢ ⎥<br />

,<br />

⎣ 0 1/ DY ⎦ ⎣ 0 0,4⎦<br />

⎡C<br />

⎤ ⎡ ⎤<br />

= ⎢ ⎥ =<br />

10 / 6 /<br />

xx<br />

Cxy<br />

4 4 ⎡ 5 / 8 − 3/ 8⎤<br />

B<br />

cov<br />

⎢ ⎥<br />

, B =<br />

⎣C<br />

yx<br />

C<br />

⎢<br />

⎥ .<br />

mah<br />

yy ⎦ ⎣ 6 / 4 10 / 4⎦<br />

⎣−<br />

3/ 8 5 / 8 ⎦<br />

RóŜnice pomiędzy odległościami dobrze przedstawiają poniŜsze rysunki, na których<br />

zaznaczono okręgi o promieniu 1 i 2 o środku w punkcie d dla odległości naliczanej<br />

kolejno (od lewej) według macierzy I, B diag , B mah .<br />

41<br />

Rozwinięciem algorytmu FCM jest algorytm Gustafsona-Kessela [32] (który dla<br />

kaŜdego z wyodrębnionych zbiorów rozmytych tworzy odrębną macierz odległości),<br />

czy teŜ algorytm wyznaczania rozmytego maksymalnego prawdopodobieństwa (z ang.<br />

fuzzy maximum likelihood estimation algorithm) [27]. Podobnym algorytmem do FCM<br />

jest PCM, czy HCM [73]. Odrębną grupę algorytmów stanowią te zaproponowane w<br />

pracach m.in. Bezdeka: k-wyborów [9], k-elipsoid [8], czy rozmyty model regresji [33].<br />

Na podstawie przytoczonego algorytmu FCM moŜna zaobserwować, Ŝe metody<br />

grupowania rozmytego mają zazwyczaj charakter iteracyjny, a ich celem jest<br />

doprowadzenie do wyznaczenia stopnia przynaleŜności kaŜdego badanego obiektu do<br />

kaŜdej z grup, których liczba jest narzucona z góry (znana lub załoŜona). Są to metody<br />

czasochłonne obliczeniowo i wymagające wyznaczania wielu współczynników.<br />

Dla potrzeb rozwiązywanego w niniejszej pracy zadania efektywność<br />

obliczeniowa ma duŜe znaczenie, gdyŜ celem jest zbudowanie takiego algorytmu, który<br />

będzie generował reguły logiczne uzyskując z nich jednocześnie maksymalnie<br />

skondensowaną i praktycznie uŜyteczną wiedzę na podstawie przeprowadzanej analizy


danych. Ponadto ze względu na charakter zadania grupowanie powinno mieć charakter<br />

częściowo nadzorowany (z nauczycielem), poniewaŜ pomimo znanego przydziału<br />

obiektów do klas (ciąg uczący) dopuszcza się pewne błędy w grupowaniu, jeŜeli dają<br />

one znaczące zmniejszenie liczby reguł klasyfikacyjnych. Wszystkie te wymagania<br />

spełnia opisana w rozdziale piątym metoda, która charakteryzuje się następującymi<br />

cechami:<br />

- wykorzystuje rozmytość w określaniu przynaleŜności obiektów do grup;<br />

- ma charakter częściowo nadzorowany, poprzez kontrolowanie i uwzględnianie<br />

globalnej liczby prawidłowo klasyfikowanych obiektów do grup;<br />

- maksymalizując liczbę poprawnych przypisań obiektów przeprowadza<br />

ekstrakcję wiedzy w postaci minimalizowanej liczby reguł;<br />

- zagęszcza liczbę reguł w obszarach trudnych diagnostycznie, a rozrzedza o<br />

obszarach, gdzie diagnoza jest bardziej jednoznaczna.<br />

42<br />

4.4. Generowanie reguł w oparciu o rozmytą analizę danych<br />

Przydatną techniką podczas analizy danych jest uzyskanie reguł jeŜeli-to w<br />

postaci drzewa hierarchicznego lub w postaci struktury sieci neuronowej Pedrycza [78].<br />

RównieŜ moŜliwość ekstrakcji pewnych obszarów klasyfikacji danych z sieci Kohonena<br />

([80], [79], [51], [73]) wydaje się być przydatną techniką analizy danych. Jednak<br />

metody te pozbawione są cech pozwalających na uzyskanie satysfakcjonujących<br />

wyników (np. w postaci niewielkiej liczby reguł jeŜeli-to) w przypadkach praktycznych<br />

zagadnień zbiorów danych trudnoseparowalnych (tj. gdy dane róŜnych klas sąsiadują ze<br />

sobą i nie jest prostym wyodrębnienie ich grup). Z tego powodu proponuje się [73]<br />

systemy neuronowo-rozmyte ([60], [77]), w tym do rozwiązywania zadań klasyfikacji.<br />

Do jednych z łatwiejszych do ekstrakcji wiedzy w postaci rozmytych reguł<br />

jeŜeli-to ze struktury sieci naleŜy trójwarstwowa sieć Pedrycza z warstwą rozmytych<br />

neuronów na wejściu, warstwą neuronów ukrytych typu logicznego AND i z jednym<br />

wyjściem w postaci neuronu logicznego OR.<br />

Sztuczny neuron [51] w ogólności naleŜy rozpatrywać jako przetwornik m<br />

sygnałów x i (gdzie i∈{1,2,.., m}⊂ℵ) , które to podawane na wejście przemnaŜane są<br />

przez odpowiednie współczynniki wag w i (gdzie w i ∈〈0,1〉⊂R, i∈{1,2,.., m}⊂ℵ), a<br />

wyniki mnoŜenia są sumowane tworząc tzw. potencjał neuronu. Ów potencjał jest


najczęściej [51] argumentem funkcji f liniowej, progowej lub sigmoidalnej, której<br />

wartość jest sygnałem wyjściowym neuronu y (4-26).<br />

m<br />

∑<br />

43<br />

y = f ( x i<br />

w i<br />

)<br />

(4-26)<br />

i=<br />

1<br />

Neuron logiczny OR czy AND generuje sygnał wyjściowy uŜywając<br />

przekształceń opisanych wzorami odpowiednio 4-27 i 4-28.<br />

m<br />

i=1<br />

( x AND w )<br />

y = OR<br />

(4-27)<br />

m<br />

i=1<br />

i<br />

( x OR w )<br />

i<br />

i<br />

y = AND<br />

(4-28)<br />

Neurony jednego typu układa się w warstwy tak, Ŝe wyjścia neuronów jednej<br />

warstwy są wejściami neuronów kolejnej. W zaleŜności od uŜytych neuronów rozróŜnia<br />

się dwie podstawowe architektury sieci Perdycza: SOM (z ang. sum of minterms) oraz<br />

POM (z ang. product of maxterms). W pierwszej z tych architektur zbudowana reguła<br />

jeŜeli-to jest alternatywą koniunkcji, a w drugim przypadku - koniunkcją alternatyw.<br />

Zgodnie z twierdzeniem Shannona kaŜdą regułę logiczną moŜna przedstawić jako SOM<br />

lub POM. Do zaprezentowania reguły jeŜeli-to w postaci alternatywy koniunkcji w<br />

warstwie ukrytej umieszcza się neurony logiczne AND, a w warstwie wyjściowej OR.<br />

Warstwa<br />

wejściowa<br />

x<br />

x<br />

1<br />

2<br />

Warstwa ukryta h<br />

neuronów<br />

… AND 1<br />

x<br />

m<br />

x 1<br />

x 2<br />

…<br />

…<br />

AND h<br />

i<br />

Warstwa wyjściowa<br />

x m<br />

Rysunek 4-1. Schemat sieci neuronowej Pedrycza o architekturze SOM<br />

Dodatkowo w sieci Pedrycza w warstwie wejściowej umieszcza się wejścia<br />

zanegowane x , Ŝeby uzyskane reguły mogły operować na alternatywie, koniunkcji i<br />

negacji (rysunek 4-1).<br />

Rozmytą modyfikacją tejŜe sieci jest wprowadzenie na jej wejście nie wartości<br />

boolowskich, ale rozmytych tworząc sieci Mamdaniego, czy systemy neuronoworozmyte<br />

typu logicznego [73].<br />

Uczenie sieci Pedrycza jest zmodyfikowanym algorytmem wstecznej propagacji.<br />

Algorytm ten w ogólności nakazuje wykonanie zmiany wagi neuronu<br />

OR<br />

∆ w w oparciu o


44<br />

wzór 4-29, gdzie<br />

α ∈ 0, 1 ⊂ R jest tzw. współczynnikiem nauczania, a E jest funkcją<br />

błędu. Najczęściej do ustalenia błędu uŜywana jest wartość błędu średniokwadratowego<br />

opisanego wzorem 4-30 dla wyjścia sieci o l neuronach i generalizowana do wzoru 4-31<br />

w przypadku sieci neuronowej o pojedynczym wyjściu, gdzie y to wartość uzyskanego<br />

sygnału wyjściowego z sieci, a d to oczekiwana tam wartość dla sieci o jednym wyjściu<br />

(odpowiednio y k oraz d k ze wzoru 4-30, to wartość uzyskana i oczekiwana na k-tym<br />

wyjściu z sieci).<br />

∂E<br />

∆w<br />

= α (4-29)<br />

∂w<br />

1<br />

∑<br />

l<br />

2<br />

−<br />

2<br />

E = ( )<br />

(4-30)<br />

k = 1<br />

1<br />

2<br />

y k<br />

d k<br />

2<br />

E = ( y − d )<br />

(4-31)<br />

Oznaczmy przez:<br />

I – liczbę sygnałów wejściowych<br />

x – wektor wejść (o 2I współrzędnych: od 1 do I oznaczają wejścia proste, a od I+1 do<br />

2I – wejścia negowane)<br />

H – liczbę neuronów w warstwie ukrytej<br />

w – macierz wag ukrytych (gdzie w hi oznacza i-tą wagę h-tego neuronu ukrytego)<br />

z – wektor wyjść warstwy ukrytej<br />

v – wektor wag neuronu wyjściowego<br />

y – wyjście sieci<br />

Wobec powyŜszych oznaczeń i wzoru 4-31 moŜemy zapisać wzory 4-32 i 4-33.<br />

∂E<br />

∂E<br />

∂y<br />

∂y<br />

= ⋅ = ( y − d )<br />

∂v<br />

∂y<br />

∂v<br />

∂v<br />

h<br />

h<br />

h<br />

(4-32)<br />

∂E<br />

∂w<br />

hi<br />

∂E<br />

∂y<br />

= ⋅<br />

∂y<br />

∂w<br />

hi<br />

=<br />

( y − d )<br />

∂y<br />

∂w<br />

hi<br />

(4-33)<br />

dla h∈{1, 2, ..., H}⊂ℵ, i∈{1, 2, ..., 2I}⊂ℵ.<br />

Definicja:<br />

t – norma oznacza funkcję t : 0,1 × 0,1 → 0, 1 , taką Ŝe:<br />

1. dla dowolnej wartości argumentu jest ona niemalejąca,<br />

tzn. dla x ≤ y i w ≤ z zachodzi x t w ≤ y t z ,<br />

2. jest przemienna, tzn. x y y x<br />

t = t ,<br />

x t y t z = x t y t z ,<br />

3. łączna, tzn. ( ) ( )<br />

4. i spełnia warunki:<br />

x t 0 = 0 ,<br />

x t 1 = x ,<br />

gdzie: x , y,<br />

z,<br />

w∈<br />

0, 1 . Funkcja ta reprezentuje koniunkcję rozmytą swoich<br />

argumentów. Dla wartości {0,1} jest to klasyczna koniunkcja.


45<br />

Definicja:<br />

s – norma oznacza funkcję s : 0,1 × 0,1 → 0, 1 , taką Ŝe:<br />

1. dla dowolnej wartości argumentu jest ona niemalejąca,<br />

tzn. dla x ≤ y i w ≤ z zachodzi xs w ≤ y s z ,<br />

2. jest przemienna, tzn. x s y = y s x ,<br />

3. łączna, tzn. ( x y) s z xs( y s z)<br />

s = ,<br />

4. i spełnia warunki:<br />

x s 0 = x ,<br />

x s 1 = 1,<br />

gdzie: x , y,<br />

z,<br />

w∈<br />

0, 1 . Funkcja ta reprezentuje alternatywę rozmytą swoich<br />

argumentów. Dla wartości {0,1} jest to klasyczna alternatywa.<br />

W neuronach typu OR moŜe być uŜyta [67] jako s-norma funkcja maximum, a<br />

operator AND zrealizowany moŜe zostać [67] poprzez funkcję minimum (jako t-<br />

norma), co prowadzi do wzorów 4-34 i 4-35.<br />

( v t z ) s( v t z ) s...<br />

s( v t z ) = S ( v t z )<br />

h<br />

h<br />

H<br />

y = (4-34)<br />

1<br />

1<br />

2<br />

2<br />

h=<br />

1<br />

h<br />

h<br />

z<br />

h<br />

( w s x ) t( w s x ) t...<br />

t( w s x ) = T( w s x )<br />

h1<br />

1<br />

h2<br />

2<br />

h2I<br />

2I<br />

2I<br />

= dla h∈{1, 2, ..., H}⊂ℵ. (4-35)<br />

i=<br />

1<br />

hi<br />

i<br />

PoniewaŜ funkcje nieciągłe nie są róŜniczkowalne w punktach nieciągłości, to<br />

zakłada się [67] ich róŜniczkowalność w sposób opisany wzorami 4-36 i 4-37.<br />

∂s( a,<br />

b)<br />

∂ max( a,<br />

b)<br />

⎧0<br />

dla a > b<br />

=<br />

= ⎨<br />

(4-36)<br />

∂b<br />

∂b<br />

⎩1<br />

dla a ≤ b<br />

∂t ( a,<br />

b)<br />

∂ min( a,<br />

b)<br />

⎧1<br />

dla a ≥ b<br />

= = ⎨<br />

(4-37)<br />

∂b<br />

∂b<br />

⎩0<br />

dla a < b<br />

Ze wzoru 4-34 uzyskujemy wzór na pochodną sygnały wyjściowego po h-tej<br />

wadze neuronu wyjściowego (wzór 4-38).<br />

∂y<br />

∂v<br />

h<br />

∂<br />

=<br />

∂v<br />

h<br />

H<br />

⎡<br />

S<br />

⎢⎣<br />

k =<br />

⎤<br />

⎥⎦<br />

∂<br />

∂v<br />

⎡<br />

( v t z ) = ⎢ S ( v t z ) s( v t z ) ⎥<br />

⎥<br />

1<br />

k<br />

k<br />

h<br />

⎢⎣<br />

H<br />

k = 1<br />

k ≠h<br />

k<br />

k<br />

h<br />

h<br />

⎤<br />

⎦<br />

(4-38)<br />

Oznaczmy:<br />

H<br />

A = S<br />

k = 1<br />

k ≠h<br />

h<br />

( v t z )<br />

k<br />

k<br />

( v t z ) ( z t v )<br />

B( v ) = =<br />

h<br />

h<br />

h<br />

h<br />

Wobec tych oznaczeń i wzoru na pochodną funkcji złoŜonej moŜna zapisać wzór 4-38 w<br />

postaci:<br />

∂ y ∂<br />

∂s(<br />

A,<br />

B(<br />

vh))<br />

∂B(<br />

vh<br />

= ( As<br />

B(<br />

vh)<br />

) =<br />

⋅<br />

)<br />

∂v<br />

∂v<br />

∂v<br />

∂v<br />

h<br />

h<br />

Wobec wzorów 4-36 i 4-37 zapisujemy:<br />

h<br />

h


46<br />

∂ y ∂ max( A,<br />

B(<br />

vh<br />

)) ∂ min( zh<br />

, vh<br />

=<br />

⋅<br />

)<br />

∂v<br />

∂v<br />

∂v<br />

h<br />

czyli:<br />

∂y<br />

∂v<br />

h<br />

⎧0<br />

= ⎨<br />

⎩1<br />

co zapisać moŜna:<br />

∂y<br />

∂v<br />

h<br />

⎧0<br />

= ⎨<br />

⎩1<br />

h<br />

dla A > B(<br />

vh<br />

) ⎫ ⎧1<br />

⎬ ⋅ ⎨<br />

dla A ≤ B(<br />

vh<br />

) ⎭ ⎩0<br />

dla A = max( A,<br />

B(<br />

v ))<br />

dla B(<br />

v<br />

h<br />

) = max( A,<br />

B(<br />

v<br />

h<br />

h<br />

,<br />

dla zh<br />

≥ vh<br />

⎫<br />

⎬<br />

dla zh<br />

< vh<br />

⎭<br />

h<br />

⎫ ⎧1<br />

⎬ ⋅ ⎨<br />

)) ⎭ ⎩0<br />

dla v<br />

h<br />

dla z<br />

my, Ŝe wobec przyjętych oznaczeń i wzoru 4-38 zachodzi:<br />

max( A,<br />

B(<br />

vh )) = As<br />

B(<br />

vh<br />

) = y<br />

oraz<br />

( v t z ) = ( z t v ) min( z , v )<br />

B ( vh<br />

)<br />

h h h h<br />

=<br />

h h<br />

= .<br />

MoŜemy więc zapisać, Ŝe:<br />

∂y<br />

⎧ 1 dla B(<br />

vh<br />

) = max( A,<br />

B(<br />

vh<br />

)) ∧ vh<br />

= min( z<br />

= ⎨<br />

∂vh<br />

⎩0<br />

w przeciwnym przypadku<br />

czyli:<br />

∂y<br />

∂v<br />

h<br />

⎧1<br />

= ⎨<br />

⎩0<br />

dla y = v<br />

h<br />

dla y ≠ v<br />

h<br />

h<br />

= min( zh<br />

, vh<br />

) ⎫<br />

⎬<br />

= min( zh<br />

, vh<br />

) ⎭<br />

, v )<br />

h<br />

h<br />

ZauwaŜ<br />

Wzór 4-38 wobec wzorów 4-36 i 4-37 zapisać moŜemy w postaci wzoru 4-39.<br />

∂y<br />

∂v<br />

h<br />

⎧1<br />

= ⎨<br />

⎩0<br />

dla y = v<br />

h<br />

dla y ≠ v<br />

Ze wzoru 4-39 i 4-32 uzyskujemy wzór 4-40.<br />

∂E<br />

∂v<br />

h<br />

⎧y<br />

− d<br />

= ⎨<br />

⎩0<br />

dla y = v<br />

dla y ≠ v<br />

h<br />

h<br />

h<br />

(4-39)<br />

dla h∈{1, 2, ..., H}⊂ℵ. (4-40)<br />

Wzór 4-40 jest wzorem na modyfikację wagi w neuronie wyjściowym.<br />

PoniewaŜ sieć Pedrycza dąŜy do uzyskiwania na wyjściach wartości logicznych 0 lub 1,<br />

to uzyskanie wartości wagi v h ∈〈0, 1〉⊂R wskazuje na konieczność jej modyfikacji.<br />

UŜyte jako normy funkcje minimum i maximum nie generują nowych wartości, a<br />

jedynie przyjmują te z uzyskanych argumentów, którymi są wartości wag i wartości<br />

wejść. Z tego powodu (i na podstawie wzoru 4-40) podczas uczenia się sieci wagi<br />

neuronu wyjściowego dąŜą do przyjęcia wartości logicznych 0 lub 1.<br />

W analogiczny sposób jak ze wzoru 4-32 uzyskano wzór 4-40, wykonujemy<br />

wyznaczenie (wzór 4-33) wzoru na modyfikację wagi w neuronie warstwy ukrytej<br />

zaczynając od wyznaczenia pochodnej sygnały wyjściowego po wadze neuronu<br />

warstwy ukrytej (wzór 4-41).<br />

∂y<br />

∂w<br />

hi<br />

=<br />

H<br />

∑<br />

k = 1<br />

⎛ ∂y<br />

⎜<br />

⎝ ∂zk<br />

∂z<br />

⋅<br />

∂w<br />

k<br />

hi<br />

⎞<br />

⎟ dla h∈{1, 2, ..., H}⊂ℵ, i∈{1, 2, ..., 2I}⊂ℵ. (4-41)<br />


PoniewaŜ jedynie wyjście h-tego neuronu ukrytego z h zaleŜy od wartości wagi w hi co<br />

daje niezerową pochodną, to wzór 4-41 moŜemy zapisać w postaci 4-42.<br />

∂y<br />

∂w<br />

hi<br />

∂y<br />

=<br />

∂z<br />

h<br />

∂z<br />

⋅<br />

∂w<br />

h<br />

hi<br />

dla h∈{1, 2, ..., H}⊂ℵ, i∈{1, 2, ..., 2I}⊂ℵ. (4-42)<br />

Analogicznie do przekształcenia wzoru 4-38 w 4-39 moŜemy zapisać wzór 4-43 i 4-44<br />

jako rozwinięcie wzoru 4-42.<br />

∂y<br />

∂z<br />

h<br />

47<br />

⎧1 dla y = zh<br />

=<br />

(4-43)<br />

⎨<br />

⎩0<br />

dla y ≠ zh<br />

∂z<br />

∂w<br />

h<br />

hi<br />

=<br />

∂<br />

∂w<br />

hi<br />

2I<br />

⎡<br />

T<br />

⎢⎣<br />

j=<br />

⎡<br />

∂<br />

2I<br />

( w s x )<br />

⎤<br />

= ⎢ T ( w s x ) t( w s x ) ⎥<br />

⎥<br />

1<br />

hj<br />

j<br />

⎥⎦<br />

∂w<br />

hi<br />

⎢⎣<br />

j=<br />

1<br />

j≠i<br />

hj<br />

j<br />

hi<br />

i<br />

⎤<br />

⎦<br />

(4-44)<br />

Oznaczmy:<br />

A =<br />

I<br />

T 2<br />

j=<br />

1<br />

j≠i<br />

hi<br />

( w s x )<br />

hj<br />

j<br />

( w s x ) ( x s w )<br />

B ( w ) = =<br />

hi<br />

i<br />

i<br />

hi<br />

Wobec tych oznaczeń i wzoru na pochodną funkcji złoŜonej moŜna zapisać wzór 4-44<br />

w postaci:<br />

∂ zh<br />

∂<br />

∂ t( A,<br />

B(<br />

whi<br />

)) ∂B(<br />

whi<br />

)<br />

= ( AtB(<br />

whi<br />

))<br />

=<br />

⋅<br />

∂w<br />

∂w<br />

∂w<br />

∂w<br />

hi<br />

hi<br />

Wobec wzorów 4-36 i 4-37 zapisujemy:<br />

∂ zh<br />

∂ min( A,<br />

B(<br />

whi<br />

)) ∂ max( xi<br />

, whi<br />

)<br />

=<br />

⋅<br />

∂whi<br />

∂whi<br />

∂whi<br />

czyli:<br />

∂z<br />

∂w<br />

h<br />

hi<br />

⎧1<br />

= ⎨<br />

⎩0<br />

dla A ≥ B(<br />

w<br />

hi<br />

dla A < B(<br />

w<br />

hi<br />

) ⎫ ⎧0<br />

⎬ ⋅ ⎨<br />

) ⎭ ⎩1<br />

co zapisać moŜna:<br />

∂z<br />

⎧1<br />

dla B(<br />

whi<br />

) = min( A,<br />

B(<br />

w<br />

h<br />

= ⎨<br />

∂whi<br />

⎩0<br />

dla A = min( A,<br />

B(<br />

whi<br />

))<br />

ZauwaŜmy, Ŝe:<br />

min( A , B(<br />

w )) = At B(<br />

w ) = z<br />

oraz<br />

hi<br />

hi<br />

h<br />

hi<br />

dla x > w<br />

dla x ≤ w<br />

hi<br />

i<br />

i<br />

)) ⎫ ⎧0<br />

⎬ ⋅ ⎨<br />

⎭ ⎩1<br />

( w s x ) = ( x s w ) max( x , w )<br />

B ( whi<br />

) =<br />

hi i i hi<br />

=<br />

i hi<br />

MoŜemy więc zapisać:<br />

hi<br />

hi<br />

hi<br />

⎫<br />

⎬<br />

⎭<br />

dla x<br />

i<br />

dla w<br />

hi<br />

= max( xi<br />

, whi<br />

) ⎫<br />

⎬<br />

= max( xi<br />

, whi<br />

) ⎭<br />

∂z<br />

h<br />

∂w<br />

hi<br />

⎧ 1 dla B(<br />

whi<br />

) = z<br />

h<br />

∧ whi<br />

= B(<br />

w<br />

= ⎨<br />

⎩0<br />

w przeciwnym przypadku<br />

hi<br />

) ⎧1<br />

= ⎨<br />

⎩0<br />

dla z<br />

dla z<br />

h<br />

h<br />

= w<br />

≠ w<br />

hi<br />

hi<br />

Wzór 4-44 zapiszmy w postaci wzoru 4-45.<br />

∂z<br />

∂w<br />

h<br />

hi<br />

⎧1<br />

= ⎨<br />

⎩0<br />

dla z<br />

h<br />

dla z<br />

h<br />

= w<br />

hi<br />

≠ w<br />

hi<br />

dla h∈{1, 2, ..., H}⊂ℵ, i∈{1, 2, ..., 2I}⊂ℵ. (4-45)


48<br />

Wobec wzoru 4-45 i 4-43, wzór 4-42 moŜemy zapisać w postaci 4-46.<br />

∂y<br />

∂w<br />

hi<br />

⎧1<br />

= ⎨<br />

⎩0<br />

dla y = z<br />

h<br />

dla y ≠ z<br />

h<br />

⎫ ⎧1<br />

⎬ ⋅ ⎨<br />

⎭ ⎩0<br />

dla z<br />

h<br />

dla z<br />

h<br />

= w<br />

hi<br />

≠ w<br />

hi<br />

⎫ ⎧1<br />

⎬ = ⎨<br />

⎭ ⎩0<br />

dla h∈{1, 2, ..., H}⊂ℵ, i∈{1, 2, ..., 2I}⊂ℵ.<br />

dla y = w<br />

hi<br />

dla y ≠ w<br />

hi<br />

(4-46)<br />

Wobec wzoru 4-46 wzór 4-33 będący wzorem określającym sposób modyfikacji<br />

wag w ukrytej warstwie neuronów uzyskujemy wzór 4-47.<br />

∂E<br />

∂w<br />

hi<br />

⎧ y − d<br />

= ⎨<br />

⎩0<br />

dla y = w<br />

dla y ≠ w<br />

hi<br />

hi<br />

dla h∈{1, 2, ..., H}⊂ℵ, i∈{1, 2, ..., 2I}⊂ℵ. (4-47)<br />

Z wyprowadzonych wzorów 4-40 i 4-47, opisujących sposób modyfikacji wag<br />

neuronów w warstwie wyjściowej oraz warstwie ukrytej, moŜna wnioskować, Ŝe wagi<br />

te dąŜyć będą podczas uczenia sieci do wartości logicznych 0 lub 1. UmoŜliwi to<br />

prześledzenie w strukturze wag sieci przebiegu sygnału wejściowego, aŜ do uzyskania<br />

sygnału wyjściowego i zapisanie reguły jeŜeli-to („jeŜeli wejście, to wyjście”). Tym<br />

sposobem architektura sieci neuronowej Pedrycza koduje reguły jeŜeli-to, które mogą<br />

posłuŜyć do np. klasyfikacji.<br />

Pewnym problemem związanym z uzyskiwaniem reguł jeŜeli-to przedstawioną<br />

metodą jest fakt, Ŝe opisana sieć neuronowa traktuje dane wejściowe jako dane typu<br />

wyliczeniowego, przez co traci zdolność do generalizacji. Generalizacja ta miałaby<br />

polegać na łączeniu „sąsiednich” wejść ze sobą (tj. takich wejść, które opisują sąsiednie<br />

obszary przestrzeni liczb rzeczywistych). Dopiero dzięki temu moŜna uzyskiwać<br />

niewiele ogólnych reguł (tj. opisujących duŜe obszary analizowanej przestrzeni), a<br />

wobec braku tego mechanizmu uzyskuje się duŜo reguł szczegółowych. Wiedza zawarta<br />

w regułach jest najcenniejsza dla człowieka, jeŜeli reguł tych jest niewiele, przez co są<br />

łatwe do przeanalizowania. W przypadku reguł licznych program realizujący ich uŜycie<br />

będzie działać poprawnie, ale zrozumienie zasad jego działania przez człowieka będzie<br />

trudne. Tak więc, czy to uŜywając sieci Pedrycza, czy jej rozmytej implementacji (z<br />

rozmytymi neuronami na wejściu – gdzie „rozmytość” uzyskuje się poprzez<br />

kwantowanie wartości funkcji przynaleŜności z zadaną dokładnością) naleŜy uzyskać<br />

uprzednio odpowiednio zgeneralizowany zestaw danych uczących (czy to dzięki intuicji<br />

badacza, czy metodami algorytmicznymi np.: połowienia przedziałów). W przypadku<br />

trudnoseparowalnych danych uczących moŜna uzyskać bardzo liczny zbiór danych<br />

wejściowych, co będzie skutkowało znaczącym brakiem generalizacji uzyskanych reguł<br />

jeŜeli-to.


49<br />

5. Generowanie i genetyczna redukcja rozmytych reguł klasyfikujących<br />

Zaproponowany algorytm generowania reguł klasyfikujących (bazujący na [42])<br />

polega na podziale całej przestrzeni danych uczących na mniejsze obszary (klastry) i na<br />

przyporządkowaniu kaŜdemu z nich rozmytej reguły jeŜeli-to. Jednak stosując taką<br />

metodę moŜna otrzymać wielką liczbę reguł, co często czyni metodę nieefektywną,<br />

natomiast zawsze uniemoŜliwia (lub znacznie utrudnia) interpretację wyników przez<br />

człowieka i pozyskiwanie przez niego wiedzy. Próba zastosowania wielkiej liczby reguł<br />

klasyfikujących w systemie ekspertowym [63] spowoduje powolne jego działanie i brak<br />

moŜliwości przejrzystego uzasadnienia wykonanej klasyfikacji. W celu zmniejszenia<br />

liczby reguł niezbędnych do wykonania klasyfikacji zastosowany został algorytm<br />

genetyczny.<br />

5.1. Generowanie reguł rozmytych<br />

Niech dany będzie niepusty zbiór danych uczących D zawarty w n-wymiarowej<br />

przestrzeni liczb rzeczywistych D⊂R n (i n∈ℵ) o mocy ||D||. PoniewaŜ w symulacjach<br />

komputerowych nie moŜna wyrazić zbiorów nieskończonych, to moc zbioru D jest teŜ<br />

jego licznością. Z tego samego powodu kaŜdy z rzeczywistych wymiarów X m (gdzie<br />

m∈{1,2,...,n}), na którym rozpięty został zbiór D, jest odcinkiem (5-1).<br />

m<br />

1 2<br />

n 1 1<br />

2 2<br />

n n<br />

D ⊂ X × X × ... × X = xmin<br />

, xmax<br />

× xmin<br />

, xmax<br />

× ... × xmin<br />

, x<br />

∧ max<br />

(5-1)<br />

m<br />

m<br />

m<br />

m<br />

xmin<br />

= min{ x ; i ∈{1,2,...,||<br />

D ||}} xmax<br />

= max{ x ; i ∈{1,2,...,||<br />

D ||}}<br />

∈{1,2,...,<br />

n}<br />

i<br />

i<br />

n∈ℵ<br />

Przyjmijmy ponadto, Ŝe dla kaŜdego z wymiarów X m nie zachodzi przypadek, iŜ<br />

m<br />

odcinek jest zbiorem jednoelementowym { x 0<br />

} (gdy<br />

x<br />

m m<br />

0<br />

xmin<br />

=<br />

= x ), poniewaŜ<br />

wymiar taki nie niesie ze sobą istotnych informacji umoŜliwiających klasyfikację (5-2).<br />

m<br />

1 2<br />

n 1 1<br />

2 2<br />

n n<br />

D ⊂ X × X × ... × X = xmin<br />

, xmax<br />

× xmin<br />

, xmax<br />

× ... × xmin<br />

, x<br />

∧ max<br />

(5-2)<br />

m<br />

m<br />

m<br />

m<br />

xmin<br />

= min{ x ; i ∈{1,2,...,||<br />

D ||}} < xmax<br />

= max{ x ; i ∈{1,2,...,||<br />

D ||}}<br />

∈{1,2,...,<br />

n}<br />

i<br />

i<br />

n∈ℵ<br />

Stosowany w obliczeniach komputerowych system zapisu liczb zmiennoprzecinkowych<br />

powoduje, Ŝe największa precyzja obliczeń jest w okolicy zera [71]. Z tego powodu<br />

przekonwertujmy zbiór D na zbiór D’ tak, aby zawierał się on w przestrzeni 〈0,1〉 n i<br />

m<br />

max


50<br />

odwzorowanie konwertujące<br />

k : D<br />

→ D'<br />

niech będzie odwzorowaniem wzajemnie<br />

o.<br />

w.<br />

j.<br />

jednoznacznym. Przykładowo taka konwersja moŜliwa jest za pomocą wzoru (5-3).<br />

{[ x'<br />

1<br />

1<br />

, x'<br />

2<br />

1<br />

,... x'<br />

n<br />

1<br />

∧<br />

m∈{1,2,...,<br />

n}<br />

n∈ℵ<br />

],...,[ x'<br />

1<br />

|| D||<br />

, x'<br />

o∈{1,2,...,||<br />

D||}<br />

2<br />

|| D||<br />

∧<br />

,... x'<br />

n<br />

|| D||<br />

x'<br />

m<br />

o<br />

=<br />

x<br />

x<br />

m<br />

o<br />

m<br />

max<br />

− x<br />

− x<br />

n<br />

m<br />

min<br />

m<br />

min<br />

]} = D'<br />

⊂ 0,1 × 0,1 × ... × 0,1 =<br />

1444<br />

24443<br />

Przyjmijmy ponadto, Ŝe cała przestrzeń 〈0,1〉 n jest obszarem dopuszczalnym.<br />

razy<br />

0,1<br />

n<br />

(5-3)<br />

Przestrzeń 〈0,1〉 n dzielona jest na K n podobszarów rozmytych<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

, gdzie kaŜdy z n zbiorów rozmytych<br />

1 2<br />

n<br />

K<br />

A<br />

i m<br />

(i m∈{1,2,...,n})<br />

wyznaczonych dla podziału K określony jest przez trójkątną funkcję przynaleŜności<br />

µ : 0,1 → 0,1 danej wzorem (5-4).<br />

K<br />

i m<br />

∧<br />

∧<br />

m∈{ 1,2,..., n}<br />

K∈{2,...,<br />

Kmax}<br />

n∈ℵ<br />

i ∈{1,2,...,<br />

K}<br />

m<br />

gdzie<br />

a<br />

K<br />

i<br />

m<br />

m K<br />

⎪<br />

⎧ x − a ⎪<br />

⎫<br />

K m<br />

im<br />

µ ( x ) = max⎨1<br />

− ,0<br />

K ⎬<br />

(5-4)<br />

im<br />

b ⎪⎩<br />

⎪⎭<br />

im<br />

−1<br />

=<br />

K −1<br />

b<br />

K<br />

1<br />

=<br />

K −1<br />

Rysunek 5-1. Podział odcinka jednostkowego 〈0,1〉 przez K=5 trójkątnych<br />

K<br />

funkcji przynaleŜności µ : 0,1 0, 1 (opisanych wzorem 5-4) na<br />

podobszary rozmyte<br />

K<br />

A<br />

i 1,2,...<br />

K<br />

rozmytego na przykładzie<br />

i=1,2,...,<br />

K<br />

→<br />

=<br />

. Zaznaczono zasadę tworzenia podobszaru<br />

A .<br />

K = 5<br />

i=<br />

4<br />

Do kaŜdego podobszaru<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

przypisana jest reguła rozmyta<br />

1 2<br />

n<br />

jeŜeli-to<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

słuŜąca do klasyfikacji danych, która brzmi:<br />

1 n


51<br />

"JeŜeli n-wymiarowy obiekt x=(x 1 ,x 2 ,...,x m ,...,x n ) naleŜy do podobszaru<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

(gdzie indeksy i<br />

1 2<br />

n<br />

1 ,i 2 ,..,i m ,...,i n ∈{1,2,...,K} i K<br />

jest liczbą podziałów), to jest on klasy<br />

K<br />

C<br />

i i2 ... im<br />

... i<br />

z pewnością<br />

1 n<br />

1 K 2 K m K n K<br />

( ) ⋅ µ ( x ) ⋅... ⋅ µ ( x ) ⋅ ⋅ µ ( x ) ⋅CF<br />

µ ".<br />

K<br />

i<br />

x<br />

i<br />

i<br />

i<br />

i i ... i ... i<br />

...<br />

1 2<br />

m<br />

n<br />

1 2<br />

m<br />

n<br />

Klasa<br />

K<br />

C<br />

i i2 ... im<br />

... i<br />

przypisana do reguły<br />

1 n<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

jest klasą ze zbioru wszystkich klas CT,<br />

1 n<br />

co zapisujemy<br />

K<br />

C<br />

i i2 ... im<br />

... i<br />

∈ CT (dla T∈{1, 2, ...,M}⊂ℵ i M jest liczbą klas) i<br />

1 n<br />

K<br />

CF<br />

i i2...<br />

im<br />

... i<br />

∈R + ∪{0}.<br />

1 n<br />

W celu wyznaczenia reguły<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

reguły i wyznaczyć wartość zaufania<br />

naleŜy określić klasę<br />

1 n<br />

K<br />

CF<br />

i i2...<br />

im<br />

... i<br />

(algorytm 5-1).<br />

1 n<br />

K<br />

C<br />

i i2 ... im<br />

... i<br />

przypisaną do tej<br />

1 n<br />

Algorytm 5-1: Tworzenie reguły<br />

Krok 1:<br />

R K<br />

i1<br />

i2...<br />

im<br />

... i<br />

n<br />

Dla kaŜdej klasy CT 0 (gdzie T 0 ∈{1, ..., M} i M jest liczbą klas) naleŜy<br />

wyznaczyć β CT0<br />

jako sumę zgodności wszystkich elementów uczących<br />

1 2 m<br />

x u =( x , x ,..., x ,..., x<br />

u<br />

u<br />

u<br />

n<br />

u<br />

) i u∈{1,2,...,||D’||} ze zbioru D’⊂〈0,1〉 n będących<br />

klasy CT 0 względem funkcji przynaleŜności<br />

wyznaczających regułę<br />

∧<br />

T0∈{1,2,...,<br />

M }<br />

β<br />

CT0<br />

=<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

|| D'||<br />

K<br />

∑ µ<br />

i1<br />

u=<br />

1<br />

1 2 m n<br />

x = [ x , x ,... x ,... x ] ∈D'<br />

u<br />

u<br />

u<br />

u<br />

Klasa(<br />

xu<br />

) = CT0<br />

n<br />

1<br />

(wzór 5-5).<br />

u<br />

i2<br />

µ µ ,..., µ<br />

m<br />

,..., µ<br />

,<br />

1 2<br />

K<br />

i<br />

K<br />

i<br />

1 K 2 K m K n<br />

( x ) ⋅ µ ( x ) ⋅...<br />

⋅ µ ( x ) ⋅...<br />

⋅ µ ( x )<br />

Krok 2: NaleŜy znaleźć klasę CT 1 o maksymalnej wartości β CT1<br />

(5-6).<br />

Krok 3:<br />

u<br />

u<br />

im<br />

u<br />

in<br />

u<br />

K<br />

i<br />

K<br />

i<br />

n<br />

(5-5)<br />

β CT1<br />

= max {β C1 , ..., β CM } (5-6)<br />

JeŜeli β CT1<br />

=0 lub występują dwie lub więcej klas, dla których wyznaczone<br />

wartości β CT0<br />

przyjmują maksymalną wartość, to wtedy klasa<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

C K<br />

i1<br />

i2 ... i ... i<br />

K<br />

przypisana do reguły nie jest definiowana i zaufanie<br />

1 n<br />

i1<br />

i2...<br />

im<br />

in<br />

do takiej reguły wynosi 0. Reguła taka nazywana jest regułą nieistotną. W<br />

K<br />

pozostałych przypadkach klasą C<br />

i i2 ... im<br />

... i<br />

jest klasa CT<br />

1 n<br />

1 .<br />

K<br />

JeŜeli zaufanie CF<br />

i i im<br />

... i<br />

nie zostało określone jako 0 w kroku 2, to<br />

1 2... n<br />

wyznacza się je wzorem (5-7).<br />

CF<br />

K<br />

i1i<br />

2 ... im<br />

... in<br />

β<br />

CT<br />

− β<br />

1<br />

, gdzie β =<br />

β<br />

= M<br />

∑<br />

T = 1<br />

CT<br />

M<br />

∑β<br />

CT<br />

T = 1<br />

T≠T1<br />

M −1<br />

m<br />

CF ...<br />

n<br />

(5-7)


52<br />

Realizację algorytmu 5-1 naleŜy rozpocząć od podziału K=2. Po wygenerowaniu<br />

zbioru S K reguł rozmytych jeŜeli-to dla zadanego K, naleŜy zwiększyć wartość K o jeden<br />

i powtórzyć cały algorytm. Powtarzanie algorytmu naleŜy zakończyć, jeŜeli dla<br />

bieŜącego K (nazywanego teraz K max ) wszystkie reguły<br />

K<br />

R<br />

i i2...<br />

im<br />

... in<br />

poprawnie sklasyfikować wszystkie elementy ze zbioru uczącego D’.<br />

1<br />

ze zbioru S K potrafią<br />

NaleŜy zauwaŜyć, Ŝe wzór (5-7) określający zaufanie<br />

spełnia dwa wymogi zgodne z intuicją:<br />

K<br />

CF<br />

i i2...<br />

im<br />

... in<br />

1<br />

do klasyfikacji<br />

a) JeŜeli β CT1<br />

>0 i dla kaŜdej wartości T 0 ≠ T 1 β CT0<br />

=0, to oznacza Ŝe wszystkie<br />

elementy ze zbioru uczącego D mogące dać wynik ze wzoru (5-5) większy od<br />

K<br />

zera naleŜą do jednej klasy CT 1 . Wtedy zaufanie CF<br />

i i im<br />

... i<br />

=1, czyli<br />

1 2... n<br />

klasyfikacja jest pewna.<br />

b) JeŜeli dla kaŜdego T 0 wartości β CT0<br />

niewiele się od siebie róŜnią, to<br />

K<br />

CF<br />

i i2...<br />

im<br />

... in<br />

1<br />

≈0, czyli klasyfikacja nie jest pewna.<br />

Algorytm 5-2 umoŜliwia [42] klasyfikację dowolnego obiektu<br />

x=(x 1 ,x 2 ,...,x m ,...,x n ) na podstawie zbioru reguł S K wygenerowanych dla zadanego K.<br />

Algorytm 5-2: Klasyfikacja n-wymiarowego obiektu x=(x 1 ,x 2 ,...,x m ,...,x n ) za pomocą<br />

reguł ze zbioru S K<br />

Krok 1:<br />

Krok 2:<br />

NaleŜy wyznaczyć α CT0<br />

dla kaŜdej klasy CT 0 (gdzie T 0 ∈{1,2,...,M} i M jest<br />

ilością klas) wg zaleŜności (5-8).<br />

{<br />

K (<br />

1 )<br />

K (<br />

2 )<br />

K (<br />

m )<br />

K (<br />

n )<br />

K<br />

∧ ∧ α<br />

CT<br />

= max µ<br />

i<br />

x ⋅ µ<br />

K<br />

i<br />

x ⋅...<br />

⋅ µ<br />

i<br />

x ⋅...<br />

⋅ µ<br />

m<br />

i<br />

x ⋅ CF<br />

0<br />

1<br />

2<br />

n<br />

i1i<br />

... im<br />

... in<br />

} (5-8)<br />

T { 1,2,..., M }<br />

2<br />

0∈<br />

Ci<br />

i CT<br />

2 ... im ... =<br />

1 in 0<br />

i1<br />

, i2<br />

,..., im<br />

,... in∈{1,2,...,<br />

K}<br />

K<br />

K<br />

Ri<br />

i i m ... i n<br />

S<br />

1 2 ... ∈<br />

NaleŜy wyznaczyć klasę CT 1 taką, Ŝe:<br />

α CT1<br />

= max {∝ C1 , ..., ∝ CM } (5-9)<br />

Wynikiem tego algorytmu jest klasa CT 1 . JeŜeli dwie lub więcej klas<br />

przyjmuje maksymalne wartości α CT0<br />

we wzorze (5-9) lub wszystkie<br />

wartości<br />

klasyfikowany.<br />

α CT0<br />

są zerem, to element x=(x 1 ,x 2 ,...,x m ,...,x n ) nie jest


53<br />

Rysunek 5-2. Utrata wpływu na klasyfikację reguły<br />

rzecz reguły<br />

K = 2<br />

i=<br />

1<br />

K = 2<br />

R o zaufaniu CF 0, 5 na<br />

K = 2<br />

i=<br />

2<br />

K = 2<br />

R o zaufaniu CF 1.<br />

i=<br />

1<br />

=<br />

i=<br />

2<br />

=<br />

NaleŜy tu zwrócić uwagę, Ŝe we wzorze (5-8) uŜyto do wyznaczania wielkości<br />

α CT0<br />

zaufania do klasyfikacji<br />

K<br />

CF<br />

i i2...<br />

im<br />

... in<br />

1<br />

z reguły<br />

K<br />

R<br />

i i2...<br />

im<br />

... in<br />

1<br />

. PoniewaŜ wartość owego<br />

zaufania naleŜy do przedziału 〈0,1〉, to iloczyn zaufania<br />

K<br />

CF<br />

i i2...<br />

im<br />

... in<br />

1<br />

i wartości<br />

K 1 K 2<br />

µ ( x ) ⋅ µ ( x ) ⋅...<br />

⋅<br />

K m<br />

µ ( x ) ⋅...<br />

⋅<br />

K n<br />

µ ( x ) moŜe ulec zmniejszeniu w stosunku do<br />

m<br />

i1<br />

i2<br />

i<br />

in<br />

K 1 K 2<br />

wartości µ ( x ) ⋅ µ ( x ) ⋅...<br />

⋅<br />

K m<br />

µ ( x ) ⋅...<br />

⋅<br />

K n<br />

µ ( x ) . Dzięki temu wpływ reguły<br />

m<br />

i1<br />

i2<br />

i<br />

in<br />

R K<br />

i1<br />

i2...<br />

im<br />

... in<br />

z obszaru<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

moŜe ulec zmniejszeniu na korzyść reguł<br />

1 2<br />

n<br />

przypisanych do obszarów sąsiadujących z<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

(czyli obszarów<br />

1 2<br />

n<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

j j<br />

j<br />

j<br />

gdzie kaŜdy z indeksów j<br />

1 2<br />

n<br />

m (i m∈{1,2,...,n} i n – liczba<br />

wymiarów) moŜe przyjmować wartości ze zbioru {i m -1, i m , i m +1}) – rysunek 5-2.<br />

Przykład 5-1<br />

Niech będzie określony [42] zbiór danych uczących D=D’ zawarty w przestrzeni<br />

〈0,1〉×〈0,1〉. Niech składa się on z danych dwóch klas: C1 i C2.<br />

C1<br />

0.31, 0.92<br />

0.32, 0.82<br />

0.20, 0.69<br />

0.19, 0.55<br />

0.06, 0.43<br />

0.29, 0.41<br />

0.18, 0.31<br />

0.03, 0.17<br />

0.02, 0.09<br />

0.17, 0.07<br />

C2<br />

0.50, 0.99<br />

0.55, 0.83<br />

0.31, 0.69<br />

0.43, 0.57<br />

0.42, 0.32<br />

0.69, 0.31<br />

0.29, 0.18<br />

0.18, 0.17<br />

0.87, 0.12<br />

0.30, 0.09<br />

Tabela 5-1. Zbiór D Rysunek 5-3. Zbiór D w przestrzeni 〈0,1〉×〈0,1〉


54<br />

Wykonajmy algorytm 5-1 dla K=2. Dla przestrzeni dwuwymiarowej realizację algorytmu<br />

5-1 wykonuje program kulki.exe (mojego autorstwa).<br />

Rysunek 5-4. Zbiór reguł S 2 i ich wpływ na klasyfikację - objaśnienia w tekście<br />

Na rysunku 5-4 w oknie „Prawa” kolorem jasnozielonym zaznaczone są reguły z<br />

przypisaną klasą C1, a kolorem błękitnym – z przypisaną klasą C2. Jak pokazuje jednak<br />

okno „Linia podziału” [26] z rysunku 5-4 wpływ poszczególnych reguł na klasyfikację<br />

rozmytą jest nieco inny niŜ obszary rozmyte uzyskane w algorytmie 5-1. W oknie „Linia<br />

podziału” z rysunku 5-4 kolorem niebieskim zaznaczono obszar, w którym obiekty<br />

zostałyby zaklasyfikowane do C1 przez reguły z S 2 , a kolorem czerwonym – do C2.<br />

Przyczyną róŜnic są róŜne wartości zaufania przypisane do poszczególnych reguł, a mające<br />

wpływ na pewność wykonywanej klasyfikacji (wzór 5-8), co przedstawia rysunek 5-5.<br />

Rysunek 5-5. Wpływ zaufania na pewność wykonywanej klasyfikacji α CT1<br />

zbioru reguł S 2 (i, j odpowiadają osiom x, y z rysunku 5-3).<br />

(wzór 5-8) dla<br />

Rysunek 5-6. Zbiory S 3 , S 4 , S 5 , S 6 (znaczenie kolorów jak na rysunku 5-4, kolor czarny<br />

oznacza regułę nieistotną)


55<br />

Rysunek 5-7. Klasyfikacja przez reguły ze<br />

zbioru S K=6 (znaczenie kolorów jak na<br />

rysunku 5-4, kolor czarny oznacza brak<br />

klasyfikacji)<br />

Rysunek 5-8. Klasyfikacja przez wszystkie<br />

reguły (wzór 5-8 rozwinięty do zbioru reguł<br />

S 2 ∪ S 3 ∪ S 4 ∪ S 5 ∪ S 6 )<br />

Realizując algorytm 5-1 otrzymujemy kolejne zbiory reguł S 3 , S 4 , S 5 , S 6 aŜ do uzyskania<br />

ostatecznego podziału K max =6. Porównując rysunki 5-7 i 5-8 przedstawiające klasyfikację<br />

regułami ze zbioru S 6 i S 2 ∪ S 3 ∪ S 4 ∪ S 5 ∪ S 6 warto zauwaŜyć, Ŝe wzięcie pod uwagę przy<br />

klasyfikacji reguł z pierwszych podziałów (wzór 5-14) zmniejsza szansę na pojawienie się<br />

obszarów, w których klasyfikacja nie moŜe być wykonana (czarne obszary na rysunku 5-7).<br />

5.2. Redukcja liczby reguł poprzez zmniejszanie liczby podziałów<br />

Podczas realizacji algorytmu 5-1 w ostatnim wykonanym podziale K max<br />

uzyskujemy zbiór<br />

Kmax<br />

S rozmytych reguł jeŜeli-to zdolnych poprawnie klasyfikować<br />

(algorytm 5-2) wszystkie dane uczące ze zbioru D’.<br />

∧ S K =<br />

K∈ { 2,..., Kmax}<br />

Jednak liczność uzyskanego zbioru<br />

( K ) n<br />

(5-10)<br />

Kmax<br />

S (wzór 5-10) moŜe przewyŜszać<br />

liczność zbioru ||D||=||D’|| (z powodu zastosowania podziału na podobszary rozmyte),<br />

co czyni metodę nieefektywną. MoŜemy zredukować liczbę uzyskanych reguł, jeŜeli<br />

zastąpimy je regułami uzyskanymi z poprzednich podziałów. W celu sformalizowania<br />

tej redukcji wprowadźmy jeszcze pojęcia zbiorów S i A (wzory 5-11, 5-12, 5-13).<br />

S<br />

2 3<br />

K<br />

Kmax<br />

K<br />

= S ∪ S ∪...<br />

∪ S ∪...<br />

∪ S = S<br />

(5-11)<br />

U<br />

K∈{2,...,<br />

K max}<br />

S<br />

( K ) n<br />

+ ... ( K ) n<br />

2 n + 3<br />

n + ... + +<br />

= (5-12)<br />

max<br />

A ⊆ S M ≤ A ≤ S<br />

(5-13)<br />

Zbiór S jest zbiorem wszystkich wygenerowanych reguł rozmytych, a zbiór A<br />

jest zbiorem reguł wybranych do klasyfikacji. Klasyfikacja nowego obiektu<br />

x=(x 1 ,x 2 ,...,x m ,...,x n ) wg reguł naleŜących do zbioru A odbywa się analogicznie do<br />

algorytmu 5-2 tylko wzór (5-8) dotyczy reguł ze zbioru A (wzór 5-14).


K 1 K 2 K m K n K<br />

∧ ∧ α { µ ( ) ⋅ µ ( x ) ⋅...<br />

⋅ µ ( x ) ⋅...<br />

⋅ µ ( x ) ⋅CF<br />

}<br />

CT<br />

= max<br />

i<br />

x<br />

i<br />

i<br />

i<br />

i i i i<br />

T M<br />

K<br />

m<br />

n<br />

... m ...<br />

{ 1,2,..., }<br />

0<br />

1<br />

2<br />

1 2 n<br />

0∈<br />

Ci<br />

i i i CT<br />

2<br />

i , i ,..., i i K<br />

m n<br />

m ,... n {1,2,..., }<br />

... ... =<br />

1<br />

0<br />

1 2 ∈<br />

K<br />

K<br />

Ri<br />

i i m ... i n<br />

A S S<br />

1 2 ... ∈ ⊆ = U<br />

K<br />

56<br />

(5-14)<br />

W celu zmniejszenia liczności uzyskanego zbioru S naleŜy zakończyć wcześniej<br />

algorytm generowania reguł 5-1. W tym celu proponuje się [2] dokonywanie kolejnych<br />

podziałów K tylko w obszarach decyzyjnie trudnych – tj. w obszarach, gdzie<br />

wygenerowana reguła nie realizuje poprawnej w 100% klasyfikacji. Inne prace<br />

proponują stosowanie metody spadku gradientu ([56], [39], [64]), zastosowanie<br />

samogenerujących się reguł sterowanych siecią neuronową ([37], [38], [90]) lub<br />

algorytmem genetycznym ([65]).<br />

Przykład 5-2<br />

Niech w obszarze X=〈0,1〉 obszarem trudnym decyzyjnie będą okolice<br />

punktu 0, a obszarem łatwym decyzyjnie okolice punktu 1. W celu<br />

zmniejszenia liczby realizacji algorytmu 5-1 moŜna zastosować<br />

przykładowo funkcję daną wzorem 5-15.<br />

N<br />

g ( x)<br />

= −1⋅<br />

x −1<br />

+ 1, gdzie N ∈ 1,∞<br />

) ⊂ R<br />

(5-15)<br />

Rysunek 5-9. Wykres funkcji g (wzór 5-15) - indeks dla funkcji g i<br />

parametru N wprowadzono w celu zaznaczenia, Ŝe funkcja jest opisana w X<br />

KaŜda z tych metod jest dość wydajna i umoŜliwia uzyskanie niewielkiej ilości reguł.<br />

Jednak są to metody skomplikowane obliczeniowo, a przez to trudne do objaśnienia<br />

podczas wdroŜeń systemów informatycznych [11] praktycznie ich uŜywających. Prostą<br />

metodą i nieskomplikowaną obliczeniowo jest transformacja przestrzeni danych<br />

uczących 〈0,1〉 n w przestrzeń 〈0,1〉 n tak, aby obszary decyzyjnie trudne zostały<br />

powiększone, a obszary decyzyjnie łatwe zostały pomniejszone. W tym celu naleŜy<br />

ustalić odpowiednią funkcję transformującą<br />

n<br />

h : 0,1 → 0, 1 (będącą<br />

o.<br />

w.<br />

j.<br />

n<br />

odwzorowaniem wzajemnie jednoznacznym) dobraną do warunków konkretnego


zadania. W celu uproszczenia (przykład 5-2) doboru funkcji transformującej zastosujmy<br />

n razy (na kaŜdym z n-wymiarów przestrzeni 〈0,1〉 n ) funkcję g : 0,1 → 0, 1 .<br />

o. w.<br />

j.<br />

Po konwersji punktów uczących za pomocą wybranej funkcji g uzyskujemy<br />

zbiór danych uczących D”. W zbiorze tym wykonujemy generowanie reguł uczących<br />

zgodnie z algorytmem 5-1 przy czym trójkątne funkcje przynaleŜności (5-4) ze wzoru<br />

5-5 określone są juŜ na wartościach funkcji g w punkcie, co daje efekt zastosowania<br />

specjalnie zmodyfikowanych funkcji trójkątnych w zbiorze D’ (wzór 5-16).<br />

∧<br />

∧<br />

m∈{ 1,2,..., n}<br />

K∈{2,...,<br />

Kmax}<br />

n∈ℵ<br />

i ∈{1,2,...,<br />

K}<br />

Przykład 5-3<br />

m<br />

gdzie<br />

a<br />

K<br />

i<br />

m<br />

1<br />

=<br />

K −1<br />

m<br />

( x )<br />

57<br />

K<br />

⎪<br />

⎧ g − a ⎪<br />

⎫<br />

K m<br />

m<br />

im<br />

µ " ( x ) = max⎨1<br />

−<br />

,0<br />

K ⎬ (5-16)<br />

im<br />

b ⎪⎩<br />

⎪⎭<br />

im<br />

−1<br />

=<br />

K −1<br />

b<br />

K<br />

Do wykonania konwersji zbioru D’ w D” zastosujmy funkcję g daną<br />

wzorem 5-15 dla wartości parametru N=3. Wykonanie podziału zbioru D”<br />

funkcjami trójkątnymi zgodnie z algorytmem 5-1 sprowadza się do<br />

wykonania takiego samego podziału na zbiorze D’ ale za pomocą funkcji<br />

danej wzorem 5-16.<br />

Rysunek 5-10. Wykresy funkcji przynaleŜności danych wzorem 5-16<br />

dla funkcji g danej wzorem 5-15 i wartości parametru N=3<br />

(dla porównania z rysunkiem 5-1 zaznaczono funkcję wyznaczającą<br />

K = 5<br />

obszar A ) dla podziałów K=2, K=3, K=4 i K=5.<br />

i=<br />

4


58<br />

Konwersja zbioru D’ w D” umoŜliwia cofnięcie konwersji zbioru D w D’ i<br />

zastosowanie innej niŜ zaproponowana we wzorze 5-3 konwersji np.: za pomocą funkcji<br />

arcus tangens lub tangens hiperboliczny. MoŜliwe jest teŜ dostrojenie kształtu funkcji<br />

przynaleŜności (5-16) poprzez zastosowanie sieci neuronowych [43], jednak celem<br />

dobrania funkcji g jest zmniejszenie liczby podziałów wykonywanych podczas<br />

realizacji algorytmu 5-1, a nie minimalizacja tej liczby.<br />

Oprócz konwersji zbioru D’ w D” prostym sposobem na zmniejszenie liczby<br />

podziałów K max niezbędnych do wykonania w algorytmie 5-1, aby otrzymać zbiór reguł<br />

K<br />

S max<br />

poprawnie klasyfikujących wszystkie dane uczące w zbiorze D”, jest sztuczne<br />

powiększenie analizowanego zbioru D. Zaproponowany sposób konwersji zbioru D w<br />

D’ (wzorem 5-3) posiada pewną wadę: niektóre dane uczące leŜą na granicy zbioru D’,<br />

a są to dane o współrzędnych w m-tym wymiarze:<br />

m<br />

x max<br />

,<br />

m<br />

x min<br />

(wzór 5-3). Takie dane<br />

klasyfikowane są w m-tym wymiarze przez jedną rozmytą regułę jeŜeli-to (reguła o<br />

odpowiednio indeksie 1 lub K dla kaŜdego podziału K), a niemal wszystkie pozostałe<br />

dane przez dwie reguły (rysunek 5-1 lub 5-10). MoŜe to być przyczyną słabszej nieco<br />

klasyfikacji na brzegach zbioru D’ i dlatego proponuję zmianę wzorów 5-2 i 5-3<br />

konwertujących zbiór D na D’ na odpowiednio 5-17 i 5-18.<br />

∧<br />

m∈{1,2,...,<br />

n}<br />

n∈ℵ<br />

x'<br />

D ⊂ X<br />

m<br />

min<br />

1<br />

× X<br />

= min{ x<br />

m<br />

i<br />

2<br />

× ... × X<br />

n<br />

=<br />

x'<br />

, x'<br />

; i ∈{1,2,...,||<br />

D ||} − ∆x<br />

∧<br />

m∈{1,2,...,<br />

n}<br />

n∈ℵ<br />

1<br />

min<br />

∆x<br />

1<br />

max<br />

m<br />

min<br />

m<br />

min<br />

, ∆x<br />

× x'<br />

<<br />

m<br />

max<br />

2<br />

min<br />

x'<br />

∈ R<br />

, x'<br />

m<br />

max<br />

+<br />

2<br />

max<br />

= max{ x<br />

∪<br />

{ 0}<br />

× ... ×<br />

m<br />

i<br />

x'<br />

n<br />

min<br />

, x'<br />

n<br />

max<br />

; i ∈{1,2,...,||<br />

D ||} + ∆x<br />

m<br />

max<br />

(5-17)<br />

{[ x'<br />

1<br />

1<br />

, x'<br />

2<br />

1<br />

,... x'<br />

n<br />

1<br />

∧<br />

m∈{1,2,...,<br />

n}<br />

n∈ℵ<br />

],...,[ x'<br />

1<br />

|| D||<br />

, x'<br />

o∈{1,2,...,||<br />

D||}<br />

2<br />

|| D||<br />

∧<br />

,... x'<br />

n<br />

|| D||<br />

x'<br />

m<br />

o<br />

x<br />

=<br />

x'<br />

m<br />

o<br />

m<br />

max<br />

− x'<br />

−x<br />

n<br />

m<br />

min<br />

m<br />

'<br />

min<br />

]} = D'<br />

⊂ 0,1 × 0,1 × ... × 0,1 =<br />

1444<br />

24443<br />

razy<br />

0,1<br />

n<br />

(5-18)<br />

Obie zaproponowane metody<br />

- konwersja zbioru D’ w D”<br />

- sztuczne powiększenie analizowanego zbioru D<br />

mogą (co zostało potwierdzone obliczeniowo w rozdziale 7.4) zmniejszyć liczbę K max<br />

realizacji algorytmu 5-1, ale nie słuŜą one do minimalizacji tej wartości. Właściwe


zmniejszenie liczby reguł niezbędnych do wykonania poprawnej klasyfikacji zrealizuje<br />

algorytm genetyczny.<br />

59<br />

5.3. Zmniejszanie liczby reguł za pomocą algorytmu genetycznego<br />

Jak zostało przedstawione w rozdziale 3 algorytm genetyczny usiłuje rozwiązać<br />

zadnie optymalizacji poprzez ukierunkowane losowo przeszukiwanie przestrzeni<br />

moŜliwych rozwiązań. Algorytm genetyczny nie gwarantuje wyszukania najlepszego<br />

(optymalnego) rozwiązania, ale zwraca najlepszy znaleziony wynik - co często w<br />

zastosowaniach praktycznych jest zadowalające. JeŜeli zadanie zmniejszania liczby<br />

reguł (generowanych algorytmem 5-1) przy wykonywaniu przez nie moŜliwie dobrej<br />

klasyfikacji zostanie sprowadzone do zadania optymalizacji, to moŜe zostać ono<br />

rozwiązane za pomocą algorytmu genetycznego w zadowalający sposób.<br />

5.3.1. Postawienie problemu<br />

Niech zbiór A (wzór 5-13) będzie zbiorem wybranych reguł rozmytych jeŜeli-to<br />

(wykonanych algorytmem 5-1) zawartych w zbiorze wszystkich reguł S (wzór 5-11)<br />

uzyskanych ze wszystkich K max kroków algorytmu 5-1. Niech k(A)∈〈0,||D||〉⊂ℵ∪{0}<br />

będzie liczbą prawidłowo klasyfikowanych danych uczących przez rozmyte reguły<br />

jeŜeli-to ze zbioru A.<br />

Do rozwiązania jest zadanie optymalizacji dwukryterialnej [7]: zminimalizować<br />

liczbę reguł uŜywanych do klasyfikacji przy jednoczesnym zmaksymalizowaniu liczby<br />

poprawnie klasyfikowanych danych uczących. W świetle wykonanych oznaczeń<br />

zadanie to moŜna zapisać jako: zminimalizować liczność zbioru A i zmaksymalizować<br />

wartość k(A). Te dwa cele naleŜy sprowadzić do maksymalizacji funkcji f:(A)→R danej<br />

przykładowym [42] wzorem (5-19).<br />

f ( A)<br />

= a ⋅ k(<br />

A)<br />

− b ⋅ A gdzie a,b∈R + (5-19)<br />

NaleŜy teŜ zaznaczyć, Ŝe w większości zadań istotniejsze jest zachowanie<br />

poprawnej klasyfikacji niŜ zmniejszenie liczby reguł. Stąd pomiędzy liczbami a i b we<br />

wzorze 5-19 zachodzi zaleŜność 5-20.<br />

0 < b ≤ a<br />

(5-20)


Po określeniu zadania optymalizacji jako maksymalizacji funkcji f:(A)→R danej<br />

wzorem (5-19) moŜna rozwiązywać to zadanie za pomocą algorytmu genetycznego.<br />

60<br />

5.3.2. Kodowanie chromosomu<br />

Algorytm genetyczny rozwiązuje zadanie optymalizacji, ale najpierw musi ono<br />

zostać zakodowane w chromosomach na potrzeby przetworzenia przez algorytm<br />

genetyczny. Zbiory A oraz S zakodujmy w chromosomie w następujący sposób:<br />

a) niech długość chromosomu będzie taka jak liczność zbioru S (wzory: 5-10 - 5-12)<br />

b) niech kaŜdej regule<br />

r<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

pozycji r w chromosomie (wzór 5-21)<br />

ze zbioru S odpowiada dokładnie jeden gen na<br />

1 n<br />

n−2<br />

n−m<br />

n−n<br />

( i1<br />

−1) + K ( i2<br />

−1) + ... + K ( im<br />

−1) + ... + K ( in<br />

−1)<br />

+ 1<br />

n−1<br />

n−2<br />

n−m<br />

n n<br />

( i −1) + K ( i −1) + ... + K ( i −1) + ... + K ( i −1)<br />

n−1<br />

⎧ K<br />

dla K = 2<br />

⎪K<br />

−1<br />

⎨ n<br />

⎪∑ h + K<br />

1<br />

2<br />

m<br />

n<br />

+ 1 dla K > 2<br />

⎩h=<br />

2<br />

= −<br />

gdzie:<br />

n∈ℵ - liczba wymiarów<br />

m∈{1,2,...,n} - numer indeksu i określonego na m-tym wymiarze<br />

K max - liczba uruchomień algorytmu 5-1<br />

K∈{1,2,..., K max } - K-te uruchomienie algorytmu 5-1<br />

i m ∈{1,2,..., K} - indeks określony na m-tym wymiarze<br />

c) niech wartość genu, który poprzez swoją lokalizację określa regułę, wynosi:<br />

0 - gdy reguła jest nieistotna<br />

1 - gdy reguła naleŜy do zbioru A<br />

2 - gdy reguła nie naleŜy do zbioru A.<br />

(5-21)<br />

Dla tak przyjętej formy kodowania chromosomu zauwaŜmy, Ŝe miało sens<br />

zmniejszanie liczby wykonanych przebiegów algorytmu 5-1, gdyŜ uzyskujemy w ten<br />

sposób krótsze chromosomy w algorytmie genetycznym. ZauwaŜmy teŜ, Ŝe przyjęty<br />

sposób kodowania zawiera w sobie rozwiązanie przynajmniej jednego z kryteriów<br />

optymalizacji: maksymalizacji liczby poprawnie klasyfikowanych elementów.<br />

Wszystkie elementy uczące są klasyfikowane przez reguły uzyskane z ostatniego<br />

podziału K max wykonanego przez algorytm 5-1. Wystarczy więc uzyskać chromosom<br />

kodujący zestawem jedynek tylko i wyłącznie wszystkie reguły ze zbioru<br />

Kmax<br />

S .<br />

Minimalizacja liczby uŜytych reguł do klasyfikacji polegać będzie na zastępowaniu tych<br />

jedynek jedynkami uzyskanymi z wcześniejszych przebiegów algorytmu 5-1.<br />

ZauwaŜmy teŜ, Ŝe wraz ze wzrostem wartości K określającej numer podziału w<br />

algorytmie 5-1 maleją obszary, do których przypisane są reguły<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

. W związku z<br />

1 n


tym lepszymi wydają się reguły uzyskane z pierwszych przebiegów algorytmu 5-1,<br />

gdyŜ umoŜliwiają wykonanie klasyfikacji na większym obszarze.<br />

61<br />

= {<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

ch = {<br />

:<br />

1 n<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

K<br />

R<br />

i i2...<br />

im<br />

... in<br />

:<br />

1 n<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

1<br />

∈ S K=2 }∪...∪{<br />

K K<br />

S = }=<br />

∈S= S K=2 max<br />

∪...∪<br />

1 n<br />

K<br />

K<br />

K Kmax<br />

R<br />

i1 i im<br />

... i<br />

: R<br />

n i1i<br />

im<br />

... i<br />

∈<br />

n<br />

= chS K=2 K Kmax<br />

∪...∪ chS = = U max K<br />

chS<br />

K = 2<br />

2...<br />

K<br />

2...<br />

S = } =<br />

(5-22)<br />

ZauwaŜmy teŜ, Ŝe wzór 5-21 umieszcza reguły ze zbiorów S K (uzyskiwanych z<br />

kolejnych podziałów K podczas realizacji algorytmu 5-1) po sobie, powodując tym<br />

samym, Ŝe moŜna w chromosomie ch wyróŜnić kolejno odcinki chS K kodujące sobą<br />

grupy reguł naleŜących do zbiorów S K (rysunek 5-11 i wzór 5-22).<br />

Rysunek 5-11. Przykładowy chromosom – zaznaczono kolorem niebieskim<br />

umowny podział na grupy reguł chS K (o zaznaczonej długości)<br />

Jak widać z rysunku 5-11 zaproponowana forma kodowania problemu<br />

optymalizacji powoduje powstawanie chromosomów, których długość zaleŜy od liczby<br />

K max realizacji algorytmu 5-1 i od liczby wymiarów n. PoniewaŜ nie mamy wpływu w<br />

danym zadaniu na liczbę wymiarów n, to szczególnego znaczenia nabierają<br />

proponowane metody zmniejszenia liczby K max realizacji algorytmu 5-1. Skrócenie<br />

długości chromosomu znacząco wpłynie na czas wykonywania się algorytmu<br />

genetycznego. Ów czas realizacji algorytmu genetycznego moŜe być powodem,<br />

ograniczenia praktycznego zastosowania proponowanej metody do rozwiązywania<br />

zadań klasyfikacji określonych na niewielkiej liczbie wymiarów.<br />

ZauwaŜmy teŜ, Ŝe prostota proponowanej metody kodowania pociąga za sobą<br />

zapisanie w chromosomie wielu reguł nieistotnych, które nigdy nie będą naleŜały do<br />

zbioru A. Celem skrócenia długości chromosomu moŜliwe jest ich usunięcie z<br />

chromosomu (poprzez zastosowanie specjalnej tablicy przypisującej lokacji r genu daną<br />

regułę<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

), ale zmieni to znacząco pracę operatora krzyŜowania, gdyŜ trudniej<br />

1 n<br />

byłoby wyizolować schematy kodujące pojedyncze reguły (twierdzenie o schematach –<br />

wzór 3-10). Z tej przyczyny naleŜałoby posługiwać się często zachodzącym<br />

krzyŜowaniem wielopunktowym (przykład 5-4).


Przykład 5-4<br />

Niech dane będą dwa chromosomy a) i b) kodujące w swoich genach reguły nieistotne i<br />

dwa, które tego nie robią – c) i d). Niech zaznaczone w nich geny poprzez jedynki<br />

oznaczają istotne reguły, które realizują poprawną klasyfikację. Niech chromosom o<br />

większej liczbie jedynek realizuje lepiej klasyfikację (lepszy chromosom) niŜ chromosom o<br />

małej ich liczbie (gorszy chromosom).<br />

a) 22222210000000000222<br />

b) 22222220000000000122<br />

c) 2222221222<br />

d) 2222222122<br />

Aby z chromosomów a)-d) uzyskać jeszcze lepsze e) i f) na drodze krzyŜowania, naleŜy<br />

krzyŜowanie wykonać pomiędzy zaznaczonymi jedynkami w genach.<br />

e) 22222210000000000122<br />

f) 2222221122<br />

Prawdopodobieństwo uzyskania chromosomu e) z chromosomów a) i b) wynosi 11/19, a<br />

uzyskania chromosomu f) z c) i d) wynosi 1/9. Z tego powodu dla drugiego systemu<br />

kodowania naleŜałoby uŜywać często wykonywanego krzyŜowania wielopunktowego.<br />

62<br />

5.3.3. Funkcja przystosowania<br />

Po określeniu sposobu kodowania zadania w algorytmie genetycznym<br />

(sprowadzonego do zakodowania w chromosomie zbioru A), naleŜy jeszcze określić<br />

funkcję przystosowania Φ:(ch)→R (wzór 3-2), tak aby jej maksymalizacja<br />

rozwiązywała równieŜ zadanie maksymalizacji funkcji f (wzór 5-19). Najprostszym<br />

rozwiązaniem tego problemu jest przyjęcie za funkcję przystosowania funkcji f:(A)→R<br />

danej wzorem 5-23.<br />

Φ ( ch)<br />

= f ( A)<br />

= a ⋅ k(<br />

A)<br />

− b ⋅ A gdzie a,b∈R + i a≥b>0. (5-23)<br />

Jednak takie rozwiązanie moŜe zadziałać tylko dla krótkich chromosomów, gdy<br />

przeszukiwana przestrzeń moŜliwych rozwiązań jest mała. Przy duŜych przestrzeniach<br />

pomocne moŜe okazać się zastosowanie funkcji kary, która promowałaby reguły z<br />

pierwszych podziałów K (wykonywanych podczas realizacji algorytmu 5-1), a karała<br />

reguły z ostatnich. Powodem zastosowania takiej funkcji są niewielkie róŜnice w<br />

wielkości obszaru, do którego przypisana jest reguła<br />

K<br />

R<br />

i i2...<br />

im<br />

... i<br />

, uzyskana dla duŜej<br />

1 n<br />

wartości K i w kolejnym podziale K+1. Z tego powodu moŜe się okazać, Ŝe dla duŜych<br />

wartości K reguły uzyskane pod koniec realizacji algorytmu klasyfikują poprawnie<br />

tylko jeden obiekt uczący, czyli reguły z podziału K, czy K+1 nie zmieniają wartości<br />

funkcji przystosowania danej wzorem 5-23.


Jedną z prostszych do wyznaczenia funkcji kary jest funkcja wagi reguł<br />

naleŜącego do zbioru A. Niech reguły ze zbioru A uzyskane dla podziału K (z przebiegu<br />

algorytmu 5-1), czyli naleŜące do zbioru S K , będą „waŜone” przez wartość K (5-24).<br />

K<br />

∑<br />

K<br />

w ( A)<br />

K ⋅ S ∩ A<br />

(5-24)<br />

= max K = 2<br />

Mając do dyspozycji funkcję kary w:(A)→R zdefiniowaną wzorem 5-24, która<br />

promuje reguły uzyskane dla pierwszych podziałów K (podczas realizacji algorytmu 5-<br />

1) moŜemy wymienić funkcję przystosowania wzór 5-23 na bardziej odpowiednią<br />

opisaną wzorem 5-25.<br />

Φ ( ch)<br />

= a ⋅ k(<br />

A)<br />

− b ⋅ A − c ⋅ w(<br />

A)<br />

gdzie a,b,c∈R + i a≥b>>c>0. (5-25)<br />

ZaleŜność b>>c we wzorze 5-25 wynika z faktu, Ŝe bardziej jednak zaleŜy nam<br />

na minimalizacji liczby reguł uŜytych do klasyfikacji niŜ na ich rozmieszczeniu w<br />

chromosomie w zbiorach (odcinkach chromosomu) chS K .<br />

Określona wzorem 5-25 funkcja przystosowania nie spełnia jeszcze jednego<br />

wymogu, aby zastosować ją w algorytmie genetycznym: powinna przyjmować wartości<br />

nieujemne. Z tego powodu wykonajmy prostą modyfikację tej funkcji: ograniczamy ją z<br />

dołu (wzór 5-26).<br />

{ 0; a ⋅ k(<br />

A)<br />

− b ⋅ A − c ⋅ w(<br />

)}<br />

Φ ( ch)<br />

= max<br />

A gdzie a,b,c∈R + i a≥b>>c>0. (5-26)<br />

Funkcja przystosowania dana wzorem 5-26 moŜe juŜ zostać uŜyta. Jednak<br />

wartości przez nią generowane mogą sprawiać trudność podczas ich interpretacji, gdyŜ<br />

trudno będzie ocenić w jakim stopniu uzyskana wartość rozwiązuje problem<br />

maksymalizacji. ZauwaŜmy jednak, Ŝe wartości funkcji danej wzorem 5-26 są<br />

ograniczone z góry:<br />

- maksymalną wartością k(A), czyli liczby poprawnie klasyfikowanych obiektów<br />

uczących, jest liczba wszystkich obiektów uczących, czyli ||D||=||D’||=||D”||<br />

- minimalną wartością ||A||, czyli liczby reguł uŜytych do klasyfikacji, jest liczba<br />

klas M<br />

- minimalną wartością w(A), czyli wagi połoŜenia w chromosomie reguł ze zbioru<br />

A, jest wartość wynikająca z umieszczenia tych reguł w początkowych odcinkach<br />

chromosomu; poniewaŜ wyznaczanie wartości minimalnej moŜe być czasochłonne<br />

obliczeniowo (naleŜy uwzględniać istnienie reguł nieistotnych), moŜna taką<br />

wartość traktować jako ograniczoną z dołu przez wartość 2M (czyli minimalna<br />

liczba reguł M umieszczona w pierwszym odcinku chromosomu chS 2 ).<br />

63


Zamiast funkcji przystosowania Φ:(ch)→R danej wzorem 5-26 wygodniej<br />

będzie (pod kątem analizy rozwiązywania zadania maksymalizacji przez algorytm<br />

genetyczny) ją znormalizować i stosować funkcję Φ:(ch)→〈0,1〉⊂R daną wzorem 5-27.<br />

⎪⎧<br />

a ⋅ k(<br />

A)<br />

− b ⋅ A − c ⋅ w(<br />

A)<br />

⎪⎫<br />

Φ( ch)<br />

= max⎨0;<br />

⎬ gdzie a,b,c∈R + i a≥b>>c>0. (5-27)<br />

⎪⎩ a ⋅ D − b ⋅ M − c ⋅ 2M<br />

⎪⎭<br />

PoniewaŜ we wzorze 5-27 zachodzi zaleŜność b>>c>0, to wartość c2M ze wzoru nie ma<br />

większego wpływu na wartość funkcji przystosowania i moŜe być pominięta, przez co<br />

otrzymujemy numerycznie łatwą do wyznaczania funkcję przystosowania<br />

Φ:(ch)→〈0,1)⊂R daną wzorem 5-28.<br />

⎪⎧<br />

a ⋅ k(<br />

A)<br />

− b ⋅ A − c ⋅ w(<br />

A)<br />

⎪⎫<br />

Φ( ch)<br />

= max⎨0;<br />

⎬ gdzie a,b,c∈R + i a≥b>>c>0. (5-28)<br />

⎪⎩ a ⋅ D − b ⋅ M ⎪⎭<br />

Gdy wartość funkcji przystosowania zbliŜa się do wartości jeden, to zbliŜa się<br />

teŜ do rozwiązania problemu optymalizacji.<br />

64<br />

Posługując się symboliką uŜytą we wzorze 5-27 moŜna zaproponować jeszcze<br />

inny wzór 5-29 określający funkcję przystosowania, gdzie większą rolę odgrywają<br />

współczynniki a, b i c.<br />

⎪⎧<br />

Φ(<br />

ch)<br />

= max⎨0;<br />

⎪⎩<br />

k(<br />

A)<br />

b<br />

−<br />

D a<br />

⋅<br />

A<br />

A − M<br />

max<br />

− M<br />

−<br />

c w(<br />

A)<br />

− 2M<br />

⎪⎫<br />

⋅<br />

⎬<br />

a w(<br />

A)<br />

max<br />

− 2M<br />

⎪⎭<br />

(5-29)<br />

gdzie: a,b,c∈R + , a≥b>>c>0,<br />

||A|| max – największa wartość ||A||,<br />

w(A) max – największa wartość w(A).<br />

Funkcje przystosowania poddaje się niekiedy skalowaniu [72], co ma<br />

zapobiegać przedwczesnej zbieŜności algorytmu (na początku realizacji algorytmu<br />

genetycznego, gdy najlepszy osobnik zbytnio wyróŜnia się na tle pozostałych wartością<br />

funkcji przystosowania) oraz uzyskiwaniu podobnej liczby potomków przez osobników<br />

o średnim przystosowaniu i najlepszym (w końcowej fazie algorytmu genetycznego,<br />

gdy wartość średniego przystosowania generacji zbliŜona jest do wartości<br />

maksymalnej). RozróŜnia się trzy główne metody skalowania [72]:<br />

a) Skalowanie liniowe funkcji przystosowania Φ polega na przekształceniu jej do<br />

funkcji Φ’ poprzez przekształcenie liniowe (5-30).<br />

Φ’(ch) =max{0; a’⋅Φ(ch) + b’} gdzie a’,b’∈R - ∪R + (5-30)


) Obcinanie typu sigma funkcji przystosowania Φ polega na przekształceniu jej do<br />

funkcji Φ’ poprzez przekształcenie dane wzorem 5-31.<br />

Φ’(ch) =max{0; Φ(ch) + Φ śr (ch) – c’⋅σ<br />

gdzie c’∈ℵ,<br />

Φ śr (ch) - średnie przystosowanie w generacji,<br />

σ - odchylenie standardowe wartości funkcji przystosowania w<br />

generacji.<br />

c) Skalowanie potęgą funkcji przystosowania Φ polega na przekształceniu jej do<br />

65<br />

(5-31)<br />

funkcji Φ’ poprzez przekształcenie dane wzorem 5-32. Parametr m w tym<br />

wzorze nie odbiega znacząco o wartości jeden [72] np.: m=1,005.<br />

Φ’(ch) = Φ(ch) m gdzie m∈R - ∪R + (5-32)<br />

Bazując na wzorze 5-32 wykonajmy jeszcze dodatkową parametryzację funkcji<br />

przystosowania danych wzorami 5-28 i 5-29, otrzymując funkcję przystosowania<br />

skalowaną potęgą (wzór 5-33) i o podobnym wpływie potęgowania (5-34).<br />

⎪⎧<br />

a ⋅ k(<br />

A)<br />

− b ⋅ A − c ⋅ w(<br />

A)<br />

⎪⎫<br />

Φ( ch)<br />

= max⎨0;<br />

⎬ gdzie a,b,c∈R + i a≥b>>c>0. (5-33)<br />

⎪⎩ a ⋅ D − b ⋅ M ⎪⎭<br />

m<br />

⎧<br />

⎪<br />

Φ(<br />

ch)<br />

= max⎨0;<br />

⎪⎩<br />

⎛ ⎞<br />

⎜<br />

k(<br />

A)<br />

⎟<br />

⎝ D ⎠<br />

m<br />

−<br />

b<br />

a<br />

⎛<br />

⋅⎜<br />

⎝<br />

m<br />

A − M ⎞<br />

⎟<br />

A − M<br />

max ⎠<br />

−<br />

c ⎛ w(<br />

A)<br />

− 2M<br />

⎞<br />

⋅<br />

⎜<br />

⎟<br />

a ⎝ w(<br />

A)<br />

max<br />

− 2M<br />

⎠<br />

m<br />

⎫<br />

⎪<br />

⎬<br />

⎪⎭<br />

(5-34)<br />

gdzie: a,b,c∈R + , a≥b>>c>0,<br />

||A|| max – największa wartość ||A||,<br />

w(A) max – największa wartość w(A).<br />

Ze względu na obliczeniową łatwość wyznaczania funkcji przystosowania danej<br />

wzorem 5-33 niŜ funkcji danej wzorem 5-34 ta pierwsza będzie miała znaczące<br />

zastosowanie, a druga została zaproponowana jedynie w celach porównawczych.<br />

Przeprowadzona próby obliczeniowe wykazały, Ŝe posługując się pierwszą z funkcji<br />

moŜna uzyskać lepsze wyniki (przyczyną mogła być utrata parcia genetycznego w<br />

wyniku wpływu wartości takich jak ||A|| max czy w(A) max ) i badania nad doborem<br />

parametrów do drugiej funkcji zostały zaniechane.<br />

PoniewaŜ w funkcji przystosowania 5-33 obok parametru m występują jeszcze a,<br />

b i c, to naleŜy jeszcze znaleźć zaleŜności pomiędzy nimi. Parametr c opisujący wpływ<br />

funkcji kary, która nie ma wpływu na wykonywaną przez algorytm optymalizację. Ma<br />

ona jedynie wytworzyć pewne parcie genetyczne w celu uzyskania reguł<br />

klasyfikujących uzyskanych z pierwszych realizacji algorytmu 5-1. Z tego powodu jego


znaczenie nie moŜe być kluczowe i proponowane jest c=0,1 (chociaŜ konkretna wartość<br />

zaleŜy od zadania). Parametry a i b określają na ile zaleŜy nam na poprawnej<br />

klasyfikacji, a ile na zmniejszeniu liczby reguł wykonujących klasyfikację. ZaleŜność<br />

taką moŜna wyrazić parametrem a, jeŜeli b ustalimy np.: b=1. Przyjęcie zbyt duŜej<br />

wartości parametru a spowoduje słabą realizację minimalizacji liczby reguł słuŜących<br />

do klasyfikacji. Przyjęcie zbyt małej wartości parametru a spowoduje wprawdzie<br />

minimalizację liczby reguł, ale z niewielkim uwzględnieniem wykonywanej przez nie<br />

poprawnej klasyfikacji. Wartość parametru a najlepiej dobrać eksperymentalnie dla<br />

danego zadania, ale proponuję tutaj pewne umowne jej oszacowanie. W celu<br />

poprawnego sklasyfikowania ||D|| obiektów uczących naleŜało zdefiniować ||S||<br />

moŜliwych do wyboru reguł (do zbioru A). Tak więc w celu klasyfikacji jednego<br />

obiektu uczącego potrzeba zdefiniować ||S|| / ||D|| reguł moŜliwych do wyboru (do<br />

zbioru A). Niech więc parametr a będzie wartością nieco większą od ||S|| / ||D||, tak aby<br />

klasyfikacja o jeden obiekt uczący więcej przewyŜszała korzyści płynące ze<br />

zmniejszenia liczby reguł o ||S|| / ||D||. Ponadto naleŜy zauwaŜyć, Ŝe liczba moŜliwych<br />

do wyboru do zbioru A reguł nie wynosi dokładnie ||S||, gdyŜ podczas realizacji<br />

algorytmu genetycznego moŜna otrzymać równieŜ reguły nieistotne. Tak więc przyjęcie<br />

poprzedniego oszacowania moŜe doprowadzić do przyjęcia wartości zbyt duŜej, co<br />

spowoduje spadek istotności redukcji liczby reguł naleŜących do zbioru A.<br />

Właściwszym oszacowaniem jest 5-35.<br />

|| S || − || S<br />

szt<br />

||<br />

a ≈ gdzie ||S szt || - liczność zbioru S szt reguł nieistotnych (5-35)<br />

|| D ||<br />

Dla duŜego zbioru S wartość parametru a moŜna jeszcze podnieść, gdyŜ zacznie się<br />

zaznaczać wpływ funkcji kary sterowany parametrem c. MoŜna teŜ w takim przypadku<br />

obniŜyć wartość parametru c.<br />

66<br />

5.3.4. Wybór populacji startowej i warunku zakończenia algorytmu<br />

Dysponując sposobem kodowania i określenia przystosowania danego osobnika<br />

moŜna wykonać juŜ populację startową. W tym celu naleŜy określić p sel1<br />

prawdopodobieństwo wylosowania 1 na danej pozycji (locus) r (wzór 5-21) w<br />

chromosomie, a następnie dokonać losowania na wszystkich pozycjach chromosomu<br />

wartości 1 lub 2 z prawdopodobieństwem wylosowania jedynki wynoszącym p sel1 i z<br />

prawdopodobieństwem wylosowania dwójki wynoszącym 1-p sel1 . Na otrzymany ciąg<br />

jedynek i dwójek o długości ||S|| naleŜy nałoŜyć stały układ zer, które to zera swoją


pozycją r kodują reguły nieistotne w zbiorze S. W ten sposób wykonany chromosom<br />

naleŜy ocenić posługując się funkcją przystosowania (wzór 5-33), aby otrzymać<br />

strukturę zwaną teraz osobnikiem. W celu zbudowania populacji startowej naleŜy<br />

określić (parzystą!) liczbę n pop osobników w populacji i zbudować n pop struktur<br />

zwanych osobnikami.<br />

ZauwaŜmy, Ŝe wartość p sel1 prawdopodobieństwa wylosowania jedynki ma<br />

znaczny wpływ na przebieg algorytmu genetycznego. PoniewaŜ postawione przed<br />

algorytmem genetycznym zadanie optymalizacji dwukryterialnej wymusza rozwiązanie<br />

w postaci małej liczby reguł klasyfikujących duŜą liczbę elementów uczących, to do<br />

takiego stanu algorytm genetyczny moŜe dojść dwoma drogami:<br />

a) moŜna zredukować duŜą liczbę początkowo wylosowanych reguł tak, aby<br />

podczas redukcji zachować, a nawet nieco poprawić wynik w postaci liczby<br />

poprawnie klasyfikowanych elementów (obiektów) uczących;<br />

b) moŜna zwiększać małą liczbę początkowo wylosowanych reguł tak, aby podczas<br />

tego zwiększania odnajdywać reguły istotne dla poprawności klasyfikacji<br />

kolejnych elementów zbioru uczącego.<br />

Pomiędzy tymi dwoma technikami umowną wartością graniczną wydaje się być liczba<br />

reguł odpowiadająca (w przybliŜeniu) liczbie elementów uczących. JeŜeli w wyniku<br />

losowania jedynek w chromosomach generacji startowej otrzymamy reguł mniej niŜ<br />

obiektów uczących, to zachodzi przypadek b), a w przeciwnym wypadku przypadek a).<br />

Z obu analizowanych przypadków obliczeniowo bardziej czasochłonnym jest przypadek<br />

a), poniewaŜ wymaga przeanalizowania duŜego zbioru A celem wyznaczenia wartości<br />

funkcji przystosowania (a dokładnie wartości k(A) – liczby poprawnie klasyfikowanych<br />

elementów regułami ze zbioru A). Tak wyskalowany algorytm potrafi doprowadzić do<br />

bardzo dobrego wyniku, ale po bardzo długim czasie obliczeń, który dla długich<br />

chromosomów moŜe być nie do zaakceptowania. Szybciej realizowane obliczenia w<br />

przypadku b) nie dają z kolei gwarancji dobrania takiego układu reguł (ze względu na<br />

duŜą długość chromosomu, a co za tym idzie na ogromny rozmiar przestrzeni<br />

moŜliwych rozwiązań – zwanej teŜ przestrzenią poszukiwań), aby wykonywać w 100%<br />

(lub prawie w 100%) poprawną klasyfikację. Metodą łączącą wady i zalety obu<br />

analizowanych przypadków a) i b) jest takie wylosowanie liczby reguł w generacji<br />

startowej, aby otrzymać liczbę wylosowanych reguł ze zbioru A (liczbę jedynek w<br />

chromosomie) równą w przybliŜeniu liczbie klasyfikowanych obiektów uczących ||D||.<br />

67


Daje to prawdopodobieństwo wylosowania jedynki w generacji startowej p sel1 określone<br />

wzorem 5-36.<br />

p<br />

sel1<br />

|| D ||<br />

≈ gdzie ||S szt || - liczność zbioru S szt reguł nieistotnych (5-36)<br />

|| S || − || S ||<br />

szt<br />

W przypadku wartości p sel1 wyznaczonej wzorem 5-36 dopuszczalne są znaczne<br />

odstępstwa o nawet ±50% tej umownej wartości, jednak nie zalecam bardziej<br />

znaczących odchyleń, aby nie powodować niepotrzebnego wydłuŜenia czasu pracy<br />

algorytmu genetycznego.<br />

Zanim rozpocznie się tworzenie kolejnych generacji algorytmu genetycznego<br />

naleŜy jeszcze określić warunek jego zakończenia. MoŜe to być przyjęcie odpowiednio<br />

wysokiej wartości funkcji przystosowania np.: 0,95. Jednak uruchamiając algorytm nie<br />

mamy gwarancji, Ŝe uzyskamy chromosom o odpowiednio wysokiej wartości funkcji<br />

przystosowania. Z tego powodu lepsze jest ustalenie maksymalnej liczby moŜliwych do<br />

wykonania generacji t max i zakończenie algorytmu po osiągnięciu generacji t max .<br />

Liczba n pop osobników w generacji wpływa na liczbę koniecznych do wykonania<br />

generacji, aby osiągnąć dobry wynik algorytmu genetycznego. Istnieją dwa sposoby<br />

regulowania wartości n pop i t max . MoŜemy stworzyć duŜą populację (o duŜej liczbie<br />

osobników) i oczekiwać dobrego wyniku w ciągu niewielkiej liczby pokoleń, albo<br />

moŜemy stworzyć małą generację i pozwolić jej odpowiednio długo ewoluować w celu<br />

uzyskania dobrego wyniku. Za zastosowaniem pierwszej z tych metod przemawia<br />

twierdzenie o schematach (rozdział 3.3) operujące wartością oczekiwaną, a więc<br />

przybliŜaną przez bardzo liczne generacje. Za zastosowaniem tej drugiej metody<br />

przemawiają względy praktyczne – do zbudowania długich chromosomów potrzeba<br />

znacznej ilości pamięci operacyjnej komputera i z tego powodu zbudowanie licznej<br />

generacji moŜe okazać się niemoŜliwe (z braku pamięci lub w wyniku uŜywania bardzo<br />

powolnej pamięci wirtualnej). PoniewaŜ ten problem techniczny moŜe w<br />

rozwiązywanym w dalszej części pracy zadaniu wystąpić, to zalecana jest raczej druga<br />

metoda.<br />

W związku z przyjęciem raczej duŜych wartości t max (rzędu kilku tysięcy) i<br />

jednoczesnym przyjęciu niewielkiej liczby osobników w generacji n pop (sprawdzano dla<br />

tego zadania wartości 50, 100 i 200 z czego 100 wydaje się wartością najlepszą) naleŜy<br />

spodziewać się długich czasów obliczeń algorytmu genetycznego. Z tego powodu<br />

naleŜy wyposaŜyć go w mechanizm zapisu swojego stanu na wypadek awarii<br />

komputera (zanik napięcia, przegrzanie) lub przynajmniej zapisu najlepszego<br />

68


uzyskanego osobnika, tak aby po usunięciu awarii moŜna było wznowić pracę<br />

algorytmu genetycznego. Wiele zadań (np.: z dziedziny medycyny [3]) niemalŜe<br />

wymaga istnienia mechanizmu dodania wzorca uczącego do generacji startowej i<br />

poszukiwania lepszych rozwiązań pod kątem wzorca (gdyŜ wywiera on silny wpływ na<br />

nowe generacje). Dlatego zalecane jest dodanie systemu zapisu co pewną liczbę<br />

pokoleń najlepszego osobnika (mającego największą wartość funkcji przystosowania)<br />

oraz systemu wczytania takiego osobnika do generacji startowej w celu dalszego<br />

doskonalenia struktury reguł ze zbioru A zawartej w jego chromosomie.<br />

5.3.5. Operator selekcji, strategia elitarna<br />

69<br />

Omawiana w podrozdziale 3.2 selekcja ruletkowa, uŜywana w klasycznym<br />

algorytmie genetycznym, wyznacza prawdopodobieństwo p wylosowania i-tego<br />

chromosomu ch i do puli rodziców wzorem 3-1. Jednak stosując taki wzór oraz<br />

zaproponowane funkcje przystosowania bardzo szybko doprowadzić moŜna do<br />

generacji o niewielkim zróŜnicowaniu wartości przystosowania poszczególnych<br />

osobników pomimo róŜnic w budowie ich chromosomów. W tej sytuacji kaŜdy z<br />

osobników będzie miał niemal identyczne szanse na zostanie rodzicem – utracona<br />

zostanie zdolność do dalszego poprawiania uzyskanego najlepszego chromosomu przez<br />

algorytm genetyczny – mówmy o małej sile parcia genetycznego. Jednak prosta<br />

modyfikacja wzoru 3-1 moŜe zapewnić całkiem efektywną pracę zmodyfikowanego<br />

operatora selekcji. Niech prawdopodobieństwo zostania rodzicem danego chromosomu<br />

będzie wyznaczane na podstawie róŜnicy wartości jego przystosowania i<br />

przystosowania najgorszego (tu o najmniejszej wartości funkcji przystosowania)<br />

osobnika w generacji (wzór 5-37).<br />

Φ(<br />

chi<br />

) − Φ(<br />

ch)<br />

min<br />

p( chi<br />

) =<br />

gdzie Φ(<br />

ch)<br />

min<br />

n pop<br />

∑( Φ(<br />

ch<br />

j<br />

) − Φ(<br />

ch)<br />

min<br />

)<br />

j=<br />

1<br />

= min<br />

{ Φ(<br />

ch ) : l ∈{1,2,...,<br />

n }}<br />

i n pop jest parzystą liczbą osobników w generacji<br />

Wybierając osobniki do zostania rodzicami (od puli rodzicielskiej) posługując się<br />

wzorem 5-37 zapewniamy skuteczne działanie operatora selekcji nie tylko w<br />

początkowym etapie pracy algorytmu genetycznego, ale równieŜ w końcowym okresie,<br />

gdy przystosowanie średnie osobników w generacji zbliŜy się do wartości<br />

przystosowania maksymalnego osobnika w generacji.<br />

l<br />

pop<br />

(5-37)


W wyniku usprawnienia pracy operatora selekcji maleje znaczenie skalowania<br />

funkcji przystosowania.<br />

Innym sposobem uzyskania efektywnie działającego operatora selekcji jest<br />

zastosowanie selekcji turniejowej [61] o rozmiarze turnieju t size , gdzie t size ∈ℵ i t size >1<br />

(najczęściej [72] przyjmuje się t size =2 lub t size =3). Selekcja turniejowa polega na<br />

wyborze grupy t size osobników, z której to grupy wybiera się osobnika najlepiej<br />

przystosowanego do zostania rodzicem (z prawdopodobieństwem równym jeden dla<br />

wyboru deterministycznego lub mniejszym od jeden dla wyboru losowego). W celu<br />

porównania pracy operatora selekcji ruletkowej (zmodyfikowanej) i turniejowej<br />

zaproponuję tu wybór deterministyczny w selekcji turniejowej.<br />

Jeszcze jedną z często stosowanych metod [72] selekcji jest selekcja rankingowa,<br />

która polega na posortowaniu malejąco wg wartości przystosowania osobników w<br />

generacji, czyli nadaniu kaŜdemu z nich odpowiedniej rangi. KaŜdej randze przypisuje<br />

się prawdopodobieństwo do zostania rodzicem osobnika o tej randze (np.: za pomocą<br />

funkcji liniowej [72]).<br />

<strong>70</strong><br />

Jeszcze jedną waŜną modyfikacją stosowaną podczas budowy generacji potomnej<br />

jest zastosowanie strategii elitarnej [72], która polega na kopiowaniu do generacji<br />

potomnej najlepiej przystosowanego osobnika z generacji rodzicielskiej. śadna z<br />

opisanych wcześniej metod selekcji nie gwarantuje zachowania najlepiej<br />

przystosowanego osobnika (moŜe on zostać zniszczony w wyniku krzyŜowania lub<br />

mutacji). Kopiowanie najlepszego osobnika z generacji rodzicielskiej następuje po<br />

zadziałaniu operatorów krzyŜowania i mutacji. Dodatkowo proponuję kopiowanie takie,<br />

aby nie zniszczyć osobnika potomnego, który ma wyŜsze przystosowanie niŜ<br />

zastępujący go osobnik z poprzedniej generacji. MoŜna to zrealizować poprzez losowy<br />

wybór (z prawdopodobieństwem wynoszącym 1/n pop ) osobnika do zastąpienia<br />

osobnikiem najlepszym z poprzedniej generacji, a jeŜeli wybrany osobnik posiada<br />

wyŜsze przystosowanie niŜ osobnik z poprzedniej generacji, to losowanie powtarza się.<br />

Metoda ta nie daje jednak 100% gwarancji wykonania takiego zastąpienia (wtedy, gdy<br />

cała nowa generacja ma przystosowanie lepsze niŜ najlepszy osobnik z generacji<br />

poprzedniej). Prostszym rozwiązaniem jest zastępowanie pierwszego osobnika nowej<br />

generacji. JeŜeli pierwszy z osobników ma przystosowanie wyŜsze niŜ mający go<br />

zastąpić osobnik z generacji poprzedniej, to zastąpiony zostanie drugi osobnik (nawet<br />

jeŜeli był jeszcze lepszy).


Dalszym rozwinięciem tej metody jest algorytm z ustalonym stanem [72], gdzie<br />

część generacji jest kopiowana do nowej bez jakichkolwiek zmian (bez krzyŜowania i<br />

mutacji). Jednak dla tak określonego sposobu kodowania w dalszym okresie pracy<br />

algorytmu genetycznego byłaby to grupa osobników bardzo do siebie podobnych i<br />

wystarczającym jest kopiowanie tylko jednego jak ma to miejsce w strategii elitarnej.<br />

Zastosowanie strategii elitarnej oraz usprawnionej metody selekcji ruletkowej<br />

(wzór 5-37) daje moŜliwość poprawiania najlepszego osobnika w kolejnych<br />

generacjach przez algorytm genetyczny. Selekcja ruletkowa utrzymuje duŜy wpływ<br />

najlepszego osobnika w generacji, co powoduje Ŝe pozostałe osobniki w kolejny<br />

generacjach stają się do siebie podobne. W wielu sytuacjach doprowadzić to moŜe<br />

przedwczesnej zbieŜności algorytmu, ale przy zaproponowanym sposobie kodowania<br />

zadania umoŜliwia poprawę najlepszego osobnika nawet, gdy jego przystosowanie<br />

osiągnęło juŜ niemalŜe wartość maksymalną. JeŜeli w trakcie pracy algorytmu<br />

genetycznego wyszukany zostanie lepszy osobnik odmienny genetycznie od<br />

pozostałych, to selekcja ruletkowa spowoduje stopniowe upodabnianie się osobników w<br />

kolejnych generacjach do wyszukanego najlepszego – umoŜliwia to poszukiwanie<br />

lepszych rozwiązań w otoczeniu najlepszego osobnika.<br />

Zastosowanie selekcji turniejowej i strategii elitarnej moŜe doprowadzić do<br />

sytuacji, w której cała generacja prowadzi poszukiwania lepszych rozwiązań i jest do<br />

siebie genetycznie podobna, a jeden wyróŜniony najlepszy osobnik jest zupełnie<br />

odmienny genetycznie i algorytm nie prowadzi poszukiwań lepszego rozwiązania<br />

uŜywając wielu potomków osobnika najlepszego. Z tego powodu w pracy zastosowano<br />

usprawnioną metodę selekcji ruletkowej razem ze strategią elitarną.<br />

71<br />

5.3.6. Operator krzyŜowania, operator inwersji<br />

Operator krzyŜowania (krzyŜowanie jednopunktowe) zaproponowany w rozdziale<br />

trzecim zazwyczaj nie jest wystarczający w algorytmie genetycznym o długich<br />

chromosomach, gdyŜ nie wprowadza odpowiedniego zróŜnicowania genetycznego.<br />

Schematy o przystosowaniu lepszym niŜ przeciętne nie są powielane w dostatecznych<br />

ilościach, aby zauwaŜyć ich wpływ na nowe generacje. Dzieje się tak dlatego, Ŝe<br />

krzyŜowanie nie niszczy długich schematów. Aby temu zapobiec stosuje się<br />

krzyŜowanie wielopunktowe [72], które jest uogólnieniem krzyŜowania<br />

jednopunktowego i polega na wielokrotnym wykonaniu krzyŜowania jednopunktowego.<br />

Sposób realizacji tego krzyŜowania moŜna zdefiniować dwoma parametrami: c cross –


liczbą wykonanych krzyŜowań jednopunktowych i p cross – prawdopodobieństwem<br />

wykonania krzyŜowania jednopunktowego. MoŜna teŜ rozszerzyć (wzór 5-38)<br />

znaczenie parametru p cross i przyjąć, Ŝe moŜe on przyjmować dowolne wartości<br />

rzeczywiste nieujemne. Część całkowita int(p cross ) odpowiada za liczbę wykonanych<br />

krzyŜowań jednopunktowych z prawdopodobieństwem 1, a część ułamkowa odpowiada<br />

za wykonanie jeszcze jednego krzyŜowania jednopunktowego z prawdopodobieństwem<br />

p cross -int(p cross ).<br />

72<br />

{ 0}<br />

p ∈ R<br />

+ ∪ gdzie:<br />

cross<br />

int(p cross )∈ℵ∪{0} – (część całkowita p cross ) liczba punktów krzyŜowania<br />

wielopunktowego, gdzie krzyŜowanie odbędzie się z<br />

prawdopodobieństwem 1<br />

p cross - int(p cross ) ∈〈0,1〉⊂R + ∪{0} – (część ułamkowa p cross ) prawdopodobieństwo<br />

wykonania int(p cross )+1 krzyŜowania jednopunktowego<br />

(5-38)<br />

W celu utrzymania znaczenia krzyŜowania jako operatora wpływającego na<br />

długość przetwarzanych przez algorytm genetyczny schematów moŜna zastosować<br />

krzyŜowanie proporcjonalne, ale nie do długości chromosomu, tylko uzaleŜnione od<br />

odcinków chromosomu chS K (wzór 5-22). W proponowanym krzyŜowaniu<br />

wielopunktowym punkt krzyŜowania losowany jest z jednakowym 1/(||S||-1)<br />

prawdopodobieństwem. MoŜna przeanalizować proces uczenia się algorytmu<br />

genetycznego dobrych rozwiązań zadania optymalizacji i zaproponować inne<br />

prawdopodobieństwo wybrania punktu krzyŜowania. Proces uczenia powoduje, Ŝe<br />

istotne dla rozwiązania schematy pojawiają się w początkowych częściach (wzór 5-22)<br />

chromosomu chS K . MoŜna wybór punktu krzyŜowania przeprowadzić dwuetapowo:<br />

1) wylosować s-ty odcinek chromosomu chS K=s z jednakowym<br />

prawdopodobieństwem 1/(K max -1)<br />

2) wylosować punkt c krzyŜowania naleŜący do wylosowanego s-tego odcinka<br />

z jednakowym prawdopodobieństwem 1/( chS K=s -1).<br />

Ta forma wyboru punktów do przeprowadzania krzyŜowania spowoduje, Ŝe w<br />

początkowych częściach chromosomu przetrwają tylko schematy krótkie, gdyŜ częściej<br />

krzyŜowanie będzie zachodzić właśnie w początkowych fragmentach chromosomu<br />

chS K . Jednak ta forma modyfikacji krzyŜowania moŜe mieć zastosowanie tylko do<br />

wybranych zadań, w których moŜliwe jest usunięcie ze zbioru A reguł naleŜących do<br />

ostatnich fragmentów chromosomu chS K . JeŜeli nie jest to moŜliwe, to osiągniemy


pogorszenie pracy algorytmu genetycznego, gdyŜ reguły z ostatnich fragmentów<br />

chromosomu będą niezbędne do zachowania poprawnej klasyfikacji.<br />

JeŜeli zadanie polega na zachowaniu w 100% (lub niemalŜe w 100%) poprawnej<br />

klasyfikacji, to algorytm genetyczny będzie uogólniał wiedzę zawartą w regułach zbioru<br />

A (będzie wybierać do zbioru A reguły opisujące sobą coraz większe fragmenty<br />

przestrzeni danych uczących, czyli zakodowane w początkowych fragmentach<br />

chromosomu) przy jednoczesnym zachowaniu reguł przypisanych do niewielkich<br />

obszarów przestrzeni danych uczących (czyli znajdujących się w końcowych<br />

fragmentach chromosomu), które potrafią klasyfikować niewielką liczbę danych<br />

uczących jednej klasy, które znajdują się w otoczeniu danych uczących innej klasy –<br />

wyjątki (rysunek 5-12).<br />

73<br />

Rysunek 5-12. Przykładowa prezentacja wpływu na klasyfikuję (algorytm 5-2) reguły<br />

R opisanej na obszarze A (kolor niebieski) i reguły R opisanej na obszarze<br />

2<br />

1<br />

2<br />

1<br />

10<br />

A<br />

7<br />

(kolor brązowy). Odpowiednio pierwsza reguła klasyfikuje poprawnie<br />

wszystkie obiekty klasy C2 (określone na odcinku jednostkowym), a druga – klasy<br />

C1. Druga reguła opisuje sytuację wyjątkową, dotyczącą niewielkiego obszaru.<br />

10<br />

7<br />

JeŜeli zadanie wymaga wysokiego poziomu poprawnej klasyfikacji, to pomocne<br />

moŜe być zwiększenie liczby punktów wykonywanego krzyŜowania wielopunktowego<br />

bez uzaleŜnienia go od poszczególnych fragmentów chromosomu chS K .<br />

Dla zdefiniowanego systemu kodowania reguł rozmytych w chromosomie<br />

uŜycie operatora inwersji spowoduje zniszczenie informacji o zapisanych w<br />

chromosomie regułach. Z tego powodu ten operator nie moŜe być zastosowany.


74<br />

5.3.7. Operatory mutacji – klasyczny i kodujące wiedzę o zadaniu<br />

Dla określonego sposobu kodowania algorytmu genetycznego (wzór 5-21) oraz<br />

dla zdefiniowanych operatorów selekcji (wzory 5-33 i 5-34) i krzyŜowania<br />

wielopunktowego (wzór 5-38) klasyczny operator mutacji odpowiada za poszukiwanie<br />

lepszych rozwiązań. Jednak w wyniku przyjęcia niewyszukanego sposobu kodowania<br />

zbioru A klasyczny operator mutacji, którego działanie polega na losowej wymianie<br />

wartości 1 na 2 lub 2 na 1, moŜe nie pomagać w poprawie juŜ uzyskanego najlepszego<br />

wyniku. Przyczyną takiego zachowania operatora mutacji moŜe być istotnie inna liczba<br />

jedynek niŜ dwójek w chromosomie. Rozwiązywane zadanie polega na minimalizacji<br />

liczby reguł zawartych w zbiorze A przy zachowaniu takiego ich układu, Ŝe moŜna nimi<br />

poprawnie klasyfikować dane uczące. Tak więc w długim chromosomie (o długości<br />

||S||) naleŜy zakodować mały zbiór A (o małej wartości ||A||).<br />

JeŜeli liczba reguł nieistotnych (liczba zer) w chromosomie jest duŜa (co wymusza<br />

niewielką liczbę zakodowanych dwójek w chromosomie), to operator mutacji<br />

umoŜliwia poprawienie najlepszego uzyskanego wyniku, gdyŜ zachodzi z podobnym<br />

prawdopodobieństwem zarówno na wartości jeden jak i dwa danego genu, go którego<br />

przypisana jest reguła klasyfikująca.<br />

JeŜeli dla długiego chromosomu liczba reguł nieistotnych jest mała, a najlepszy<br />

wynik koduje sobą niewielką liczbę jedynek, to otrzymujemy chromosom z<br />

przewaŜającą liczbą dwójek. Powoduje to, Ŝe operator mutacji zamienia najczęściej<br />

dwójkę na jedynkę, czyli pogarsza uzyskany rezultat zwiększając wartość ||A||.<br />

Częściowym rozwiązaniem tego problemu jest zmniejszenie prawdopodobieństwa<br />

mutacji tak, aby zachodziła najwyŜej raz podczas tworzenia nowego chromosomu.<br />

PoniewaŜ operator ten prowadzi poszukiwania lepszych rozwiązań, to jego działania nie<br />

moŜna zaniechać poprzez określenie prawdopodobieństwa mutacji jednego genu w<br />

chromosomie p mut = 0.<br />

Celem umoŜliwienia poprawiania najlepszego wyniku przez algorytm genetyczny<br />

zalecane jest wprowadzenie nowych operatorów mutacji, kodujących sobą wiedzę o<br />

zadaniu:<br />

• operator usunięcia jedynki<br />

• operator przesunięcia jedynki<br />

• operator inteligentnego przesunięcia jedynki<br />

• operator nieproporcjonalnego wstawienia jedynki.


Operator usunięcia jedynki ma na celu zrównowaŜenie niekorzystnego wpływu<br />

klasycznego operatora mutacji na poprawę juŜ uzyskanego wyniku. JeŜeli w<br />

określonym zadaniu po jego zakodowaniu w chromosomach dobre wyniki posiadają<br />

niewielką liczbę jedynek względem dwójek, to klasyczny operator mutacji działa w<br />

znacznej mierze na dwójkach. Powoduje to dokładanie jedynek do zbioru A, czyli<br />

obniŜanie wartości funkcji przystosowania zaleŜnej od wartości ||A||. W celu<br />

wymuszenia poprawy najlepszego uzyskanego wyniku naleŜy wprowadzić operator<br />

usunięcia jedynki, którego działanie polega losowej wymianie jedynki na dwójkę.<br />

Usunięcie reguły mającej wpływ na poprawność klasyfikacji spowoduje znaczące<br />

pogorszenie przystosowania chromosomu, ale usunięcie reguły bez wpływu na<br />

poprawność klasyfikacji poprawi przystosowanie chromosomu. Działanie tego<br />

operatora nie powinno być zbyt częste, tak jak i klasycznego operatora mutacji.<br />

Ustalenie zbyt duŜej wartości prawdopodobieństwa usunięcia jedynki (wymiany na<br />

dwójkę) p del1 moŜe powodować zbyt silne niszczenie materiału genetycznego i w<br />

rezultacie tylko niewielką poprawę dobrego rezultatu. Prawdopodobieństwo wymiany<br />

jedynki na dwójkę p del1 nie powinno przekraczać jednej wymiany podczas tworzenia<br />

nowego chromosomu (powinno mieć podobną wartość do p mut ). Niewielka wartość p del1<br />

spowoduje, ze po kilkudziesięciu, kilkuset pokoleniach otrzymamy bardzo mały zbiór<br />

reguł A, które potrafią poprawnie klasyfikować większość danych uczących.<br />

Techniczna realizacja operatora usunięcia jedynki polega na wylosowaniu z<br />

jednakowym prawdopodobieństwem z przedziału 〈1, ||A||〉 wartości q del1 , a następnie na<br />

odszukaniu w chromosomie q del1 -tej jedynki począwszy od początku chromosomu i na<br />

wymianie jej na dwójkę.<br />

Reasumując: operator usunięcia jedynki zaznacza swoje działanie głównie<br />

poprzez wpływ na wartość ||A|| (i pośrednio na wartość w(A)) we wzorze określającym<br />

wartość przystosowania 5-33 (ew. 5-34).<br />

Poprawę dobrego wyniku moŜemy osiągnąć przesuwając jedynki w początkowe<br />

fragmenty chromosomu chS K (dla coraz to mniejszych wartości K), gdzie zaznaczą one<br />

nowe reguły klasyfikujące dane uczące w większych obszarach<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

(uzyskanych w początkowych podziałach przestrzeni<br />

1 2<br />

n<br />

danych uczących). MoŜemy się spodziewać, Ŝe tą drogą pojawią się reguły potrafiące<br />

sklasyfikować dane z duŜych obszarów. Efekt ten jest poŜądany, gdyŜ tą drogą moŜemy<br />

liczyć na osiągnięcie zbioru reguł A zdolnych klasyfikować dane z całej przestrzeni<br />

danych uczących lub przynajmniej ze znacznej części tej przestrzeni. JeŜeli taki efekt<br />

75


nie będzie zachodził, to moŜemy otrzymać zbiór reguł pokrywających niewielki obszar<br />

przestrzeni danych uczących i klasyfikacja nowego obiektu w tej przestrzeni moŜe<br />

zachodzić dość rzadko – większość przestrzeni danych uczących jest dla takiego zbioru<br />

reguł A nieznana.<br />

Przesuwanie jedynek do początkowych fragmentów chromosomu spowoduje<br />

poprawę wartości w(A) we wzorze 5-33 (ew. 5-34) określającym wartość<br />

przystosowania. JeŜeli więc podczas przesunięcia nie nastąpi pogorszenie jakości<br />

wykonywanej klasyfikacji, to przesunięcie spowoduje poprawę wartości<br />

przystosowania.<br />

Przesuwanie jedynek moŜe teŜ pośrednio wpłynąć na wartość ||A|| ze wzoru 5-33<br />

(ew. 5-34) – wykonywanie klasyfikacji na duŜych obszarach przez nowopowstałe<br />

reguły moŜe spowodować, Ŝe reguły opisane na małych obszarach staną się zbędne i<br />

będą mogły zostać usunięte operatorem usuwania jedynki.<br />

Do realizacji losowego przestawiania jedynki z danego fragmentu chromosomu<br />

chS K do rejonu genów naleŜących do poprzedniego fragmentu chS K-1 (oczywiście nie<br />

zachodzi to dla reguł uzyskanych dla podziału K=2) słuŜy operator przesunięcia<br />

jedynki. Techniczna realizacja tego operatora polega na wylosowaniu z jednakowym<br />

prawdopodobieństwem z przedziału 〈1, ||A||〉 wartości q mov1 , a następnie na odszukaniu<br />

w chromosomie q mov1 -tej jedynki począwszy od początku chromosomu, która znajduje<br />

się na lokalizacji r mov1 (wzór 5-21). JeŜeli jedynka ta naleŜy do fragmentu chromosomu<br />

chS K=2 , to algorytm jest przerywany. JeŜeli jednak naleŜy do fragmentu chromosomu<br />

chS K>2 , to jest ona usuwana, a we fragmencie chromosomu chS K-1 losowana jest (z<br />

jednakowym prawdopodobieństwem) pozycja r’ mov1 , na której zostanie wstawiona<br />

jedynka. JeŜeli we fragmencie chS K-1 wszystkie reguły są nieistotne to algorytm jest<br />

przerywany.<br />

Operator ten moŜe nie być skuteczny dla końcowych fragmentów długich<br />

chromosomów. Dzieje się tak poniewaŜ wstawiona jedynka na lokalizacji r’ mov1 moŜe<br />

opisywać regułę zupełnie nie związaną z usuniętą regułą opisaną genem z lokalizacji<br />

r mov1 – nowa reguła moŜe wykonywać klasyfikację na zupełnie innym obszarze<br />

przestrzeni danych uczących niŜ obszar, na którym realizowała klasyfikację usunięta<br />

reguła. Najczęściej zamiast poprawy rezultatu pracy algorytmu genetycznego poprzez<br />

zmniejszenie wartości w(A) uzyskamy spadek jakości klasyfikacji k(A) i tym samym<br />

pogorszenie wartości przystosowania. Z tym problemem poradzi sobie modyfikacja<br />

tego operatora: inteligentne przesunięcie jedynki.<br />

76


Operator inteligentnego przesunięcia jedynki jest modyfikacją poprzednio<br />

opisywanego operatora przesunięcia jedynki, wykonaną celem zmniejszenia efektu<br />

pozyskania reguły opisanej na obszarze, który nie jest związany z obszarem, na którym<br />

opisano regułę usuniętą. Po losowym wybraniu jedynki do przesunięcia z fragmentu<br />

chromosomu chS K>2 określa się jaki obszar<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

77<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

opisuje<br />

1 2<br />

n<br />

związaną z daną pozycją r mov1 regułę. Po wylosowaniu wartości u mov1 ∈〈0,1〉 wykonuje<br />

się przeszukanie po regułach zakodowanych we fragmencie chromosomu chS K-1 .<br />

Podczas przeszukania analizuje się obszary<br />

A<br />

K −1<br />

i<br />

1<br />

× A<br />

K −1<br />

i<br />

2<br />

× ... × A<br />

m<br />

× ... × A<br />

wyznaczając dla kaŜdego z nich procentowy stopień pokrycia z obszarem<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

. Następnie poczynając od pierwszego genu we fragmencie<br />

1 2<br />

n<br />

chromosomu chS K-1 wykonuje się sumę po wyznaczonych wartościach procentowego<br />

pokrycia obszarów<br />

A × A × ... × A<br />

m<br />

× ... × A i<br />

K −1<br />

i<br />

1<br />

K −1<br />

i<br />

2<br />

K −1<br />

i<br />

K −1<br />

i<br />

n<br />

K −1<br />

i<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K −1<br />

i<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

. Gdy<br />

1 2<br />

n<br />

wartość tej sumy przekroczy lub zrówna się z u mov1 , to uzyskujemy pozycję r’ mov1 , na<br />

której zostanie wstawiona jedynka. JeŜeli na pozycji r’ mov1 opisana jest reguła<br />

nieistotna, to algorytm jest przerywany.<br />

Opisywany, zmodyfikowany sposób uzyskiwania pozycji wstawienia jedynki<br />

r’ mov1 umoŜliwia uzyskanie reguły, która moŜe wykonywać lepszą klasyfikację niŜ<br />

usunięta reguła z pozycji r mov1 . Dzieje się tak dlatego, Ŝe obszar<br />

A × A × ... × A<br />

m<br />

× ... × A jest zazwyczaj (za wyjątkiem obszarów brzegowych)<br />

K −1<br />

i<br />

1<br />

K −1<br />

i<br />

większy niŜ<br />

2<br />

K −1<br />

i<br />

K −1<br />

i<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

n<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

, a wiec moŜe klasyfikować większą liczbę<br />

1 2<br />

n<br />

obiektów. JeŜeli usuwana reguła miała znaczący wpływ na wykonywaną klasyfikację,<br />

to moŜna liczyć się z poprawą klasyfikacji poprzez zakodowanie nowej reguły,<br />

poniewaŜ obszary kodowane przez obie reguły przynajmniej częściowo pokrywają się.<br />

Funkcja przystosowania dana wzorem 5-33 (ew. 5-34) koduje sobą zadanie<br />

optymalizacji dwukryterialnej. W tej sytuacji trudnym moŜe okazać się uzyskanie takiej<br />

grupy reguł A, które potrafią sklasyfikować poprawnie 100% (lub prawie 100%) danych<br />

uczących. Algorytm genetyczny moŜe podąŜyć w stronę minimalizacji liczności zbioru<br />

A, nie wykazując przy tym znaczących postępów przy maksymalizacji liczby poprawnie<br />

klasyfikowanych elementów uczących. śeby wymusić na algorytmie genetycznym<br />

wykonanie poprawnej klasyfikacji wszystkich (lub prawie wszystkich) danych uczących<br />

proponuję wprowadzenie operatora nieproporcjonalnego wstawienia jedynki. Jego<br />

działanie polegać będzie na losowym dodawaniu jedynek we fragmencie chromosomu<br />

n


78<br />

K<br />

chS =<br />

K max<br />

. Fragment ten koduje reguły uzyskane z ostatniego podziału K max<br />

wykonanego podczas realizacji algorytmu 5-1. Wszystkie reguły z tego obszaru razem<br />

potrafią wykonać poprawną klasyfikację wszystkich danych uczących, co jest<br />

warunkiem zatrzymania algorytmu 5-1. Algorytm 5-1 tworzy reguły opisane na coraz<br />

mniejszych obszarach<br />

A × A × ... × A<br />

m<br />

× ... × A<br />

K K<br />

K<br />

K<br />

i i<br />

i<br />

i<br />

przestrzeni danych uczących dla<br />

1 2<br />

n<br />

kaŜdego kolejnego jego przebiegu. Tym samym reguły ze zbioru<br />

K K<br />

S =<br />

max<br />

opisane są na<br />

najmniejszych obszarach, a przez to klasyfikują niewielkie ilości danych uczących.<br />

NaleŜy się więc spodziewać, Ŝe przewaŜnie reguły ze zbioru<br />

K K<br />

S =<br />

max<br />

klasyfikują dane<br />

uczące tylko jednej klasy, a co za tym idzie wartość zaufania do klasyfikacji<br />

K K<br />

CF =<br />

max<br />

i1 i2...<br />

im<br />

... in<br />

z reguły<br />

K K<br />

R =<br />

max<br />

i1 i2...<br />

im<br />

... in<br />

wynosi 100%. Z tego powodu dołączanie właśnie tych reguł do<br />

zbioru A wpłynie w moŜliwie małym stopniu na wartość ||A||, a tym samym na<br />

pogorszenie wartości przystosowania chromosomu kodującego zbiór A. Oczekiwać<br />

naleŜy, Ŝe losowe dołączenie do zbioru A reguły<br />

K K<br />

R =<br />

max<br />

i1 i2...<br />

im<br />

... in<br />

nie zmieni poprawności<br />

wykonywanej klasyfikacji lub nieco ją poprawi np.: o kolejny poprawnie klasyfikowany<br />

obiekt uczący.<br />

W wypadku poszukiwania rozwiązania zadania optymalizacji dwukryterialnej<br />

algorytm genetyczny bez zastosowania operatora nieproporcjonalnego wstawienia<br />

jedynki potrafi wyszukać dobre dość dobre rozwiązanie. Jednak nie gwarantuje ono w<br />

100% poprawnej klasyfikacji. Do osiągniętego zbioru reguł A naleŜy dodać reguły<br />

realizujące poprawną klasyfikację elementów uczących, które to elementy nie są<br />

poprawnie klasyfikowane przez reguły ze zbioru A. Tylko nieliczne z reguł ze zbioru<br />

K<br />

S =<br />

K max<br />

realizują ten warunek – większość z nich klasyfikuje poprawnie elementy<br />

uczące juŜ sklasyfikowane poprawnie przez zbiór wybranych reguł A. Z tego powodu<br />

zalecam zastosowanie parametru p ins1 określającego jak często ma być uruchamiany<br />

operator nieproporcjonalnego wstawienia jedynki o podobnym znaczeniu jak we wzorze<br />

5-38. Niech wartość parametru p ins1 naleŜy do liczb rzeczywistych nieujemnych, a część<br />

całkowita int(p ins1 ) określa liczbę wstawień jedynki we fragment chromosomu<br />

K<br />

chS =<br />

K max<br />

, a część ułamkowa p ins1 -int(p ins1 ) – prawdopodobieństwo zajścia zdarzenia<br />

polegającego na jeszcze jednym wstawieniu jedynki we fragment chromosomu<br />

K K<br />

chS = max<br />

.<br />

{ 0}<br />

p<br />

1<br />

∈ R<br />

+<br />

ins<br />

∪ gdzie:<br />

(5-39)<br />

K K max<br />

chS =<br />

int(p ins1 )∈ℵ∪{0} – (część całkowita p ins1 ) liczba wstawień jedynki we fragment<br />

chromosomu


79<br />

p ins1 - int(p ins1 ) ∈〈0,1〉⊂R + ∪{0} – (część ułamkowa p ins1 ) prawdopodobieństwo<br />

zdarzenia polegającego na wstawieniu jeszcze jednej jedynki we fragment<br />

K Kmax<br />

chromosomu chS =<br />

Działanie operatora nieproporcjonalnego wstawienia jedynki ma na celu jedynie<br />

zmaksymalizowanie wartości k(A), ale odbywa się to kosztem wartości ||A||. NaleŜy<br />

spodziewać się, Ŝe wartość p ins1 wymagana do odszukania reguły, która podniesie<br />

wartość k(A) o przynajmniej jeden, spowoduje najwyŜej przyrost wartości ||A|| o<br />

int(p ins1 )+1 (jeŜeli część ułamkowa p ins1 jest róŜna od zera) lub o p ins1 (jeŜeli część<br />

ułamkowa wartości p ins1 wynosi zero). Przyjmijmy, Ŝe wartość p ins1 przyjmuje wartości<br />

tylko całkowite. śeby działanie operatora nieproporcjonalnego wstawienia jedynki<br />

umoŜliwiało dalsze przetwarzanie osobnika uzyskanego po wstawieniu p ins1 jedynek,<br />

wartość przystosowania (wzór 5-33) tego osobnika musi się polepszyć i to nawet dla<br />

przypadku, gdy uzyskamy poprawę klasyfikacji o tylko jeden punkt pomiarowy<br />

kosztem przyłączenia do zbioru A jeszcze p ins1 jedynek (wzór 5-40). PoniewaŜ jedynki<br />

te dołączane są do ostatniego z wyróŜnionych fragmentów chromosomu<br />

dodatkowo funkcja kary w(A) wzrośnie o wartość K max ⋅p ins1 .<br />

K K<br />

chS =<br />

max<br />

, to<br />

⎪⎧<br />

max⎨0;<br />

⎪⎩<br />

⎪⎧<br />

max⎨0;<br />

⎪⎩<br />

a ⋅<br />

a ⋅ k(<br />

A)<br />

− b ⋅ A − c ⋅ w(<br />

A)<br />

⎪⎫<br />

⎬<br />

a ⋅ D − b ⋅ M ⎪⎭<br />

[ k(<br />

A)<br />

+ 1] − b ⋅ [ A + p ] − c ⋅ [ w(<br />

A + K ⋅ p ] ⎫<br />

m<br />

a ⋅<br />

ins1 )<br />

D − b ⋅ M<br />

m<br />

<<br />

(5-40)<br />

max<br />

ins1<br />

⇓ i a,b,c,m∈R + i a≥b>>c>0<br />

[ k(<br />

A)<br />

+ 1] − b ⋅ [ A + pins<br />

1<br />

] − c ⋅ [ w(<br />

A)<br />

+ K<br />

max<br />

⋅ p<br />

1]<br />

⇓<br />

a ⋅ k( A)<br />

− b ⋅ A − c ⋅ w(<br />

A)<br />

< a ⋅<br />

ins<br />

0 < a − b ⋅ pins<br />

1<br />

− c ⋅ K<br />

max<br />

⋅ pins1<br />

⇓<br />

( b c ⋅ K ) a<br />

p ins 1<br />

+<br />

max<br />

<<br />

(5-41)<br />

⎪<br />

⎬<br />

⎪⎭<br />

Po zakończeniu algorytmu 5-1 wartość K max jest juŜ ustalona. Po określeniu<br />

wartości p ins1 i ustaleniu wartości b i c ze wzoru 5-33 opisującego funkcję<br />

przystosowania, wartość a z tego wzoru powinna spełniać nierówność 5-41.<br />

JeŜeli najlepszy chromosom w generacji będzie potrafił wykonać poprawną<br />

klasyfikację wszystkich danych uczących, to działanie operatora nieproporcjonalnego<br />

wstawienie jedynki naleŜy zakończyć, gdyŜ będzie on przeszkadzał pozostałym<br />

operatorom algorytmu genetycznego w dalszej poprawie juŜ uzyskanego wyniku.


80<br />

→<br />

→<br />

stan początkowy<br />

po nieproporcjonalnym<br />

wstawieniu jedynki<br />

→<br />

→<br />

po inteligentnym<br />

przesunięciu jedynki<br />

po dwukrotnym<br />

usunięciu jedynki<br />

Rysunek 5-13. Przykład działania operatorów kodujących wiedzę o zadaniu – na<br />

rysunkach przedstawiono reguły kodowane przez chromosom (kolorem czerwonym<br />

zaznaczono nowe reguły) słuŜące do klasyfikacji obiektów klasy C1 i C2 w przestrzeni<br />

jednowymiarowej.<br />

Wartość p ins1 moŜna przyjąć jako małą np.: poniŜej jedynki i wtedy po dłuŜszym<br />

czasie realizacji algorytmu genetycznego moŜna spodziewać się poprawy klasyfikacji o<br />

przynajmniej jeden punkt uczący. Stanie się to moŜliwie nieduŜym kosztem<br />

polegającym na dodaniu do zbioru A niewielkiej liczby reguł p ins1 (gdy wartość p ins1 ≤1<br />

to tylko kosztem dodania jednej reguły). Sytuacja taka jest bardzo efektywnym<br />

przykładem działania opisywanego operatora, ale odbywa się to kosztem wielu pokoleń<br />

– co nie zawsze jest dopuszczalne (ze względu m.in. na czas realizacji algorytmu<br />

genetycznego). MoŜemy ustalić nawet dość duŜą wartość p ins1 , ale pod warunkiem<br />

wyregulowania parametrów ze wzoru 5-33 opisującego funkcję przystosowania tak, aby<br />

spełniały nierówność 5-41. W wypadku uzyskania poprawy klasyfikacji o jeden punkt<br />

uczący naleŜy liczyć się z powiększeniem liczby reguł o p ins1 . To zdarzenie moŜe się<br />

wielokrotnie powtórzyć zanim osiągniemy poprawną klasyfikację wszystkich danych<br />

uczących. – otrzymujemy chromosom, który realizuje poprawnie w 100% klasyfikacje,


ale który zawiera duŜo reguł klasyfikujących. Reguły te podczas uczenia się algorytmu<br />

genetycznego będą redukowane dzięki pozostałym operatorom genetycznym.<br />

5.3.8. Interpretacja wyników<br />

81<br />

Algorytm genetyczny nie rozwiązuje zadania optymalizacji w dosłownym tego<br />

słowa znaczeniu (z łac. optimus – najlepszy) poprzez dostarczenie najlepszego<br />

rozwiązania, ale dostarcza rozwiązanie najlepsze z grupy sprawdzonych podczas pracy<br />

algorytmu. Rozpatrywane zadanie maksymalizacji moŜe dawać po kaŜdym przebiegu<br />

algorytmu genetycznego zupełnie róŜny wynik – maksimum lokalne, które osiągnął<br />

algorytm. W związku z tym naleŜy ustalić kryterium uznające wynik uzyskany z<br />

przebiegu algorytmu genetycznego za dobry. Niech wstępnym takim kryterium będzie<br />

poprawna klasyfikacja wszystkich danych uczących lub bez najwyŜej jednego punktu<br />

pomiarowego przy liczbie reguł poniŜej liczby elementów uczących (5-42).<br />

k(A) ≥ ||D||-1 i ||A|| < ||D|| (5-42)<br />

Niech chromosom ch kodujący sobą zbiór A, który spełnia warunek 5-42<br />

nazywany będzie sztucznym ekspertem. ZałóŜmy, Ŝe po wielu realizacjach algorytmu<br />

genetycznego będziemy dysponować grupą „sztucznych ekspertów” I (przykład 5-5).<br />

Po uzyskaniu licznej grupy sztucznych ekspertów I moŜna zaostrzyć kryterium dane<br />

wzorem 5-42 chociaŜby poprzez zmniejszenie wartości, poniŜej której liczba reguł ze<br />

zbioru A będzie traktowana jako ekspert np.: ||A|| < ||D|| / 2.<br />

KaŜdy ze sztucznych ekspertów potrafi wykonać klasyfikację obiektu<br />

x=(x 1 ,x 2 ,...,x m ,...,x n ) w przestrzeni n-wymiarowej do klasy CT 0 (gdzie T 0 ∈{1,2,...,M} i M<br />

jest ilością klas) z zaufaniem α CT0<br />

zgodnie ze wzorem 5-14. NaleŜy określić sposób<br />

wyboru z grupy wykonanych klasyfikacji (przez poszczególnych sztucznych ekspertów)<br />

z róŜnymi wartościami zaufania klasyfikację najbardziej trafną. Jednym z najprostszych<br />

rozwiązań jest posłuŜenie się wartością zaufania do wykonanej klasyfikacji –<br />

chromosom wykonujący klasyfikację z przypisaną największą wartością zaufania<br />

będzie uznany za chromosom udzielający najbardziej trafnej klasyfikacji obiektu<br />

x=(x 1 ,x 2 ,...,x m ,...,x n ). Niekoniecznie to rozwiązanie jest najlepsze, gdyŜ wraz ze<br />

zmniejszaniem się wartości ||A|| maleje zaufanie do udzielanej odpowiedzi – uzyskane<br />

reguły przyporządkowane są do duŜych obszarów przestrzeni danych uczących, w<br />

obrębie których znajdować się mogą dane róŜnych klas, co wpływa na obniŜanie<br />

zaufanie do danej reguły (rysunek 5-13 przed i po usunięciu jedynek). Z tego powodu


zaufanie do udzielanej klasyfikacji ma nieduŜą wartość dla sztucznego eksperta o<br />

niewielkiej liczbie reguł, a dla eksperta o duŜej liczbie reguł naleŜy spodziewać się<br />

klasyfikacji o duŜych wartościach zaufania.<br />

Przykład 5-5<br />

Grupa „sztucznych ekspertów” I uzyskana dla danych uczących z przykładu 5-1, czyli<br />

obiektów klas C1 i C2. Kolorem czerwonym zaznaczono obszary, w których nowy obiekt<br />

zostanie sklasyfikowany jako C2, niebieskim – jako C1. KaŜdy z ekspertów wykonuje<br />

klasyfikację za pomocą pięciu reguł i kaŜdy z nich koduje sobą inną grupę reguł.<br />

82<br />

Rysunek 5-14. Grupa „sztucznych ekspertów” I (objaśnienia w tekście) -<br />

- rezultat pracy programu kulki.exe<br />

Trzeba liczyć się z tym, Ŝe sztuczny ekspert o wysokiej wartości przystosowania<br />

(małej wartości ||A||) zostanie „zakrzyczany” przez gorzej przystosowanego eksperta.<br />

Aby nie dopuścić do tej sytuacji proponuję za najbardziej trafną klasyfikację wykonaną<br />

przez grupę ekspertów uznać I klasyfikację eksperta, dla którego wartość iloczynu<br />

przystosowania Φ (ch)<br />

oraz zaufania α CT0<br />

osiąga wartość największą (5-43).<br />

max{ Φ ( ch)<br />

⋅α CT<br />

}<br />

(5-43)<br />

0


83<br />

6. Diagnostyka transformatorów<br />

6.1. Problemy i metody<br />

Transformator ([i.10], [i.11], [i.12]) jako urządzenie elektryczne [21] słuŜy do<br />

zmiany wielkości napięcia prądu przemiennego, które to zmiany wymuszone są<br />

koniecznością minimalizacji strat energii podczas przesyłu siecią elektroenergetyczną.<br />

W celu zapewnienia poprawnej pracy transformatora przeprowadza się rozmaite<br />

pomiary [48] i próby eksploatacyjne takie jak: pomiar rezystancji izolacji, pomiar<br />

współczynnika stratności, pomiar rezystancji uzwojeń, badania pod obciąŜeniem<br />

przełącznika zaczepów, badanie wyładowań niezupełnych, analiza wibroakustyczna,<br />

badania oleju w zakresie: klarowności, lepkości, gęstości, zawartości obcych ciał<br />

stałych, liczby kwasowej, temperatury zapłonu, napięcia przebicia, rezystywności,<br />

współczynnika stratności, zawartości wody oraz analiza chromatograficzna gazów (z<br />

ang. DGA – Dissolved Gas Analysis) rozpuszczonych w oleju transformatora ([49],<br />

[40]). Ów olej stosowany jest jako chłodziwo i izolator. Opływa on większość<br />

elementów transformatora. JeŜeli zaczynają się one psuć, to doprowadzają do degradacji<br />

oleju, co objawia się m.in. wydzielaniem się w nim rozmaitych gazów. Ich skład<br />

chemiczny oraz ilościowy zaleŜy od rodzaju uszkodzenia. Analiza chromatograficzna<br />

umoŜliwia wykonanie analizy jakościowej i ilościowej mieszaniny gazów<br />

wyekstrahowanych z pobranej próbki oleju transformatorowego. Na podstawie<br />

wyników DGA moŜna postawić diagnozę dotyczącą stanu technicznego transformatora<br />

olejowego. Metoda DGA jest dość tania i zyskuje coraz większą popularność m.in.<br />

dlatego, Ŝe nie wymaga wyłączenia transformatora z sieci elektroenergetycznej celem<br />

przeprowadzenia diagnozy.


84<br />

6.2. Diagnostyka na podstawie rezultatów chromatografii gazowej (DGA)<br />

6.2.1. Chemiczne podstawy chromatografii gazowej<br />

Chromatografia ([i.8] , [i.9]) jest znana od początku XX wieku [86], ale dopiero w<br />

drugiej jego połowie rozpoczął się jej szybki rozwój (po wynalezieniu chromatografu<br />

gazowego), aŜ do dnia dzisiejszego, gdzie stanowi jedną z najbardziej<br />

rozpowszechnionych metod w chemii analitycznej [31]. Wysoką pozycję w chemii<br />

analitycznej chromatografia zawdzięcza moŜliwości wykrywania substancji<br />

analizowanej i oznaczania jej ilości w próbce na bardzo niskim poziomie wobec innych<br />

substancji (np.: za pomocą chromatografii gazowej w jednym litrze wody moŜna<br />

wykryć pikogram analizowanej substancji – porównywalnie jak za pomocą<br />

spektrometrii masowej).<br />

Istotą rozdzielania chromatograficznego [85] jest działanie dwóch sił:<br />

powodującej ruch cząsteczek w określonym kierunku i hamującej ten ruch. Warunkiem<br />

rozdzielenia mieszaniny jest zróŜnicowanie siły hamującej w odniesieniu do<br />

poszczególnych komponentów mieszaniny. Najczęściej siłą powodującą ruch jest<br />

przepływ gazu, cieczy lub płynu w stanie nadkrytycznym przez złoŜe mające zdolność<br />

adsorbowania lub absorbowania (rozpuszczania) substancji. Siłą hamującą jest<br />

oddziaływanie tego złoŜa z komponentami mieszaniny. ZłoŜem moŜe zostać ciało stałe<br />

w postaci drobnych ziaren o rozwiniętej powierzchni (adsorbent) lub ciecz naniesiona<br />

cienką warstwą na powierzchnię ciała stałego. Adsorbent lub ciecz absorbująca<br />

(rozpuszczająca) nazywane są fazą stacjonarną, a czynnik przepływający przez złoŜe –<br />

fazą ruchomą. W zaleŜności od zastosowanej fazy ruchomej: gazu, cieczy lub płynu w<br />

stanie nadkrytycznym chromatografię dzielimy odpowiednio na gazową, cieczową i<br />

nadkrytyczną.<br />

ZałóŜmy, Ŝe mamy do czynienia z dwoma składnikami A i B mieszaniny, przy<br />

czym składnik A słabo rozpuszcza się lub adsorbuje w fazie nieruchomej. Spowoduje<br />

to, Ŝe składnik A będzie przemieszczał się szybciej przez układ chromatograficzny –<br />

urządzenie zwane chromatografem. Wykonując chromatografię naleŜy tak dobrać jej<br />

warunki (rodzaj fazy stacjonarnej, rodzaj fazy ruchomej, prędkość przepływu fazy<br />

ruchomej oraz temperaturę), aby rozdzielić składniki mieszaniny A i B na wyjściu<br />

chromatografu, gdzie umieszczony jest rejestrator (rysunek 6-1), który rejestruje


opuszczające chromatograf składniki mieszaniny w formie tzw. pików<br />

chromatograficznych (rysunek 6-2).<br />

85<br />

Rysunek 6-1. Schemat chromatografu gazowego (1 – zbiornik lub wytwornica gazu<br />

nośnego, 2- regulator przepływu gazu nośnego, 3 – odtleniacz i osuszacz gazu nośnego,<br />

4 – przepływomierz gazu nośnego, 5 – dozownik, 6 – kolumna chromatograficzna,<br />

7 – detektor, 8 – termostat kolumny, 9 – regulator temperatury dozownika, kolumny i<br />

detektora, 10 – urządzenie dozujące mieszaninę, 11 – wzmacniacz sygnału detektora,<br />

12 – rejestrator pików chromatograficznych lub komputer). Kolorem niebieskim<br />

zaznaczono kierunek przepływu gazu (na podstawie [86]).<br />

Rysunek 6-2. Chromatogramy z pikami chromatograficznymi (przedruk z [86])<br />

uzyskane na sitach cząsteczkowych 5A po 18 godzinach aktywacji w temperaturze<br />

150 0 C (bez rozdzielenia CO i CH 4 ) i 250 0 C (z widocznym rozdzieleniem CO i CH 4 ).<br />

Przy chromatografii gazowej najczęściej stosowane są detektory róŜniczkowe,<br />

które generują przyrost sygnału proporcjonalny do przyrostu stęŜenia (lub masy)<br />

substancji w gazie nośnym. Ta zmiana sygnału rejestrowana jest w formie piku. Na<br />

podstawie połoŜenia piku na chromatogramie moŜna zidentyfikować poszczególne<br />

składniki badanej mieszaniny. MoŜliwe jest teŜ połączenie chromatografu ze


spektrometrem masowym i identyfikacja składników mieszaniny na podstawie jego<br />

wskazań. Ilość substancji w mieszaninie zaleŜy od wielkości odpowiadającego jej piku,<br />

gdyŜ wysokość i powierzchnia piku są proporcjonalne do ilości oznaczanego składnika.<br />

JeŜeli pik jest symetryczny i wąski, to do analizy ilościowej uŜywa się wysokości piku<br />

chociaŜ jest ona wraŜliwa na czas dozowania próbki oraz nawet niewielkie zmiany<br />

prędkości gazu nośnego. W celu otrzymania dokładnych wyników korzystniejsze jest<br />

mierzenie powierzchni piku i porównanie jej z pikiem wyznaczonym ze znanej ilości<br />

substancji wzorcowej. Powierzchnię piku S piku wyznacza się na podstawie wzoru (6-1),<br />

86<br />

S piku<br />

⎧ h ⋅ w0,50<br />

⎪<br />

= ⎨ w0,15<br />

+ w<br />

⎪h<br />

⋅<br />

⎩ 2<br />

0,85<br />

(6-1)<br />

- gdy pik jest symetryczny<br />

- gdy pik jest niesymetryczny<br />

gdzie h jest wysokością piku, w<br />

0 ,50<br />

, w0,15<br />

, w0,<br />

85<br />

- szerokością odpowiednio w<br />

połowie jego wysokości oraz na 15% i 85% jego wysokości.<br />

Dokładność uzyskanego wyniku moŜe określić doświadczony chemik. ZaleŜy<br />

bowiem ona od wielu czynników chemicznych. Jak wynika z wywiadu wynik moŜe być<br />

wyznaczony z dokładnością ±5% na technicznie najgorszych chromatografach. Istnieją<br />

jednak sposoby łączenia róŜnych metod analitycznych celem wyznaczenia bardzo<br />

dokładnego wyniku np.: chromatograf gazowy połączony ze spektrometrem masowym.<br />

6.2.2. Metoda kodu IEC<br />

Metoda kodu IEC zaproponowana przez International Electrotechnical<br />

Commission [i.1] jest jedną z popularniejszych ([62], [25], [66]) metod diagnostyki<br />

stanu technicznego transformatora olejowego [76] w oparciu o dane z chromatografii<br />

gazowej – DGA.. Do zastosowania kodu IEC naleŜy uzyskać z chromatografu dane<br />

dotyczące występowania gazów: H 2 - wodór, CH 4 - metan, C 2 H 2 - acetylen, C 2 H 4 -<br />

etylen, C 2 H 6 - etan. Dane te dotyczą stęŜenia i są podawane w jednostkach ppm (z ang.<br />

parts per milion), czyli objętościowo w części na milion. Na ich podstawie wyznacza się<br />

ilorazy * opisane wzorem (6-2).<br />

* We wszystkich występujących w tym rozdziale rysunkach 3-wymiarowych na osi OX będzie<br />

prezentowana wartość ilorazu x, na OY - y, a na OZ - wartość ilorazu z.


87<br />

x = C H<br />

C H<br />

2 2<br />

2 4<br />

, y = CH H<br />

2<br />

4<br />

, z = C H<br />

C H<br />

2 4<br />

2 6<br />

. (6-2)<br />

W zaleŜności od wartości ilorazów opisanych wzorem (6-2) przypisuje się im<br />

odpowiednie kody zebrane w tabeli 6-1.<br />

iloraz C2 H2<br />

CH4<br />

C H<br />

wartość ilorazu<br />

C2 H4<br />

H2<br />

C H<br />

〈0, 0.1) 0 1 0<br />

〈0.1, 1) 1 0 0<br />

〈1, 3〉 1 2 1<br />

większa niŜ 3 2 2 2<br />

Tabela 6-1. Kod IEC<br />

2 4<br />

2 6<br />

Dysponując kodami IEC dokonuje się klasyfikacji uszkodzenia transformatora. Zasady<br />

klasyfikacji zebrane są w tabeli 6-2. Na tej podstawie moŜna uzyskać 11 reguł jeŜeli-to<br />

określających stan techniczny transformatora (tabela 6-3).<br />

Kod<br />

C2 H2<br />

C H<br />

2 4<br />

Kod<br />

CH<br />

4<br />

H<br />

2<br />

Kod<br />

C2 H4<br />

C H<br />

2 6<br />

Kod<br />

IEC<br />

Klasyfikacja uszkodzenia<br />

0 0 0 000 Bez uszkodzeń<br />

0 1 0 010 Wyładowania niezupełne o małej energii<br />

1 1 0 110 Wyładowania niezupełne o duŜej energii<br />

1 lub 2 0 1 lub 2 * 101 Wyładowania zupełne o małej energii<br />

201<br />

202<br />

1 0 2 102 Wyładowania zupełne o duŜej energii<br />

0 0 1 001 Przegrzanie o temperaturę mniejszą niŜ 150 0 C<br />

0 2 0 020 Przegrzanie o temperaturę (150 0 C, 300 0 C〉<br />

0 2 1 021 Przegrzanie o temperaturę (300 0 C, <strong>70</strong>0 0 C〉<br />

0 2 2 022 Przegrzanie o temperaturę większą niŜ <strong>70</strong>0 0 C<br />

Kod wykraczający poza<br />

Niezidentyfikowane uszkodzenie<br />

powyŜsze symbole<br />

Tabela 6-2. Klasyfikacja stanu technicznego transformatora według kodu IEC<br />

Reguła 1 JeŜeli kod IEC = 000, to transformator nie jest uszkodzony.<br />

Reguła 2 JeŜeli kod IEC = 010, to w transformatorze występują wyładowania<br />

niezupełne o małej energii.<br />

Reguła 3 JeŜeli kod IEC = 110, to w transformatorze występują wyładowania<br />

niezupełne o duŜej energii.<br />

Reguła 4 JeŜeli kod IEC = 101, to w transformatorze występują wyładowania<br />

* Kod 102 jest w praktyce interpretowany jako „Wyładowania zupełne o duŜej energii”


zupełne o małej energii.<br />

Reguła 5 JeŜeli kod IEC = 201, to w transformatorze występują wyładowania<br />

zupełne o małej energii.<br />

Reguła 6 JeŜeli kod IEC = 202, to w transformatorze występują wyładowania<br />

zupełne o małej energii.<br />

Reguła 7 JeŜeli kod IEC = 102, to w transformatorze występują wyładowania<br />

zupełne o duŜej energii.<br />

Reguła 8 JeŜeli kod IEC = 001, to w transformatorze występują przegrzania o<br />

temperaturze mniejszej niŜ 150 0 C.<br />

Reguła 9 JeŜeli kod IEC = 020, to w transformatorze występują przegrzania o<br />

temperaturze od 150 0 C do 300 0 C.<br />

Reguła 10 JeŜeli kod IEC = 021, to w transformatorze występują przegrzania o<br />

temperaturze od 300 0 C do <strong>70</strong>0 0 C.<br />

Reguła 11 JeŜeli kod IEC = 022, to w transformatorze występują przegrzania o<br />

temperaturze powyŜej <strong>70</strong>0 0 C.<br />

Tabela 6-3 Reguły jeŜeli-to dotyczące klasyfikacji wg kodu IEC<br />

88<br />

Rysunek 6-3. Graficzna ilustracja reguł według kodu IEC. Obszar przezroczysty to<br />

„Niezidentyfikowane uszkodzenie” (współrzędne X, Y, Z - wg uwagi do wzoru 6-2)<br />

Reguły z tabeli 6-3 moŜna przedstawić graficznie w sposób ukazany na rysunku<br />

6-3, z którego widać, Ŝe większa część trójwymiarowej przestrzeni XYZ odpowiada<br />

stanowi technicznemu „Niezidentyfikowane uszkodzenie”. Nie naleŜy się jednak<br />

sugerować rozmiarami poszczególnych obszarów klasyfikujących zaprezentowanych na<br />

rysunku 6-3 celem określenia częstości zaistnienia danego stanu technicznego. Praktyka


pokazuje, Ŝe uzyskane wyniki pomiarów nie są w zaprezentowanej na rysunku 6-3<br />

przestrzeni XYZ rozłoŜone równomiernie.<br />

89<br />

Klasa stanu technicznego Liczba pomiarów<br />

Bez uszkodzeń 33<br />

Wyładowania niezupełne o małej energii 11<br />

Wyładowania niezupełne o duŜej energii 2<br />

Wyładowania zupełne o małej energii 10<br />

Wyładowania zupełne o duŜej energii 20<br />

Przegrzanie o temperaturę mniejszą niŜ 150 0 C 29<br />

Przegrzanie o temperaturę (150 0 C, 300 0 C〉 24<br />

Przegrzanie o temperaturę (300 0 C, <strong>70</strong>0 0 C〉 79<br />

Przegrzanie o temperaturę większą niŜ <strong>70</strong>0 0 C 94<br />

Niezidentyfikowane uszkodzenie 64<br />

Nie moŜna zastosować metody kodu IEC 78<br />

Razem: 444<br />

Tabela 6-4. Liczba pomiarów naleŜących do danej klasy stanu technicznego dla metody<br />

kodu IEC – dla 444 uzyskanych rzeczywistych pomiarów [89]<br />

Jak moŜna się wstępnie zorientować z zestawienia prezentowanego w tabeli 6-4,<br />

w większości przypadków praktycznych występują przegrzania o temperaturze<br />

przekraczającej 300 0 C i <strong>70</strong>0 0 C. Dość duŜa jest teŜ liczba przypadków, gdzie diagnoza<br />

nie moŜe być postawiona. Nieczęsto występują wyładowania niezupełne, a liczba<br />

transformatorów bez uszkodzeń równieŜ nie jest duŜa. Tłumaczyć to moŜna faktem, Ŝe<br />

diagnozy wykonuje się częściej dla jednostek uszkodzonych, aby w porę zapobiec<br />

powaŜnym uszkodzeniom (a nawet zniszczeniu) transformatora.<br />

6.2.3. Metoda polska<br />

Metoda polska jest rozwinięciem metody kodu IEC m.in. o wartości stosunków<br />

węglowodorów nienasyconych do nasyconych, co umoŜliwia weryfikację lokalnych<br />

przegrzań. Metoda ta uwzględnia następujące gazy: H 2 - wodór, CH 4 - metan, C 2 H 2 -<br />

acetylen, C 2 H 4 - etylen, C 2 H 6 - etan, C 3 H 8 – propan, C 3 H 6 – propylen, CO – tlenek<br />

węgla, CO 2 – dwutlenek węgla, których ilość podana jest w jednostkach ppm (parts per<br />

milion). Względem kodu IEC metoda polska umoŜliwia do pewnego stopnia<br />

weryfikację diagnozy, poniewaŜ opiera się na kilku zestawieniach stęŜeń gazów<br />

uzyskanych z DGA:<br />

- dopuszczalne stęŜenia gazów<br />

- kod IEC


90<br />

- stosunki stęŜeń węglowodorów nienasyconych do nasyconych<br />

- stosunek stęŜenia dwutlenku węgla do tlenku węgla.<br />

Dopuszczalne wartości stęŜeń gazów prezentuje tabela 6-5. Wartości te zostały<br />

opracowane w oparciu o oględziny wewnętrzne transformatora i zaleŜą one tylko od<br />

typu transformatora (blokowy lub sieciowy), a nie od okresu eksploatacji ([20], [66]).<br />

Gaz<br />

Transformator<br />

blokowy<br />

sieciowy<br />

H 2 260 500<br />

CH 4 250 200<br />

C 2 H 6 160 1<strong>70</strong><br />

C 2 H 4 250 260<br />

C 2 H 2 20 <strong>70</strong><br />

C 3 H 8 40 30<br />

C 3 H 6 40 40<br />

CO 280 260<br />

CO 2 3500 4000<br />

Tabela 6-5. Dopuszczalne wartości stęŜeń gazów (w ppm)<br />

Stosunki stęŜeń węglowodorów nienasyconych do nasyconych prezentowane w<br />

tabeli 6-6, słuŜą do weryfikacji przegrzań i do określenia ich temperatury.<br />

Temperatura<br />

C2H<br />

C H<br />

2<br />

4<br />

6<br />

C<br />

C<br />

3<br />

3<br />

H<br />

H<br />

6<br />

8<br />

C2H<br />

C H<br />

3<br />

4<br />

8<br />

od150 0 C do 300 0 C (0, 1) (0, 2) (0, 3)<br />

od 300 0 C do <strong>70</strong>0 0 C 〈1, 3〉 〈2, 6〉 〈3, 15〉<br />

powyŜej <strong>70</strong>0 0 C więcej niŜ 3 więcej niŜ 6 więcej niŜ 15<br />

Tabela 6-6. Stosunki gazów w zaleŜności od temperatury przegrzania<br />

Podczas normalnej pracy transformatora wartość ilorazu<br />

CO 2<br />

CO<br />

naleŜy do<br />

przedziału (3, 7). W metodzie polskiej przyjęto występowanie uszkodzenia izolacji<br />

celulozowej, gdy CO lub CO 2 przekracza wartość dopuszczalną podaną w tabeli 2-6<br />

CO<br />

oraz gdy 2<br />

> 0, 3.<br />

CO


Metoda polska kończy się postawieniem diagnozy wg kodu IEC z ewentualnym<br />

uzupełnieniem o uszkodzeniach w izolacji celulozowej. Ponadto jeŜeli Ŝaden z gazów<br />

nie przekroczył wartości dopuszczalnej, to diagnoza wg kodu IEC o uszkodzeniu<br />

traktowana jest tylko jako symptom zdiagnozowanego uszkodzenia. Wszelkie<br />

przegrzania mogą być dodatkowo zweryfikowane wg tabeli 6-6.<br />

91<br />

Klasa stanu technicznego<br />

Liczba<br />

pomiarów<br />

Liczba<br />

uszkodzeń<br />

izolacji<br />

Liczba<br />

potwierdzeń<br />

przegrzania<br />

(poprawnych i<br />

błędnych)<br />

Liczba<br />

symptomów<br />

uszkodzenia<br />

Bez uszkodzeń 33 0 - -<br />

Wyładowania niezupełne o małej energii 11 0 - 3<br />

Wyładowania niezupełne o duŜej energii 2 0 - 0<br />

Wyładowania zupełne o małej energii 10 3 - 6<br />

Wyładowania zupełne o duŜej energii 20 2 - 2<br />

Przegrzanie o temperaturę mniejszą niŜ 150 0 C 29 3 0 / 11 16<br />

Przegrzanie o temperaturę (150 0 C, 300 0 C〉 24 0 18 / 0 9<br />

Przegrzanie o temperaturę (300 0 C, <strong>70</strong>0 0 C〉 79 6 29 / 0 20<br />

Przegrzanie o temperaturę większą niŜ <strong>70</strong>0 0 C 94 0 52 / 0 17<br />

Niezidentyfikowane uszkodzenie 64 6 - -<br />

Nie moŜna zastosować metody polskiej 78 8 - -<br />

Razem: 444<br />

Tabela 6-7. Liczba pomiarów naleŜących do danej klasy stanu technicznego dla metody polskiej<br />

(znak - oznacza „nie dotyczy”) wraz z uzupełnieniem diagnozy stanem izolacji,<br />

potwierdzeniem przegrzania i kontrolą przekroczenia wartości dopuszczalnych stęŜeń<br />

Analizując zestawienie uzyskanych diagnoz dla metody polskiej (tabela 6-7)<br />

moŜna zauwaŜyć, Ŝe wszystkie przegrzania o temperaturze powyŜej 150 0 C były dość<br />

często potwierdzane i to poprawnie. Jedynie dla przegrzań o temperaturze niŜszej niŜ<br />

150 0 C uzyskane potwierdzenia wskazywały na przegrzania o temperaturze powyŜej<br />

300 0 C. JeŜeli dodatkowo uwzględnimy, Ŝe w ponad połowie przypadków nie<br />

przekroczono dopuszczalnych stęŜeń gazów (zaobserwowano tylko symptomy<br />

uszkodzenia), to moŜna stwierdzić, ze diagnoza „Przegrzanie o temperaturę mniejszą<br />

niŜ 150 0 C” nie naleŜy do pewnych. Przeciwieństwem tego stanu jest diagnoza<br />

„Wyładowania zupełne o duŜej energii”, gdzie zaledwie 2 przypadki okazały się być<br />

symptomami tego uszkodzenia. NaleŜy teŜ zaznaczyć, Ŝe gdyby uwzględnić<br />

uszkodzenie izolacji celulozowej w przypadkach, gdy metoda polska nie daje diagnozy,<br />

to moŜna w ten sposób zdiagnozować jeszcze 14 przypadków pomiarów.


Dzięki uzupełnieniu informacji o stanie technicznym transformatora<br />

dodatkowymi zestawieniami metoda ta wydaje się duŜo bardziej pewniejsza niŜ kodu<br />

IEC.<br />

92<br />

6.2.4. Metoda polska pogłębiona<br />

Pogłębiona metoda polska jest modyfikacją metody polskiej, polegającej na<br />

zmianie weryfikacji przegrzań, która dla metody polskiej polegała na sprawdzeniu<br />

wartości trzech ilorazów prezentowanych w tabeli 6-6. W metodzie pogłębionej<br />

przyjęto, Ŝe dla przegrzań o temperaturze powyŜej 300 0 C odpowiednie wartości<br />

przyjmować muszą dwa, a nie trzy ilorazy (tabela 6-6).<br />

Klasa stanu technicznego<br />

Liczba<br />

pomiarów<br />

Liczba<br />

uszkodzeń<br />

izolacji<br />

Liczba<br />

potwierdzeń<br />

przegrzania<br />

(poprawnych i<br />

błędnych)<br />

Liczba<br />

symptomów<br />

uszkodzenia<br />

Bez uszkodzeń 33 0 - -<br />

Wyładowania niezupełne o małej energii 11 0 - 3<br />

Wyładowania niezupełne o duŜej energii 2 0 - 0<br />

Wyładowania zupełne o małej energii 10 3 - 6<br />

Wyładowania zupełne o duŜej energii 20 2 - 2<br />

Przegrzanie o temperaturę mniejszą niŜ 150 0 C 29 3 0 / 16 16<br />

Przegrzanie o temperaturę (150 0 C, 300 0 C〉 24 0 18 / 3 9<br />

Przegrzanie o temperaturę (300 0 C, <strong>70</strong>0 0 C〉 79 6 52 / 15 20<br />

Przegrzanie o temperaturę większą niŜ <strong>70</strong>0 0 C 94 0 64 / 1 17<br />

Niezidentyfikowane uszkodzenie 64 6 - -<br />

Nie moŜna zastosować metody polskiej 78 8 - -<br />

Razem: 444<br />

Tabela 6-8. Liczba pomiarów naleŜących do danej klasy stanu technicznego dla metody polskiej<br />

pogłębionej (znak - oznacza „nie dotyczy”) wraz z uzupełnieniem diagnozy stanem izolacji,<br />

potwierdzeniem przegrzania i kontrolą przekroczenia wartości dopuszczalnych stęŜeń<br />

Dla metody tej znacząco wzrasta liczba poprawnych potwierdzeń przegrzań i<br />

jest ona godna uwagi pomimo, Ŝe wzrosła teŜ liczba potwierdzeń przegrzań błędnych,<br />

czyli o innym zakresie temperatur niŜ właściwa diagnoza.<br />

6.2.5. Metoda niemiecka<br />

Metoda ta uwzględnia te same gazy co metoda polska, a ocenę stanu<br />

technicznego transformatora przeprowadza się w oparciu o:


- wartości dopuszczalnych stęŜeń gazów rozpuszczonych w oleju (ta sama tabela<br />

wartości dopuszczalnych co dla metody polskiej)<br />

- pięcioznakowego kodu uszkodzenia, który umoŜliwia postawienie jednej z<br />

ośmiu diagnoz (tabele 6-9 i 6-10).<br />

93<br />

wartość<br />

stosunku stęŜeń<br />

stosunek stęŜeń<br />

C2H<br />

C H<br />

2<br />

2<br />

6<br />

H<br />

2<br />

CH<br />

4<br />

C2H<br />

C H<br />

2<br />

4<br />

6<br />

C2H<br />

C H<br />

3<br />

4<br />

6<br />

CO 2 *<br />

CO<br />

〈0; 0,3) 0 0 0 0 1<br />

〈0,3; 1,0) 1 0 0 1 1<br />

〈1,0; 3,0) 1 1 1 2 1<br />

〈3,0; 10,0〉 2 2 1 3 0<br />

więcej niŜ 10,0 2 3 1 3 2<br />

Tabela 6-9. Pięcioznakowy kod metody niemieckiej<br />

Diagnoza<br />

Pięcioznakowy kod<br />

Normalny rozkład izolacji 0000(0)<br />

Wyładowania o duŜej energii 2113(1)<br />

Wyładowania o małej energii 2213(1)<br />

Wyładowania niezupełne o duŜej gęstości energii 130+(0)<br />

Wyładowania niezupełne o małej gęstości energii 030+(0)<br />

Przegrzania lokalne do 300 0 C 0001(2)<br />

Przegrzania lokalne od 300 0 C do 1000 0 C 0012(2)<br />

Przegrzania lokalne powyŜej 1000 0 C 1013(2)<br />

Uszkodzenie niezidentyfikowane<br />

pozostałe wartości kodu<br />

Tabela 6-10. Diagnozy metody niemieckiej w zaleŜności od pięcioznakowego kodu<br />

(znak + naleŜy rozumieć jako „nie ma cech wskaźnika”)<br />

Diagnoza metodą niemiecką kończy się komunikatem o uszkodzeniu uzyskanym<br />

według tabeli 6-10.<br />

Jak wykazuje tabela 6-11 (oraz inne prace np.: [62]) metoda niemiecka daje<br />

diagnozę rzadko, ale jest ona dosyć pewna (co potwierdza porównanie jej wyników z<br />

metodą kodu IEC). Brak przegrzań lokalnych do 300 0 C potwierdza metodę polską o<br />

niewielkim zaufaniu do tak postawionej diagnozy (duŜa liczba symptomów uszkodzenia<br />

w metodzie polskiej).<br />

* Uwzględniać tylko w przypadku duŜego udziału celulozy w uszkodzeniu - tu przyjęto, Ŝe ma to miejsce<br />

wówczas, gdy CO lub CO 2 przekroczy wartość dopuszczoną dwukrotnie powiększoną.


Według metody niemieckiej (tabela 6-11) dla analizowanej grupy 444 danych<br />

pomiarowych nie występują uszkodzenia izolacji celulozowej, co spowodowane jest<br />

przyjętymi kryteriami na przekroczenie dopuszczalnych stęŜeń CO lub CO 2 (wg uwagi -<br />

przypisu dolnego - do tabeli 6-9). Mniejszą liczbę diagnoz względem kodu IEC, czy<br />

brak diagnoz o normalnym rozkładzie izolacji naleŜy tłumaczyć surowymi kryteriami<br />

metody niemieckiej.<br />

94<br />

Klasa stanu technicznego<br />

Liczba pomiarów<br />

Liczba uszkodzeń<br />

izolacji celulozowej<br />

Liczba potwierdzeń<br />

diagnozy przez kod<br />

IEC<br />

Normalny rozkład izolacji 0 0 0<br />

Wyładowania o duŜej energii 12 0 12<br />

Wyładowania o małej energii 2 0 1<br />

Wyładowania niezupełne o duŜej gęstości energii 0 0 0<br />

Wyładowania niezupełne o małej gęstości energii 13 0 11<br />

Przegrzania lokalne do 300 0 C 0 0 0<br />

Przegrzania lokalne od 300 0 C do 1000 0 C 42 0 36<br />

Przegrzania lokalne powyŜej 1000 0 C 10 0 4<br />

Uszkodzenie niezidentyfikowane 239 0 48<br />

Nie moŜna zastosować metody niemieckiej 126 0 -<br />

Razem: 444<br />

Tabela 6-11. Liczba pomiarów naleŜących do danej klasy stanu technicznego dla metody<br />

niemieckiej wraz z uzupełnieniem diagnozy stanem izolacji celulozowej wg metody niemieckiej<br />

oraz liczba przypadków, które wg kodu IEC potwierdza diagnozę metodą niemiecką<br />

6.2.6. Metoda francuska<br />

Metoda ta uwzględnia te same gazy co metoda polska oraz O 2 – tlen i N 2 - azot,<br />

a ocenę stanu technicznego transformatora przeprowadza się w oparciu o:<br />

- wartości dopuszczalnych stęŜeń gazów rozpuszczonych w oleju (ta sama<br />

tabela wartości dopuszczalnych co dla metody polskiej uzupełniona o wartości<br />

dopuszczalne dla tlenu 8888.9 i dla azotu 66666.7 dla transformatorów<br />

blokowych i sieciowych)<br />

- tablicę sprawdzianów zawartą w tabeli 6-12.


PoniewaŜ zbudowany system nie obejmuje pomiarów stęŜenia tlenu i azotu, to przyjęto,<br />

Ŝe obie te wartości wynoszą zawsze zero i nie przekraczają wartości granicznych. Z<br />

tego powodu przyjęto posługiwanie się tą samą tabelą wartości dopuszczalnych co dla<br />

metody polskiej.<br />

95<br />

Nazwa grupy<br />

uszkodzenia<br />

Warunek<br />

przynaleŜności<br />

uszkodzenia do<br />

grupy<br />

Diagnoza<br />

Warunek dla postawienia<br />

diagnozy<br />

Uszkodzenie elektryczne<br />

C2H<br />

C H<br />

2<br />

4<br />

2<br />

< 1<br />

Grupa acetylenowa<br />

C2H2 przekracza wartość<br />

dopuszczalną<br />

Uszkodzenie elektryczne i C2H<br />

4<br />

> 50 oraz C 2 H 4<br />

termiczne C2H<br />

2<br />

przekracza wartość dopuszczalną<br />

Wyładowania niezupełne o<br />

nieduŜej intensywności nałoŜone<br />

na występujące od czasu do czasu<br />

silne wyładowania<br />

C 2 H 2 < 50 i<br />

C<br />

C<br />

3<br />

3<br />

H<br />

H<br />

8<br />

6<br />

> 1,5<br />

C<br />

C<br />

2<br />

2<br />

H<br />

H<br />

6<br />

4<br />

> 1,5 i<br />

Uszkodzenie elektryczne<br />

C2H<br />

C H<br />

2<br />

4<br />

6<br />

< 1 i<br />

C<br />

C<br />

3<br />

3<br />

H<br />

H<br />

6<br />

8<br />

< 1<br />

Grupa etylenowa<br />

Grupa dwutlenku<br />

węgla<br />

C2H2 nie przekracza wartości<br />

dopuszczalnej<br />

C2H2 i C2H4 nie<br />

przekraczają wartości<br />

dopuszczalnych<br />

Uszkodzenie termiczne<br />

C2H<br />

C H<br />

2<br />

4<br />

6<br />

> 1 i<br />

C<br />

C<br />

3<br />

3<br />

H<br />

H<br />

6<br />

8<br />

> 1<br />

Uszkodzenie elektryczne i C2H<br />

4<br />

C3H<br />

6<br />

< 1 i > 1 lub<br />

termiczne C2H<br />

6<br />

C3H<br />

8<br />

C2H<br />

4<br />

C3H<br />

6<br />

> 1 i < 1, a takŜe<br />

C2H<br />

6<br />

C3H<br />

8<br />

C 2 H 4 , C 2 H 6 , C 3 H 6 , C 3 H 8<br />

wyraźnie (tu przyjęto o 1,5 raza)<br />

przekraczają wartości<br />

dopuszczalne<br />

Normalne starzenie termiczne CO ≤ 0,1<br />

CO 2


96<br />

Nazwa grupy<br />

uszkodzenia<br />

Warunek<br />

przynaleŜności<br />

uszkodzenia do<br />

grupy<br />

Diagnoza<br />

Warunek dla postawienia<br />

diagnozy<br />

Grupa dwutlenku<br />

węgla<br />

C2H2 i C2H4 nie<br />

przekraczają wartości<br />

dopuszczalnych<br />

Uszkodzenie elektryczne; moŜna<br />

oczekiwać wyładowań<br />

niezupełnych niszczących<br />

izolację stałą<br />

CO > 0,1<br />

CO 2<br />

Stale występujące wyładowania<br />

-<br />

Grupa wodoru<br />

Tylko H2 i CH4<br />

przekraczają wartości<br />

dopuszczalne<br />

niezupełne w oleju lub silne<br />

wyładowania niezupełne w<br />

obszarze gazowym<br />

Tabela 6-12. Tablica sprawdzianów (na bazie [<strong>70</strong>])<br />

Klasa stanu technicznego<br />

Liczba pomiarów<br />

Liczba potwierdzeń<br />

diagnozy przez kod<br />

IEC<br />

Normalne starzenie termiczne 111 18<br />

Uszkodzenie elektryczne 16 16<br />

Uszkodzenie elektryczne; moŜna oczekiwać 212 9<br />

wyładowań niezupełnych niszczących izolację<br />

stałą<br />

Uszkodzenie elektryczne i termiczne 1 1<br />

Uszkodzenie termiczne 91 82<br />

Stale występujące wyładowania niezupełne w oleju 2 0<br />

lub silne wyładowania niezupełne w obszarze<br />

gazowym<br />

Wyładowania niezupełne o nieduŜej intensywności 0 -<br />

nałoŜone na występujące od czasu do czasu silne<br />

wyładowania<br />

Uszkodzenie niezidentyfikowane 11 2<br />

Nie moŜna zastosować metody francuskiej 0 -<br />

Razem: 444<br />

Tabela 6-13. Liczba pomiarów naleŜących do danej klasy stanu technicznego dla<br />

metody francuskiej


97<br />

Do zakwalifikowania wyniku do grupy uszkodzenia konieczna jest znajomość stęŜeń<br />

H 2 , CH 4 , C 2 H 2 , C 2 H 4 . JeŜeli brak chociaŜ jednej z wymienionych wartości, to nie moŜna<br />

zastosować metody francuskiej. Przyjęto, Ŝe znajomość stęŜeń pozostałych gazów nie<br />

jest wymagana i przynaleŜność do grupy wodoru sprawdzana jest tylko dla znanych<br />

stęŜeń. W przypadku, gdy w obrębie grupy nie moŜna wystawić diagnozy ze względu<br />

na brak danych o wartościach odpowiednich stęŜeń, to równieŜ nie moŜna zastosować<br />

metody francuskiej. We wszystkich innych przypadkach zaimplementowana metoda<br />

zwróci diagnozę „Uszkodzenie niezidentyfikowane”.<br />

Jak widać z tabeli 6-13 metoda francuska potwierdza metodę kodu IEC w wypadku<br />

uszkodzeń elektrycznych oraz uszkodzeń termicznych. W pozostałych przypadkach<br />

daje ona optymistyczne diagnozy o normalnym starzeniu termicznym lub o uszkodzeniu<br />

elektrycznym z wyładowaniami niezupełnymi. Jednak dzięki tym prognozom rzadkie są<br />

przypadki braku diagnozy.<br />

6.2.7. Metoda kanadyjska<br />

Metoda kanadyjska uwzględnia następujące gazy: H 2 - wodór, CH 4 - metan,<br />

C 2 H 2 - acetylen, C 2 H 4 - etylen, C 2 H 6 - etan, CO – tlenek węgla, CO 2 – dwutlenek<br />

węgla.<br />

Rysunek 6-4. Trójkąt Duvala (oznaczenia w tekście). Odpowiednie wartości<br />

współrzędnych zaznaczono na osiach U, V, W.


Ocenę stanu technicznego transformatora wykonuje się w oparciu o tzw. trójkąt<br />

Duvala (rysunek 6-4), który przedstawia powiązanie proporcji względnych zawartości<br />

gazów z typami uszkodzeń. Metoda ta jest teŜ wspierana przez kontrolę dopuszczalnych<br />

stęŜeń gazów rozpuszczonych w oleju, dla której to przyjęto te same wartości jak w<br />

metodzie polskiej, ale z pominięciem gazów: C 3 H 8 (propan) i C 3 H 6 (propylen). JeŜeli<br />

Ŝaden z gazów nie przekroczył wartości dopuszczalnej, to diagnoza wg metody<br />

kanadyjskiej traktowana jest tylko jako symptom zdiagnozowanego uszkodzenia.<br />

JeŜeli wartości stęŜenia gazów: CH 4 , C 2 H 2 , C 2 H 4 nie są wszystkie znane lub<br />

wszystkie przyjmują wartość zero, to nie moŜna zastosować metody kanadyjskiej.<br />

Postawienie diagnozy wg trójkąta Duvala polega na wyznaczeniu wartości U, V, W<br />

danej wzorami (6-3) i skorelowaniu typu uszkodzenia (tabela 6-14) z uzyskanymi<br />

współrzędnymi U, V, W.<br />

100 ⋅ x<br />

100 ⋅ y<br />

100 ⋅ z<br />

U = [%] V = [%] W = [%] (6-3)<br />

x + y + z<br />

x + y + z<br />

x + y + z<br />

gdzie x, y, z to stęŜenia odpowiednio gazów C 2 H 2 , C 2 H 4 , CH 4 w ppm.<br />

Obszar w trójkącie<br />

Duvala<br />

a<br />

b<br />

c<br />

d<br />

e<br />

f<br />

Diagnoza<br />

Wysokoenergetyczny łuk elektryczny<br />

Łuk niskoenergetyczny, wyładowanie ślizgowe<br />

Wyładowanie niezupełne w powietrzu (ulot)<br />

Punkt gorący o temperaturze poniŜej 200 0 C<br />

Punkt gorący o temperaturze od 200 0 C do 400 0 C<br />

Punkt gorący o temperaturze powyŜej 400 0 C<br />

Tabela 6-14. Diagnoza dla trójkąta Duvala<br />

Metoda identyfikacji obszarów w trójkącie Duvala została zaimplementowana (w<br />

pseudokodzie) w sposób prezentowany w tabeli 6-15.<br />

JeŜeli U > 15 to obszar a lub b lub f<br />

JeŜeli V > 25 to obszar a lub f<br />

JeŜeli V > 40 to obszar a lub f<br />

JeŜeli U > 25 to obszar a<br />

w przeciwnym wypadku to obszar f<br />

w przeciwnym wypadku to obszar a<br />

w przeciwnym wypadku to obszar b<br />

w przeciwnym wypadku obszar c lub d lub e<br />

JeŜeli W > 95 to obszar c<br />

w przeciwnym wypadku to obszar d lub e<br />

JeŜeli V > 47 to obszar e<br />

w przeciwnym wypadku to obszar d.<br />

Tabela 6-15. Implementacja metody kanadyjskiej dla trójkąta Duvala<br />

98


99<br />

Klasa stanu technicznego<br />

Liczba pomiarów<br />

Liczba potwierdzeń<br />

diagnozy przez kod<br />

IEC<br />

Liczba symptomów<br />

uszkodzenia<br />

Wysokoenergetyczny łuk elektryczny 14 10 4<br />

Łuk niskoenergetyczny, wyładowanie ślizgowe 16 2 6<br />

Wyładowanie niezupełne w powietrzu (ulot) 45 4 23<br />

Punkt gorący o temperaturze poniŜej 200 0 C 175 26 75<br />

Punkt gorący o temperaturze od 200 0 C do 400 0 C 150 1 31<br />

Punkt gorący o temperaturze powyŜej 400 0 C 0 0 0<br />

Nie moŜna zastosować metody kanadyjskiej 44 44 -<br />

Razem: 444<br />

Tabela 6-16. Liczba pomiarów naleŜących do danej klasy stanu technicznego dla metody kanadyjskiej<br />

Jak widać z zestawienia z tabeli 6-16 metoda kanadyjska daje odmienne diagnozy niŜ<br />

metoda kodu IEC za wyjątkiem diagnozy „Wysokoenergetyczny łuk elektryczny”<br />

(która teŜ jest dość pewna na podstawie małej liczby symptomów tej diagnozy). Metoda<br />

kanadyjska ma tę zaletę, Ŝe zawsze stawia diagnozę (o ile moŜna ją zastosować tzn.<br />

wyznaczono wartości stęŜeń CH 4 , C 2 H 2 , C 2 H 4 i są one większe niŜ zero), czego nie<br />

moŜna się spodziewać po innych metodach.<br />

6.2.8. Zalecenia eksperta<br />

Ta metoda wywodzi się z metody polskiej i ma za zadanie zaproponowanie<br />

człowiekowi – ekspertowi konkretnych działań w stosunku do transformatora. UŜyty tu<br />

algorytm jest modyfikacją juŜ istniejącego algorytmu [<strong>70</strong>] dającego się zastosować dla<br />

metody polskiej (stęŜenia gazów są zawsze określone). Modyfikacja polega na<br />

dostosowaniu algorytmu do kaŜdego zestawu danych poprzez dodanie warunków do<br />

instrukcji skoku warunkowego. Warunki te to: „nie wiadomo” oraz „nie moŜna określić<br />

kodu IEC”. Z opisywanych wcześniej metod tylko ta posługuje się w pewnych<br />

przypadkach przyrostem gazów palnych (dla gazów analizowanych dla metody<br />

polskiej).


100<br />

Rysunek 6-5. Zalecenia eksperta<br />

Nie ma ścisłego związku pomiędzy przyrostem gazów palnych, a stanem<br />

technicznym transformatora [<strong>70</strong>]. W tej metodzie równieŜ przyrost posłuŜył jedynie<br />

jako wskazówka co do dalszych poczynań, a nie jako podstawa do diagnozy. Norma<br />

miesięcznego przyrostu gazów dla transformatorów blokowych wynosi 30 ppm, a dla<br />

sieciowych – 40 ppm.


Jeszcze jednym problemem przy posługiwaniu się przyrostem gazów w okresie<br />

czasu jest fakt wykonywania okresowych remontów polegających na przykład na<br />

odgazowaniu oleju w celu poprawienia jego właściwości izolacyjnych.<br />

101<br />

Rysunek 6-6. Zmiany ilości gazów palnych w okresach czasu (spadek oznacza<br />

wykonanie odgazowania oleju)<br />

RównieŜ stan techniczny transformatora nie zaleŜy od czasu eksploatacji [<strong>70</strong>] tylko od<br />

warunków eksploatacji np.: od niesymetrycznych obciąŜeń jednofazowych, przeciąŜeń,<br />

warunków atmosferycznych, czy występowanie wyŜszych harmonicznych w sieci<br />

elektroenergetycznej [44].<br />

6.2.9. Analiza porównawcza metod klasycznych<br />

Prezentowane w rozdziale 6 zestawienia diagnoz uzyskanych róŜnymi metodami<br />

zestawione razem prezentuje tabela 6-17. Pominięto tu metodę polską i polską<br />

pogłębioną jako rozwinięcia kodu IEC oraz zalecenia eksperta, który to algorytm nie ma<br />

na celu postawienia diagnozy.<br />

Metoda kodu IEC niemiecka francuska kanadyjska<br />

kodu IEC - (48)64/256/76 (2)126/316/0 (0)79/321/44<br />

niemiecka (48)64/256/76 - (6)46/392/0 (0)38/362/44<br />

francuska (2)126/316/0 (6)46/392/0 - (0)139/305/0<br />

kanadyjska (0)79/321/44 (0)38/362/44 (0)139/305/0 -<br />

Tabela 6-17. Porównanie zgodności diagnoz uzyskiwanych róŜnymi metodami (dla 444 danych);<br />

pierwsza liczba (w nawiasie) oznacza „metody dają zgodny wynik, ale jako niezidentyfikowane<br />

uszkodzenie”; druga liczba (wytłuszczona) oznacza „obie metody dają zgodny wynik”; trzecia liczba –<br />

„metody dają niezgodny wynik”; czwarta liczba – „obu metod nie moŜna zastosować dla uzyskanego<br />

pomiaru”


102<br />

Metoda kodu IEC niemiecka francuska kanadyjska<br />

kodu IEC - 14% 28% 18%<br />

niemiecka 14% - 10% 9%<br />

francuska 28% 10% - 31%<br />

kanadyjska 18% 9% 31% -<br />

Tabela 6-18. Procentowe porównanie zgodności diagnoz uzyskiwanych róŜnymi metodami<br />

(na podstawie tabeli 6-17)<br />

Na podstawie tabel 6-17 i 6-18 moŜna wnioskować, Ŝe nawet stosując jedynie dwie<br />

róŜne metody diagnostyczne uzyskuje się dość rozbieŜne wyniki. Jednak wobec dość<br />

licznych przypadków braku diagnozy lub diagnozy oznaczającej „uszkodzenie<br />

niezidentyfikowane” powinno się stosować (i stosuje się) róŜne metody diagnostyczne,<br />

celem uzyskania moŜliwie wiarygodnego wyniku (diagnozy). NaleŜy przy tym pamiętać<br />

o cechach szczególnych poszczególnych metod podczas stawiania ostatecznej diagnozy:<br />

metoda niemiecka jest bardzo rygorystyczna i z tego powodu mało zgodna z<br />

pozostałymi i często nie dająca wyniku, a metoda francuska daje ogólne wyniki (np.:<br />

przegrzania), co jest m.in. przyczyną większej jej zgodności z pozostałymi metodami<br />

jednak kosztem dokładności diagnozy.<br />

Gdyby zastosować wszystkie 4 metody (opisane w tabelach 6-17 i 6-18), to<br />

zgodność uzyskanych diagnoz wynosi 30 (z czego 20 to przegrzania, 2 to wyładowania<br />

o małej energii i 8 to wyładowanie zupełne o duŜej energii) na 444 przypadki (czyli<br />

niecałe 7%). Jest to spora niedogodność w pracy i dlatego system ekspertowy [11]<br />

uŜywający tychŜe metod powinien zostać uzupełniony o metody sztucznej inteligencji,<br />

które nie opierają swojego działania jedynie na sztywnych regułach jeŜeli-to, ale na<br />

zbiorze pomiarowych danych uczących.<br />

6.3. Metody niestandardowe<br />

6.3.1. Zmodyfikowana metoda a-najbliŜszych sąsiadów<br />

Metoda ta nie opiera się na sztywnych wzorach matematycznych zawartych w<br />

regułach jeŜeli-to klasycznych metod diagnostycznych, ale na istniejących juŜ danych<br />

pomiarowych. Polega ona na badaniu podobieństwa nowego pomiaru do najbliŜszych<br />

10 procent pomiarów juŜ istniejących w bazie danych. Wartość 10% przyjęta została na<br />

podstawie licznych przykładów ksiąŜkowych ([u.24], [u.26], [u.29], [u.33], [u.34])


wyboru danych z bazy opartej na MS Access. Nie postawiono tu formalnie problemu<br />

optymalizacji wyboru grupy najbliŜszych pomiarów (tj. wartości a, co realizowane jest<br />

sprawdzianem krzyŜowym [i.19]), poniewaŜ metoda ta jest jedynie uzupełnieniem do<br />

juŜ stosowanych metod. Celem określenia podobieństwa nowego pomiaru do juŜ<br />

istniejących wprowadza się miarę odległości nowego pomiaru od juŜ istniejących.<br />

103<br />

Opis algorytmu:<br />

1) Dla nowego pomiaru (x p , y p , z p ) w przestrzeni trójwymiarowej dla kodu IEC<br />

wyznaczamy odległości euklidesowe od istniejących (i o określonej klasyfikacji)<br />

N punktów pomiarowych (tworzących zbiór S N ) o współrzędnych (x i , y i , z i ),<br />

gdzie i = 1, 2, ..., N i N>0.<br />

2<br />

2<br />

2<br />

( x y , z );<br />

( x , y , z ) = ( x − x ) + ( y − y ) + ( z − z )<br />

∧ Odli<br />

=<br />

p<br />

,<br />

p p i i i<br />

p i<br />

p i p i (6-4)<br />

i= 1,2,..., N<br />

2) Ze zbioru S N punktów pomiarowych wybieramy 10% połoŜonych najbliŜej<br />

względem nowego pomiaru tworząc zbiór S 10% . Liczność (miarę) zbioru S 10%<br />

oznaczmy jako M przy warunku, Ŝe M > 0.<br />

Uwaga: JeŜeli jako nowy pomiar potraktujemy wynik juŜ<br />

istniejący (w ramach testu), to taka odległość nie<br />

jest uwzględniana.<br />

3) W zbiorze S 10% wyznaczamy odległość maksymalną:<br />

Odl = max{ j = 1,2,..., M :<br />

max<br />

Odl<br />

j<br />

4) Dla kaŜdego elementu zbioru S 10% określamy miarę odległości jako:<br />

∧<br />

Miara<br />

= Odl<br />

− Odl<br />

}<br />

(6-5)<br />

j max j<br />

j=<br />

1 ,2,..., M<br />

(6-6)<br />

5) KaŜdy element zbioru S 10% naleŜy do pewnej klasy stanów technicznych<br />

określonych jako C t , gdzie t=1,2,...,T i T jest liczbą klas. Dla kaŜdej z klas<br />

wyznaczamy sumę zgodności wszystkich punktów pomiarowych naleŜących do<br />

danej klasy do nowego punktu pomiarowego względem miary odległości:<br />

∧<br />

t=<br />

1,2,..., T<br />

M<br />

∑<br />

β = Miara<br />

(6-7)<br />

Ct<br />

j=<br />

1<br />

( x j , y j , z j ) ∈C<br />

t<br />

j<br />

6) Wynikiem tej metody jest klasyfikacja nowego pomiaru (x p , y p , z p ) do takiej<br />

klasy C t0 , Ŝe:<br />

β = max{ t = 1,2,... T :<br />

β }<br />

Ct<br />

0 Ct<br />

(6-8)


(jeŜeli dwie lub więcej klas posiada taką samą maksymalną sumę zgodności, to<br />

implementacja metody zwraca klasę pierwszą wg alfabetycznej nazwy).<br />

7) Miarą jakości udzielanej odpowiedzi jest wartość zaufania wyznaczana dla<br />

kaŜdej z klas wg wzoru:<br />

Z<br />

Ct<br />

0<br />

= T<br />

β<br />

∑<br />

t=<br />

1<br />

Ct<br />

0<br />

β<br />

Ct<br />

104<br />

(6-9)<br />

ZauwaŜmy, Ŝe wartość M wyznaczana w punkcie 2 powyŜszego algorytmu jest większa<br />

lub równa wartości a w metodzie najbliŜszych sąsiadów.<br />

Przykład 6-1<br />

Niech dany będzie N=400 elementowy zbiór danych uczących S N . Metoda 40-najbliŜszych<br />

sąsiadów zawsze uwzględnia dokładnie 40 najbardziej podobnych wyników do nowego<br />

wyniku pomiaru, a zaproponowana metoda 10% najbliŜszych sąsiadów uwzględnia<br />

przynajmniej 40 najbliŜszych wyników (w przypadku, gdy w tej samej odległości<br />

maksymalnej Odl max jest wiele wyników, to uwzględnia je wszystkie). Dopiero<br />

zaproponowana w punkcie 4 powyŜszego algorytmu Miara j (wzór 6-6) zrówna w działaniu<br />

obie metody poprzez zignorowanie w algorytmie wyników znajdujących się w odległości<br />

maksymalnej Odl max . Jednak metody te będą róŜne, gdy zastosuje się wzór:<br />

Miara<br />

e<br />

j<br />

= M<br />

∑<br />

i=<br />

1<br />

odl j<br />

e<br />

odli<br />

(6-10)<br />

jako wyznaczanie miary odległości, który to jest równieŜ uŜywany [i.19] w metodzie a<br />

najbliŜszych sąsiadów.<br />

Metoda ta w wykonanym oprogramowaniu załączonym do pracy zastosowana jest<br />

równieŜ w 10-wymiarowej przestrzeni pomiarów stęŜeń gazów i polega na wyznaczeniu<br />

stopnia podobieństwa nowego pomiaru do juŜ istniejących (i sklasyfikowanych) wg<br />

odległości euklidesowej w tej przestrzeni. W przypadku braku wyznaczenia wartości<br />

stęŜenia danego gazu wymiar przestrzeni pomiarów jest redukowany i róŜnica stęŜeń<br />

(celem wyznaczenia odległości euklidesowej) dla danego gazu wynosi 0 (moŜliwe jest<br />

teŜ wyznaczenie średniej wartości pomiarów uzyskanych w danym wymiarze). Z<br />

powodu silnego powiązania metody najbliŜszych sąsiadów z właściwościami zbioru<br />

danych charakter diagnozy w przestrzeni 10-wymiarowej ma jedynie charakter<br />

pomocniczy.<br />

Celem zgrubnego ustalenia jakości zaproponowanej metody przeprowadzono<br />

zestawienie polegające na potraktowaniu kaŜdego pomiaru jako nieznanego i próba jego<br />

klasyfikacji powyŜszym algorytmem dla przestrzeni trójwymiarowej. Dzięki<br />

porównaniu rzeczywistej diagnozy (choć wzorowanej na kodzie IEC) z diagnozą z<br />

zaproponowanego algorytmu uzyskano zestawienie w tabeli 6-19.


Rzeczywista diagnoza<br />

Średnie zaufanie do<br />

diagnozy<br />

poprawnej/błędnej<br />

Liczba diagnoz<br />

105<br />

poprawnych/błędnych<br />

Bez uszkodzeń 44% / 57% 30 / 17<br />

Wyładowania niezupełne o duŜej energii - / 67% 0 / 6<br />

Wyładowania niezupełne o małej energii - / 71% 0 / 11<br />

Wyładowania zupełne o duŜej energii 58% / 53% 14 / 7<br />

Wyładowania zupełne o małej energii - / 69% 0 / 3<br />

Przegrzanie o temperaturę < 150°C - / 46% 0 / 2<br />

Przegrzanie o temperaturę 150°C - 300°C - / 44% 0 / 3<br />

Przegrzanie o temperaturę 300°C - <strong>70</strong>0°C 66% / 47% 60 / 12<br />

Przegrzanie o temperaturę > <strong>70</strong>0°C 80% / 52% 84 / 8<br />

Niezidentyfikowane uszkodzenie 66% / 58% 75 / 34<br />

Nie moŜna zastosować metody kodu IEC. 78<br />

Tabela 6-19 Zestawienie diagnoz zmodyfikowaną metodą a-najbliŜszych sąsiadów<br />

Stosując metodę 10% najbliŜszych sąsiadów na zbiorze 366 danych uczących, dla miary<br />

odległości opisanej w punkcie 4 algorytmu (wzorem 6-6) moŜna przyjąć, Ŝe<br />

zastosowano metodę 36 najbliŜszych sąsiadów. Z tabeli 6-19 moŜna wywnioskować, Ŝe<br />

pomimo dość wysokiej wartości 36 dla porównań najbliŜszych sąsiadów dane uczące<br />

klasyfikowane jako „Przegrzanie o temperaturze ponad <strong>70</strong>0 o C” dość dobrze są<br />

klasyfikowane z dość duŜą wartością zaufania do klasyfikacji, czyli zajmują odrębny<br />

obszar w przestrzeni danych uczących i są w niewielkim stopniu „wymieszane” z<br />

danymi klasyfikowanymi do innych klas. Znaczne róŜnice w liczbie pomiarów danej<br />

klasy (2 pomiary sklasyfikowane jako „Przegrzanie o temperaturę < 150 o C” i 109<br />

pomiarów sklasyfikowanych jako „Niezidentyfikowane uszkodzenie”) równieŜ istotnie<br />

utrudniają znalezienie optymalnej liczby najbliŜszych sąsiadów.<br />

6.3.2. Metoda rozmytego kodu IEC<br />

Metoda kodu IEC opiera się na określaniu przynaleŜności nowego pomiaru do<br />

określonego podobszaru przestrzeni 3-wymiarowej. Z tego powodu udzielana<br />

odpowiedź o klasyfikacji nie daje informacji o tym, jak blisko krawędzi danego<br />

podobszaru znajduje się pomiar – czyli nie mamy informacji o pewności udzielanej<br />

diagnozy. W związku z tym, Ŝe podobszary w metodzie kodu IEC są z góry określone,<br />

to nie zostanie wprowadzona Ŝadna umowna funkcja oceniająca przynaleŜność wyniku<br />

do podobszaru. Zamiast rozmywania zbioru opisującego klasyfikację kodem IEC niech<br />

rozmyty zostanie wynik pomiaru. Przyjęto, Ŝe rezultaty DGA obarczone są błędem


pomiarowym ±1. Iloraz dwóch wyników obarczonych błędem pomiaru teŜ jest<br />

wyznaczany z pewną dokładnością określoną za pomocą metody róŜniczki zupełnej,<br />

która polega na wyznaczeniu pochodnych cząstkowych (wzór 6-11).<br />

a + ∆a<br />

a ⎛ ∂f<br />

∂f<br />

⎞ a ⎛ 1 − a ⎞<br />

( a,<br />

b)<br />

± ∆f<br />

( a,<br />

b)<br />

= = ± ⎜ ⋅ ∆a<br />

+ ⋅ ∆b⎟<br />

= ± ⎜ ⋅ ∆a<br />

+ ⋅ ∆b⎟<br />

(6-11)<br />

b + ∆b<br />

b ⎝ ∂a<br />

∂b<br />

⎠ b ⎝ b b ⎠<br />

f<br />

2<br />

JeŜeli dla kaŜdego z trzech wymiarów X, Y, Z w przestrzeni kodu IEC wyznaczymy<br />

dokładność pomiaru, to rzeczywisty wynik znajdować się będzie wewnątrz sześcianu o<br />

środku w punkcie XYZ i długościach ścian odpowiednio 2∆X, 2∆Y, 2∆Z (które są<br />

wyznaczone za pomocą róŜniczki zupełnej). Stopień pokrycia się tego sześcianu z<br />

obszarem określającym diagnozę metodą kodu IEC daje wyznacznik dotyczący<br />

pewności udzielanej odpowiedzi.<br />

Na podstawie danych istniejących w bazie moŜna wyznaczyć średnią wartość pewności<br />

udzielanej odpowiedzi dla danej klasy uszkodzenia:<br />

106<br />

Rezultat IEC<br />

Średnie zaufanie do<br />

diagnozy<br />

Liczba diagnoz<br />

Bez uszkodzeń 40,68% 33<br />

Wyładowania niezupełne o duŜej energii 91,99% 2<br />

Wyładowania niezupełne o małej energii 41,88% 11<br />

Wyładowania zupełne o duŜej energii 97,50% 20<br />

Wyładowania zupełne o małej energii <strong>70</strong>,49% 10<br />

Przegrzanie o temperaturę < 150°C 45,18% 29<br />

Przegrzanie o temperaturę 150°C - 300°C 75,84% 24<br />

Przegrzanie o temperaturę 300°C - <strong>70</strong>0°C 82,97% 79<br />

Przegrzanie o temperaturę > <strong>70</strong>0°C 97,01% 94<br />

Niezidentyfikowane uszkodzenie 84,89% 64<br />

Błąd. Nie moŜna zastosować metody kodu IEC. 78<br />

Tabela 6-20 Średnia wartość zaufania do stawianej diagnozy wg metody kodu IEC<br />

Na podstawie analizy tabeli 6-18 widać wyraźnie, Ŝe diagnozy „Bez uszkodzeń”,<br />

„Przegrzanie o temperaturze < 150°C” oraz „Wyładowania niezupełne o małej energii”<br />

są diagnozami raczej niepewnymi. Diagnozy dotyczące przegrzań o temperaturze ><br />

150°C są pewne, tak jak pewne są diagnozy o wyładowaniach zupełnych (wyładowania<br />

niezupełne o duŜej energii ze względu na małą liczbę przypadków nie naleŜy traktować<br />

w sposób reprezentatywny).


107<br />

6.3.3. Dyskretyzacja<br />

Niektóre algorytmy uczenia się reguł (np.: algorytmy konstruowania drzewa<br />

decyzyjnego) nie mogą być wykorzystane (lub ich adaptacja wiąŜe się ze znacznym<br />

wzrostem nakładów obliczeniowych [12]) do klasyfikacji w przypadku, gdy badane<br />

obiekty opisane są za pomocą ilościowych (rzeczywistych) cech (atrybutów)<br />

diagnostycznych. MoŜliwe jest jednak wykonanie dyskretyzacji, która polega [i.20] na<br />

zastąpieniu wszystkich atrybutów ilościowych atrybutami wyliczeniowymi<br />

(porządkowymi), przy czym kaŜda nowa wartość dyskretna odpowiada przedziałowi<br />

wartości ciągłych zastępowanego atrybutu i zachowane jest uporządkowanie tychŜe<br />

przedziałów. W wyniku tego procesu uzyskujemy cechy wyliczeniowe o skończonej i<br />

zazwyczaj niewielkiej (dobranej do zadania) liczbie wartości, a dzięki temu:<br />

- zmniejsza się złoŜoność obliczeń<br />

- algorytmy uczenia się reguł konstruują proste i łatwe do interpretacji reguły, w<br />

wyniku ich ogólności.<br />

Sposób wykonania dyskretyzacji moŜna odgórnie narzucić lub dopasować do zbioru<br />

uczącego. Wśród tych drugich wprowadzony jest podział [i.20] na metody:<br />

- lokalne i globalne<br />

- baz nadzoru i z nadzorem<br />

- zstępujące i wstępujące.<br />

W metodach globalnych cała dziedzina atrybutu rzeczywistego dzielona jest na równe<br />

przedziały odpowiadające wartościom tworzonego atrybutu wyliczeniowego, czyli<br />

nowy atrybut wyliczeniowy zaleŜy jedynie od zastępowanego atrybutu ciągłego. W<br />

metodach lokalnych podczas wykonywania przedziałów dyskretyzacji uwzględnia się<br />

równieŜ inne atrybuty (a nawet wszystkie) niŜ zastępowany atrybut rzeczywisty, w<br />

wyniku czego uzyskane przedziały są róŜne w róŜnych obszarach dziedziny<br />

zastępowanego atrybutu. Szczególnie zaznacza się to w przypadku diagnostyki, gdy<br />

dysponujemy zbiorem uczącym z wykonaną diagnozą i to właśnie wartość owej<br />

diagnozy jest uwzględniana podczas wykonywania dyskretyzacji lokalnej.<br />

Metody dyskretyzacji z nadzorem opierają się na znajomości kategorii, do której naleŜą<br />

elementy zbioru uczącego (np.: diagnozy), a metody bez nadzoru nie uwzględniają owej<br />

kategorii.<br />

Metody zstępujące polegają na zastosowaniu podziału dziedziny atrybutu rzeczywistego<br />

na coraz to mniejsze przedziały. Metody wstępujące najpierw dzielą dziedzinę na


drobne przedziały zawierające jedną wartość opisującą elementy zbioru uczącego i<br />

występującą w usuwanym atrybucie rzeczywistym, a następnie na łączeniu przedziałów<br />

w większe.<br />

Celem prostego wygenerowania reguł diagnostycznych w oparciu o proces<br />

dyskretyzacji określmy pojęcie pochodzące z grupowania danych uczących - klastra. Za<br />

klaster uwaŜa się [i.20] grupę danych uczących podobnych do siebie ze względu na<br />

pewną miarę podobieństwa. W analizowanym w pracy zagadnieniu uznajmy dyskretną<br />

miarę tego podobieństwa: klaster tworzy grupa danych naleŜących do pewnego<br />

skończonego obszaru, która to grupa jest jednej kategorii. W przypadku, gdy<br />

przynajmniej jeden element z danych uczących naleŜący do wybranego obszaru jest<br />

innej kategorii niŜ pozostałe uznajemy, Ŝe elementy nie są do siebie podobne i nie<br />

tworzą klastra. JeŜeli w analizowanym obszarze brak elementów zbioru uczącego, to<br />

klaster nazwijmy „pustym”. Dzięki takiemu określeniu pojęcia klastra wykonanie<br />

dyskretyzacji spowoduje wygenerowanie reguł jeŜeli-to, które brzmią:<br />

„JeŜeli nowy, klasyfikowany obiekt naleŜy do wybranego obszaru, to jest on<br />

tej klasy co wszystkie, znane uprzednio elementy uczące naleŜące do tego<br />

obszaru (a jeŜeli nie ma ich wcale, to nie jest on klasyfikowany).”<br />

108<br />

Opis zastosowanego algorytmu:<br />

1) Określamy skończoną n-wymiarową (dla n∈ℵ) przestrzeń taką, Ŝe:<br />

P<br />

1 1<br />

n n<br />

n<br />

= xmin, xmax<br />

× ... × xmin,<br />

xmax<br />

⊂ R<br />

(6-12)<br />

w której zawarte są wszystkie n+1 wymiarowe dane uczące x naleŜące do k<br />

kategorii (klas), takie Ŝe:<br />

1 1<br />

n n<br />

x ∈ xmin,<br />

xmax<br />

× ... × xmin,<br />

xmax<br />

× { klasa1,...,<br />

klasak}<br />

(6-13)<br />

Niech O będzie zbiorem rozłącznych obszarów C takich, Ŝe:<br />

∧<br />

C i ∩ C j = ∅<br />

i , j = 1,2,...,|| O ||<br />

(6-14)<br />

o<br />

U || ||<br />

i=<br />

1<br />

C<br />

i<br />

=<br />

(6-15)<br />

P<br />

2) Niech P będzie pierwszym obszarem do określenia, czy znajdujące się w nim dane<br />

tworzą klaster.<br />

3) Czy wszystkie obszary ze zbioru O wyodrębniają grupy danych uczących<br />

naleŜących do jednej klasy (czy dane uczące zawarte w kaŜdym z obszarów<br />

tworzą klaster) JeŜeli tak, to KONIEC.


4) KaŜdy z obszarów C, który nie jest klastrem, niech zostanie podzielony na<br />

mniejsze obszary tak, Ŝe kaŜdy przedział wyznaczający ów obszar, dzielony jest<br />

na pół (na przedziały lewostronnie domknięte; w przypadku podziału przedziału<br />

obustronnie domkniętego, na przedział lewostronnie domknięty i przedział<br />

obustronnie domknięty). Podzielone obszary, które nie są klastrami niech zostaną<br />

usunięte ze zbioru O, a ich miejsce niech zajmą uzyskane obszary z ich podziałów.<br />

Wykonać punkt 3 algorytmu ponownie.<br />

<br />

Algorytm moŜna rozszerzyć na dane uczące zawierające równieŜ atrybuty<br />

wyliczeniowe.<br />

109<br />

Jako sprawdzenie działania tego algorytmu uŜyto trójwymiarowej przestrzeni<br />

P wyznaczonej (omówiono w rozdziale 7) dla kodu IEC takiej, Ŝe:<br />

P=〈0; 3,214286〉 × 〈0,07361456; 12,55556〉 × 〈0,0<strong>70</strong>58824; 12,7619〉 (6-16)<br />

Zastosowano teŜ 240 przykładowych (omówiono w rozdziale 7) danych<br />

uczących. W wyniku wykonania algorytmu dyskretyzacji opisanego w tym rozdziale<br />

uzyskano 182 reguły jeŜeli-to, które potrafiły skutecznie diagnozować wszystkie dane<br />

uczące.<br />

X Y Z Diagnoza Liczba<br />

pomiarów<br />


110<br />

6.3.4. Drzewo decyzyjne<br />

Drzewo decyzyjne jest zestawem węzłów (warunków podejmowania decyzji) i<br />

gałęzi (moŜliwych wariantów decyzji), które w swojej konstrukcji zawiera reguły jeŜelito.<br />

Węzły drzewa zawierają testy na wartościach atrybutów wyliczeniowych, gałęzie<br />

drzewa zawierają wartości tychŜe atrybutów, a liście drzewa część decyzyjną<br />

(realizującą klasyfikację, tu zawierające diagnozę). Algorytm konstrukcji drzewa<br />

decyzyjnego polega ma na celu wykonanie takiej konstrukcji drzewa (dzięki<br />

wyznaczaniu entropii) Ŝeby wykonać moŜliwie mało węzłów, liści oraz Ŝeby odległości<br />

(mierzone w liczbie węzłów) między korzeniem drzewa (pierwszym z węzłów), a liśćmi<br />

były moŜliwie małe.<br />

Opis zastosowanego algorytmu:<br />

1) Niech będzie dany zbiór danych uczących P określonych przez n atrybutów<br />

wyliczeniowych i jeden przyjmujący wartości klasy.<br />

1 1 1 2 2 2<br />

n n n<br />

P = { x1 , x2,...,<br />

xm<br />

1}<br />

× { x1<br />

, x2<br />

,..., xm2}<br />

× ...{ x1<br />

, x2<br />

,..., xmn}<br />

× { klasa1,<br />

klasa2,...,<br />

klasak}<br />

, (6-17)<br />

gdzie k jest liczbą klas, ml liczbą wartości dyskretnych dla<br />

l-tego atrybutu i l = 1,2,...,<br />

n.<br />

Niech<br />

P = będzie licznością zbioru takich danych uczących, które dla l-tego<br />

l<br />

l x q<br />

wymiaru przyjmują wartość<br />

l l l l<br />

x , taką Ŝe x ∈ x , x ,..., x }.<br />

l<br />

q<br />

q<br />

{<br />

1 2<br />

ml<br />

Niech<br />

P = będzie licznością zbioru takich danych uczących, które dla l-<br />

klasar<br />

l<br />

l xq<br />

tego wymiaru przyjmują wartość<br />

l l l l<br />

x , taką Ŝe x ∈ x , x ,..., x } oraz przyjmują wartość<br />

l<br />

q<br />

q<br />

{<br />

1 2<br />

ml<br />

klasa ∈ klasa , klasa ,..., klasa } , gdzie r=1,2,…,k i k jest liczbą klas.<br />

r<br />

{<br />

1 1<br />

k<br />

2) Dla kaŜdego atrybutu l z n atrybutów wyliczeniowych wyznaczmy wartość<br />

entropii zgodnie ze wzorem 6-18.<br />

E ( P)<br />

=<br />

l<br />

ml<br />

∑<br />

P<br />

l = x<br />

P<br />

l<br />

q<br />

k<br />

∑<br />

q= 1 r = 1<br />

⎛<br />

⎜ P<br />

⎜−<br />

⎜ P<br />

⎝<br />

klasa<br />

l<br />

l = x<br />

q<br />

l<br />

q<br />

l = x<br />

r<br />

P<br />

klasa<br />

l<br />

l = x<br />

3) Wybieramy atrybut l 0 , dla którego wyznaczona wartość entropii ( P)<br />

log 2<br />

P<br />

q<br />

l<br />

q<br />

l = x<br />

r<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

El<br />

o<br />

(6-18)<br />

najmniejsza. Dla zbioru P będzie ona tworzyć korzeń drzewa, a wychodzące z niego<br />

gałęzie drzewa tworzyć będą wartości z atrybutu l 0 .<br />

jest


0<br />

4) Dla kaŜdej wartości x l q<br />

(gdzie q=1,2,…,ml 0 ) atrybutu l 0 wybieramy zbiór<br />

0<br />

danych uczących P =<br />

l , które dla atrybutu l<br />

0<br />

0 przyjmują wartość x . JeŜeli wszystkie<br />

l<br />

0<br />

x q<br />

elementy tego zbioru są jednej klasy, to tworzymy liść drzewa kończąc algorytm. JeŜeli<br />

tak nie jest, to uznajemy za zbiór uczący P zbiór P =<br />

l i wykonujemy punkt 2.<br />

0<br />

W wyniku przeprowadzenia algorytmu konstrukcji drzewa decyzyjnego<br />

uzyskujemy uproszczoną reprezentację zbioru reguł uzyskanych w wyniku<br />

dyskretyzacji. Ta uproszczona forma prezentacji umoŜliwia takŜe redukcję liczby reguł,<br />

jeŜeli okaŜe się, Ŝe na ty samym poziomie drzewa na sąsiednich gałęziach liście są tej<br />

samej klasy.<br />

Przykład 6-2<br />

l<br />

0<br />

x q<br />

l q<br />

{ }<br />

111<br />

Niech będzie dany 4-elementowy zbiór uczący P={ 0 ,1)<br />

;czarny , 1 ,2);niebieski<br />

,<br />

{ 2 ,3);niebieski}<br />

, { 3 ,4 ,czarny}}, którego elementy opisują podział (po dyskretyzacji)<br />

przedziału 1 , 4 i naleŜą do zbioru klas {czarny, niebieski}. W wyniku konstrukcji drzewa<br />

decyzyjnego otrzymujemy:<br />

<br />

{ }<br />

JeŜeli badana wartość x naleŜąca do przedziału 1 , 4 naleŜy do obszaru<br />

- 0 ,1)<br />

to jest klasy czarny.<br />

- 1 ,2)<br />

to jest klasy niebieski.<br />

- 2 ,3)<br />

to jest klasy niebieski.<br />

- 3 , 4 to jest klasy czarny.<br />

PoniewaŜ wartości dyskretne uzyskane w wyniku dyskretyzacji na tym samym poziomie<br />

gałęzi opisują kolejne przedziały i są tej samej klasy liście na nich, to moŜna połączyć<br />

gałęzie uzyskując redukcję liczby reguł. Dla przykładu:<br />

JeŜeli badana wartość x naleŜąca do przedziału 1 , 4 naleŜy do obszaru<br />

- 0 ,1)<br />

to jest klasy czarny.<br />

- 1 ,3)<br />

to jest klasy niebieski.<br />

- 3 , 4 to jest klasy czarny.<br />

Jako sprawdzenie działania tego algorytmu uŜyto trójwymiarowej przestrzeni<br />

P wyznaczonej (omówiono w rozdziale 7) dla kodu IEC opisanej wzorem 6-16 i<br />

podzielonej na 182 podobszary w wyniku dyskretyzacji dla 240 przykładowych<br />

(omówiono w rozdziale 7) danych uczących. W wyniku wykonania algorytmu budowy<br />

drzewa decyzyjnego oraz redukcji zawartych w konstrukcji drzewa reguł uzyskano<br />

ostatecznie 112 reguł jeŜeli-to, które potrafiły skutecznie diagnozować wszystkie dane<br />

uczące. Pomimo znacznej redukcji liczby praw względem dyskretyzacji, nadal<br />

uzyskujemy wiele reguł, co wynika ze złoŜoności zbioru uczącego.


112<br />

6.3.5. Budowanie reguł za pomocą algorytmu genetycznego<br />

Algorytm dyskretyzacji i budowane w oparciu o niego drzewo decyzyjne moŜe<br />

nie prowadzić do znacznej redukcji liczby reguł jeŜeli-to uŜywanych do klasyfikacji w<br />

przypadku zbioru trudnoseparowalnych danych. Wobec tego warto sprawdzić, czy<br />

algorytm redukcji liczby reguł oparty na algorytmie genetycznym [58] potrafi dokonać<br />

tego skutecznie. W odróŜnieniu od drzewa decyzyjnego nie przeprowadzi on wyboru<br />

jednego z argumentów opisujących dane uczące na korzeń drzewa, co powoduje pewne<br />

uporządkowanie reguł jeŜeli-to za względu na ów argument. Algorytm genetyczny w<br />

sposób losowy, choć ukierunkowany przeszuka zbiór moŜliwych wartości argumentów<br />

opisujących dane uczące i postara się wybrać moŜliwie najbardziej charakterystyczne<br />

nie dla całego zbioru uczącego, ale dla całej klasy. Zbiór uczący zostanie podzielony na<br />

rozłączne podzbiory zawierające dane pomiarowe jednej klasy i dla kaŜdego z nich<br />

algorytm genetyczny postara się odnaleźć moŜliwie reprezentatywny zestaw atrybutów.<br />

Po zakończeniu pracy algorytmu dane uczące posiadające owe, wyselekcjonowane<br />

cechy zostaną odrzucone ze zbioru reprezentantów danej klasy, a na pozostałych<br />

algorytm zadziała ponownie. Procedura powtórzy się, aŜ do wyselekcjonowania<br />

zestawu wartości cech charakterystycznych dla danej klasy.<br />

Opis zastosowanego algorytmu:<br />

1) Niech będzie dany zbiór danych uczących P określonych przez n atrybutów<br />

wyliczeniowych i jeden przyjmujący wartości klasy.<br />

1 1 1 2 2 2<br />

n n n<br />

P = { x1 , x2,...,<br />

xm<br />

1}<br />

× { x1<br />

, x2<br />

,..., xm2}<br />

× ...{ x1<br />

, x2<br />

,..., xmn}<br />

× { klasa1,<br />

klasa2,...,<br />

klasak}<br />

, (6-19)<br />

gdzie k jest liczbą klas, ml liczbą wartości dyskretnych dla<br />

l-tego atrybutu i l = 1,2,...,<br />

n.<br />

Zbiór danych uczących P podzielmy na k rozłącznych podzbiorów ze względu<br />

na wartości atrybutu opisującego klasę.<br />

klasa<br />

U k<br />

P = Pklasa<br />

∪ Pklasa<br />

∪...<br />

∪ Pklasa<br />

= P , gdzie<br />

1<br />

2<br />

k klasar<br />

r=<br />

1<br />

1 1 1 2 2 2<br />

n n n<br />

{ x1 , x2,...,<br />

xm<br />

1}<br />

× { x1<br />

, x2<br />

,..., xm2}<br />

× ...{ x1<br />

, x2<br />

,..., xmn}<br />

{ klasar<br />

P<br />

r<br />

=<br />

×<br />

}<br />

(6-20)<br />

Przyjmujemy, Ŝe wartość r=1 (gdzie r=1,2,…,k i k jest liczbą klas).<br />

2) Dla ustalonej wartości r dzielimy zbiór P na dwa zbiory: zbiór elementów POS<br />

klasyfikowanych jako klasa r i zbiór pozostałych elementów (NEG).<br />

POS =<br />

P klasar<br />

NEG = P /<br />

(6-21)<br />

3) Wszystkie wartości wyliczeniowe z przestrzeni n-wymiarowej, które przyjmują<br />

dane uczące, kodujemy jako geny (przyjmujące wartość 0 lub 1) na kolejnej pozycji w<br />

P klasar


chromosomie - począwszy od wartości z pierwszego wymiaru, a skończywszy na<br />

wartościach z n-tego wymiaru (wzór 6-22).<br />

1 1 1 2 2 2 n n n<br />

chrom= x , x2,...,<br />

xm<br />

1,<br />

x1<br />

, x2<br />

,..., xm2,......<br />

x1<br />

, x2<br />

,..., x<br />

(6-22)<br />

1 mn<br />

Zapisanie wartości 1 w genie na danej pozycji chromosomu, do której przypisana jest<br />

wartość z atrybutu<br />

postaci:<br />

113<br />

t<br />

xs<br />

oznacza zakodowanie reguły jeŜeli-to (zwanej kompleksem)<br />

„JeŜeli badany obiekt przyjmuje dla t-tego atrybutu wartość<br />

t<br />

x<br />

s<br />

, to jest on klasy r.”<br />

MoŜliwe jest teŜ zakodowanie w chromosomie więcej niŜ jednej wartości genu 1. JeŜeli<br />

geny te występuję w jednym atrybucie, to pomiędzy nimi w regule jeŜeli-to (nadal<br />

nazywanej kompleksem) wstawiany jest operator logiczny OR, a jeŜeli geny występują<br />

w róŜnych atrybutach – AND.<br />

Przykład 6-3<br />

Niech będzie zakodowanych w chromosomie 6 genów: x ∈ 0,1)<br />

, x ∈ 1,2)<br />

, x ∈ 2, 3 ,<br />

y ∈ 10,20) , y ∈ 20,25)<br />

, ∈ 25, 30<br />

0 ,3 × 10,30 .<br />

y będących wynikiem dyskretyzacji przestrzeni:<br />

Chromosom o zapisie genów 101010 oznacza regułę jeŜeli-to:<br />

„JeŜeli nowy, badany obiekt opisany przez (x,y) spełnia warunki takie, Ŝe<br />

x ∈ 0,1)<br />

∨ x∈<br />

2,3 ∧ y ∈ 20,25 , to badany obiekt jest badanej klasy r (gdyŜ naleŜy do<br />

( ) )<br />

zbioru POS).”<br />

POS<br />

NEG<br />

⎛<br />

⎞<br />

WPOS<br />

∑Cl( Posi<br />

) + W ⎜<br />

NEG<br />

NEG − Cl( Neg<br />

j<br />

) ⎟<br />

∑<br />

i= 1<br />

i<br />

f chrom<br />

⎝<br />

= 1<br />

( ) =<br />

⎠<br />

, gdzie<br />

W POS + W NEG<br />

+<br />

W<br />

POS<br />

∈R ,<br />

POS<br />

NEG<br />

+<br />

W<br />

NEG<br />

∈R - wagi określające istotność poprawnej klasyfikacji<br />

chrom – binarna reprezentacja chromosomu<br />

POS ∈ℵ, NEG ∈ℵ - liczność zbiorów POS i NEG<br />

Cl(Pos i )= 1 - gdy i-ty element zbioru POS jest klasyfikowany<br />

{ 0 - gdy i-ty element zbioru POS nie jest klasyfikowany<br />

POS<br />

∑<br />

( )<br />

Cl Pos i<br />

- liczba klasyfikowanych elementów zbioru POS<br />

i=<br />

1<br />

Cl(Neg j ) 1 - gdy j-ty element zbioru NEG jest klasyfikowany<br />

{<br />

= 0 - gdy j-ty element zbioru NEG nie jest klasyfikowany<br />

NEG<br />

∑<br />

j = 1<br />

Cl<br />

( )<br />

Neg j<br />

- liczba klasyfikowanych elementów zbioru NEG<br />

(6-23)<br />

Algorytm genetyczny ma na celu takie dobranie zestawu wartości 1, Ŝeby opisywały<br />

one moŜliwie duŜo elementów zbioru POS i moŜliwie mało za zbioru NEG. Najlepszym


ozwiązaniem jest znalezienie przez algorytm genetyczny takiego prawa, które<br />

klasyfikuje jako klasę r wszystkie dane uczące ze zbioru POS i Ŝadnych danych ze<br />

zbioru NEG. Zadanie to zakodowane jest jako próba maksymalizacji (na tyle na ile<br />

moŜe zrealizować zadanie optymalizacji algorytm genetyczny, co było opisane w<br />

rozdziale 3) funkcji przystosowania danej wzorem 6-23.<br />

114<br />

Określamy parametry pracy algorytmu genetycznego:<br />

a) prawdopodobieństwo mutacji: 1 na tworzony chromosom<br />

b) prawdopodobieństwo krzyŜowania jednopunktowego: 100%<br />

c) maksymalna liczba generacji: 200<br />

d) liczba osobników w generacji: 30<br />

e) selekcja ruletkowa<br />

f) prawdopodobieństwo zostania rodzicem (wg wzoru 3-1).<br />

Wykonane oprogramowanie dopuszcza uŜycie jeszcze jednej funkcji przystosowania,<br />

która moŜe jednak przyjąć wartość zero i w takim przypadku chromosom uznany jest za<br />

martwy i odbywa się jego kolejne generowanie jak w populacji startowej. W razie<br />

takiego losowania przystosowanie moŜe nadal wynosić zero, więc ustala się jako<br />

dodatkowy parametr pracy algorytmu genetycznego liczbę takich prób „oŜywienia”<br />

chromosomu. Działanie algorytmu z taką funkcją okazało się gorsze niŜ z podaną<br />

wzorem 6-23 i dlatego nie będzie szerzej omawiane w pracy.<br />

Ustalamy wartości uzyskania generacji startowej algorytmu:<br />

a) prawdopodobieństwo wylosowania jedynki w genie: 50%<br />

b) ile do generacji startowej wprowadzić danych uczących tzw. hipotez ze zbioru<br />

POS (ilościowo lub procentowo): 0 - co oznacza brak hipotez<br />

Uruchamiamy algorytm genetyczny z zadanymi parametrami i uzyskujemy z niego<br />

najlepiej przystosowanego osobnika, który koduje w swoich genach prawo jeŜeli-to.<br />

Wszelkie elementy ze zbioru POS, które są klasyfikowane uzyskanym prawem<br />

(kompleksem), usuwane są ze zbioru POS i algorytm genetyczny uruchamiany jest<br />

ponownie. Tworząc kolejny kompleks, który jest zbiorem wartości atrybutów<br />

wyliczeniowych połączonych ze sobą operatorem logicznym AND, dodajemy go do<br />

poprzedniego z uŜyciem operatora logicznego OR tworząc tzw. sympleks. Powtarzanie


algorytmu genetycznego trwa tak długo, aŜ zbiór POS będzie pusty i uzyskamy<br />

sympleks, który potrafi poprawnie klasyfikować wszystkie dane uczące klasy r.<br />

4) JeŜeli r=k, to KONIEC – uzyskano k sympleksów klasyfikujących dane uczące.<br />

JeŜeli r


NaleŜy teŜ mieć świadomość, Ŝe dla kaŜdej klasy wyodrębniane są zbiory POS i<br />

NEG i na nich pracuje algorytm genetyczny. Tak więc moŜe dojść do sytuacji, Ŝe<br />

skonstruowane przez algorytm genetyczny reguły opisane są na przedziałach<br />

nachodzących na siebie, a nie rozłącznych jak w przypadku przetwarzanych przez<br />

drzewo decyzyjne. Drzewo decyzyjne dzięki rozgałęzieniom poszczególnych gałęzi<br />

drzewa tworzy rozłączne obszary przyporządkowanych im reguł jeŜeli-to dla całego<br />

zbioru uczącego, poprzez wybieranie do węzłów drzewa atrybutów niosących najwięcej<br />

informacji. Tymczasem zaproponowany algorytm genetyczny dla jednej z klas moŜe<br />

uznać istotność jednego z atrybutów, a dla innej – innego. Zwłaszcza w obszarach,<br />

gdzie brak jest danych uczących i w których człowiek moŜe uogólniać uzyskane reguły,<br />

moŜe dojść do sytuacji nakładania się na siebie obszarów z przypisanymi im regułami<br />

wykonującymi klasyfikację do róŜnych klas. W takiej sytuacji, Ŝeby wyznaczyć klasę,<br />

do której naleŜy badany obiekt naleŜy posłuŜyć się pojęciem gęstości: im mniejszy<br />

obszar, którego dotyczy reguła i im więcej w nim przykładowych danych uczących tym<br />

klasyfikacja jest pewniejsza (wzór 6-24).<br />

POS<br />

∑<br />

i=<br />

1<br />

x<br />

(6-24)<br />

POS<br />

∑Clkompleks( Posi<br />

)<br />

iloczyn długości przedziałów budujących dyskretne wartości x n<br />

i=<br />

1<br />

ρ ( kompleks)<br />

=<br />

1<br />

2<br />

n<br />

xkompleks<br />

⋅ xkompleks<br />

⋅...<br />

⋅ xkompleks<br />

( ) - liczba klasyfikowanych przez kompleks danych ze<br />

zbioru POS<br />

2<br />

n<br />

⋅ xkompleks<br />

⋅...<br />

⋅ xkompleks<br />

- n-wymiarowa objętość kompleksu jako<br />

Cl kompleks Pos i<br />

1<br />

kompleks<br />

116<br />

6.3.6. Sieci Pedrycza<br />

Podobnie jak opisany w poprzednim podrozdziale algorytm genetyczny, tak i<br />

sieć neuronowa Pedrycza (opisana w podrozdziale 4.4) opiera swój proces uczenia się<br />

(a przez to wbudowywania reguł jeŜeli-to w swoją strukturę) o rozłączne zbiory POS i<br />

NEG (wzór 6-21) wyodrębnione dla danej klasy r (wzór 6-20). Proces uczenia z<br />

nadzorem takiej sieci oparty jest na zmodyfikowanym algorytmie wstecznej propagacji<br />

(wzór 4-29).<br />

Proces uczenia r sieci jednowyjściowych jest mniej złoŜony obliczeniowo niŜ<br />

próba uczenia jednej sieci r-wyjściowej (m.in. ze względu na modyfikowanie wag<br />

neuronów po jednorazowej prezentacji danych uczących lub po prezentacji epoki, czyli


wszystkich danych uczących) i z tego powodu zbiór danych uczących r-krotnie zostanie<br />

podzielony na zbiory POS i NEG.<br />

Dla analizowanego zbioru 240 danych uczących przyjęto [75] inną metodę<br />

dyskretyzacji. KaŜda z danych X,Y,Z opisujących stęŜanie gazów w metodzie IEC (wzór<br />

6-2), podzielona została na 4 rozłączne przedziały o wartościach (tabela 6-1) jak<br />

podczas klasyfikacji metodą kodu IEC, tj. 〈0, 0.1), 〈0.1, 1), 〈1, 3〉, większa niŜ 3.<br />

Kodowanie współrzędnych XYZ dla danej pomiarowej po dyskretyzacji wykonywane<br />

jest na 12-u wartościach binarnych. Tak więc liczba neuronów wejściowych sieci<br />

Pedrycza wynosi 24. Wartości wag niech będą binarne, wartość współczynnika<br />

nauczania (4-29) niech wynosi 0,9. Czas nauczania niech wynosi od 100 do 150 epok,<br />

obcięcie zbędnych połączeń (poprzez wyzerowanie wag) – co 10 epok. Wyniki [75]<br />

uzyskane tą metodą prezentuje tabela 6-23.<br />

Klasa stanu technicznego<br />

Bez uszkodzeń<br />

Wyładowania niezupełne o małej energii<br />

Wyładowania niezupełne o duŜej energii<br />

Wyładowania zupełne o małej energii<br />

Wyładowania zupełne o duŜej energii<br />

Przegrzanie o temperaturę mniejszą niŜ 150 0 C<br />

Przegrzanie o temperaturę (150 0 C, 300 0 C〉<br />

Przegrzanie o temperaturę (300 0 C, <strong>70</strong>0 0 C〉<br />

Przegrzanie o temperaturę większą niŜ <strong>70</strong>0 0 C<br />

Zapis prawa<br />

xxxxxxx1x1xx ∨ xx0x0xx01xxx ∨<br />

0xxxxx1xx1xx ∨ 1xxxxx1xxxx1 ∨<br />

x00x0xxxxx1x ∨ x1xxxx1xxxxx ∨<br />

x0xxxx0xx1xx ∨ x0xxxxx1xxx1<br />

xx0xx1xxxx1x ∨ x0xx1xxxx1xx<br />

xxxxx1xxx1xx ∨ xxxx1xxxx1xx<br />

x1xxx1xxx0x0<br />

00xxx1xx0xxx ∨ xxx1x1xxxxxx ∨<br />

0xxxx1xxxxx1<br />

1xxxx1xx00x0<br />

x00xxx1xx1xx<br />

1xxxxx1xxxxx ∨ xxxxxxx1xxx0 ∨<br />

xxxxxxx11xxx<br />

1xxx0xxxxxx1 ∨ x1xxxx1xxxx1 ∨<br />

xxxxx1xx1xxx ∨ xx1xxx0xxx0x ∨<br />

x1xxx1xxx1xx<br />

Niezidentyfikowane uszkodzenie<br />

xxxxxxxxxx1x ∨ xxxxxx1xx0xx ∨<br />

1xxxxxx0xxxx ∨ xxx1xx1xxxxx ∨<br />

1xxxxxxxx1xx ∨ xxxxxxx10xxx ∨<br />

xxxx1xxxxxxx ∨ xxxxxx00xxx0<br />

Tabela 6-23. Wyniki uczenia sieci jednowyjściowych Pedrycza, gdzie 1 – oznacza, Ŝe wejście<br />

musi mieć wartość 1, 0 – Ŝe wejście musi mieć wartość 0, x – dowolna wartość, Ŝeby zaszła<br />

dana klasyfikacja; pomiędzy podanymi symbolami zachodzi logiczna zaleŜność AND.<br />

117<br />

JeŜeli Χ∈ 0.1 ∧ Ζ > 3<br />

∨ Χ∈ 3<br />

∨ Υ∈


118<br />

Uzyskana w postaci zbudowanych reguł jeŜeli-to wiedza odkodowana ze struktury sieci<br />

Pedrycza umoŜliwia dokonanie klasyfikacji przykładowych 240-u danych<br />

pomiarowych.<br />

Rzeczywista diagnoza<br />

Liczba diagnoz<br />

poprawnych/błędnych/<br />

niejednoznacznych<br />

Bez uszkodzeń 13/0/32<br />

Wyładowania niezupełne o duŜej energii 1/0/5<br />

Wyładowania niezupełne o małej energii 0/0/11<br />

Wyładowania zupełne o duŜej energii 6/0/15<br />

Wyładowania zupełne o małej energii 0/0/3<br />

Przegrzanie o temperaturę < 150°C 0/0/2<br />

Przegrzanie o temperaturę 150°C - 300°C 2/0/1<br />

Przegrzanie o temperaturę 300°C - <strong>70</strong>0°C 4/31/31<br />

Przegrzanie o temperaturę > <strong>70</strong>0°C 9/0/74<br />

Tabela 6-25 Zestawienie diagnoz stanu technicznego wg struktur sieci Perdycza (pominięto klasyfikację<br />

do klasy „niezidentyfikowane uszkodzenie”, gdyŜ występowała ona w niemalŜe 100% przypadków, co<br />

nie wnosi znaczącej wiedzy do rozwiązywanego zadania)<br />

Wadą zastosowanej diagnostyki jest fakt stosunkowo często uzyskiwanej<br />

niejednoznacznej klasyfikacji danych pomiarowych, gdy jeden komplet danych<br />

pomiarowych był klasyfikowany do kilku klas stanu technicznego (tabela 6-25). Fakt<br />

ten wynika z zastosowanego algorytmu uczenia kilku sieci o jednym sygnale<br />

wyjściowym, a nie jednej sieci generującej kilka sygnałów na wyjściach. Pomimo, Ŝe w<br />

34 strukturach sieci (tabela 6-23) zapisano informacje o 48 rozłącznych obszarach<br />

przestrzeni danych, w których moŜliwa jest ich klasyfikacja, to niejednoznaczność<br />

udzielanej odpowiedzi wydaje się być znaczącym utrudnieniem w praktycznym<br />

zastosowaniu tej metody.


119<br />

7. Genetyczny wybór reguł rozmytych na przykładzie wspomagania<br />

diagnostyki transformatora<br />

7.1. Postawienie problemu<br />

Zaproponowane w rozdziale 5 algorytmy dotyczące generowania reguł jeŜeli-to i<br />

wykonywania nimi klasyfikacji w przestrzeniach n-wymiarowych dopasowane zostaną<br />

do 3-wymiarowej przestrzeni danych XYZ. W przestrzeni tej zostaną umieszczone<br />

poprawnie (tj. bez wątpliwości lub potwierdzone oględzinami transformatora)<br />

sklasyfikowane przez człowieka-eksperta wyniki pomiarów stęŜeń gazów palnych<br />

rozpuszczonych w oleju transformatorowym uzyskane metodą chromatografii gazowej<br />

– DGA (opisanej w rozdziale 6.2). Jako wartości klasy uŜyte zostaną wartości<br />

charakterystyczne dla podstawowej metody diagnostycznej – metody kodu IEC (tabela<br />

6-2 i rysunek 6-3). Do konwersji wyników DGA w 3-wymiarową przestrzeń XYZ<br />

zostaną uŜyte wzory charakterystyczne dla metody kodu IEC (opisane wzorem 6-2).<br />

Stosując algorytmy opisane w rozdziale 5, ale dostosowane do przestrzeni 3-<br />

wymiarowej utworzone zostaną reguły klasyfikujące i uwzględniające wiedzę<br />

człowieka-eksperta (poprzez diagnozy wykonane przez niego). Następnie liczba tychŜe<br />

reguł zostanie zredukowana algorytmem genetycznym opisanym w rozdziale 5.3 i<br />

dostosowanym do działania w przestrzeni 3-wymiarowej. Dopiero istotna redukcja<br />

liczby reguł moŜe ułatwić, a nawet umoŜliwić człowiekowi fizyczną interpretację ich<br />

znaczenia.<br />

Praktyczne zastosowanie algorytmów opisanych w rozdziale 5 dla wykonania<br />

diagnostyki stanu technicznego transformatora nie tylko umoŜliwi rozwiązanie<br />

praktycznego problemu, ale równieŜ umoŜliwi stworzenie prototypu praktycznego<br />

narzędzia do wykonywania diagnoz w oparciu o wyniki DGA – systemu Trafo2000<br />

(opisanego w rozdziale 8).


120<br />

7.2. Przygotowanie zbioru danych uczących<br />

Na potrzeby tej pracy uzyskano wyniki 444 pomiarów DGA dla 27-u<br />

transformatorów sieciowych 250MVA. Pomiary te obejmują 10 atrybutów - stęŜeń<br />

gazów takich jak: H 2 - wodór, CH 4 - metan, C 2 H 2 - acetylen, C 2 H 4 - etylen, C 2 H 6 -<br />

etan, CO, CO2, C3H8, C3H6, n-C4H10 oraz dodatkowo datę wykonania pomiaru i<br />

diagnozę postawioną przez człowieka-eksperta (rysunek 7-1).<br />

Rysunek 7-1. Uzyskiwanie zbioru danych pomiarowych<br />

Przyjęto istnienie dziewięciu klas (wg kodu IEC), do których moŜe być<br />

sklasyfikowany dany pomiar: Bez uszkodzeń, Wyładowania niezupełne o małej energii,<br />

Wyładowania niezupełne o duŜej energii, Wyładowania zupełne o małej energii,<br />

Wyładowania zupełne o duŜej energii, Przegrzanie poniŜej 150 0 C, Przegrzanie powyŜej<br />

150 0 C i poniŜej 300 0 C, Przegrzanie powyŜej 300 0 C i poniŜej <strong>70</strong>0 0 C, Przegrzanie<br />

powyŜej <strong>70</strong>0 0 C. Do dziewięciu klas opisujących stan techniczny wg kodu IEC została<br />

dodana jeszcze jedna o nazwie „Nieznany”. Wartość taka oznacza, Ŝe dla danego<br />

pomiaru:<br />

- człowiek-ekspert podejrzewa początki rozwijającego się uszkodzenia, ale nie moŜe<br />

dokładnie stwierdzić jakiego, gdyŜ stęŜenia gazów są jeszcze zbyt małymi<br />

wartościami;<br />

- transformator jest po operacji odgazowania oleju i stosunki stęŜeń mogą być<br />

mylące;<br />

- człowiek-ekspert uznaje, Ŝe na wyniki DGA ma wpływ kilka rodzajów uszkodzeń.


Do przekształcenia wyników posiadanych pomiarów w 3-wymiarową przestrzeń<br />

danych, na której działa metoda kodu IEC – naleŜy uwzględnić jedynie 5 gazów (wzór<br />

7-1 – uprzednio 6-2).<br />

121<br />

x = C H<br />

C H<br />

2 2<br />

2 4<br />

, y = CH H<br />

2<br />

4<br />

, z = C H<br />

C H<br />

2 4<br />

2 6<br />

. (7-1)<br />

Nie wszystkie dane posiadają kompletne wyniki pomiarów - ze względów<br />

fizyko-chemicznych nie zawsze udaje się otrzymać poŜądany wynik stęŜenia gazu w<br />

badanej w chromatografie mieszance. Niektóre pomiary nie dadzą się konwertować w<br />

przestrzeń XYZ zgodnie ze wzorem 7-1, gdy przynajmniej jedno ze stęŜeń C 2 H 4 , H 2 ,<br />

C 2 H 6 przyjmuje wartość 0.<br />

Ze zbioru 444 danych pomiarowych, 312 danych jest sklasyfikowanych w<br />

sposób pewny (dane nie naleŜą do klasy "Nieznany"), a w tym zbiorze istnieje 257<br />

danych pomiarowych, które moŜna umiejscowić w przestrzeni XYZ. Zbiór poprawnie<br />

sklasyfikowanych i przekonwertowanych danych znajduje się w przestrzeni:<br />

〈0; 3,214286〉 × 〈0,07361456; 104,1667〉 × 〈0,0<strong>70</strong>58824; 12,7619〉<br />

i prezentowany jest na rysunku 7-2.<br />

Rysunek 7-2. Zbiór danych pomiarowych w przestrzeni 3-wymiarowej.<br />

Na rysunku 7-2 moŜna zauwaŜyć, Ŝe dane o duŜych wartościach y są nieliczne. Z tego<br />

powodu zbiór danych został podzielony na dwa podzbiory:<br />

- dane, dla których wartość y 12,76.<br />

- Pierwszy ze zbiorów umieszczony jest w przestrzeni:


122<br />

- 〈0; 3,214286〉 × 〈0,07361456; 12,55556〉 × 〈0,0<strong>70</strong>58824; 12,7619〉<br />

- a drugi w przestrzeni:<br />

- 〈0; 0,007633588〉 × 〈13,16667; 104,1667〉 × 〈1,423246; 8,3125〉.<br />

Drugi z tych zbiorów zawiera niewielką liczbą danych pomiarowych: 17, a pierwszy z<br />

nich: 240. Drugi ze zbiorów zawiera głównie wyniki pomiarów dotyczących jednego<br />

transformatora i wyniki te zostaną odrzucone jako szczególny przypadek w zbiorze<br />

danych.<br />

Rysunek 7-3. Zbiór 240-u danych uczących w przestrzeni 3-wymiarowej<br />

Po tych modyfikacjach uzyskano zbiór 240 pomiarów (rysunek 7-3), który od tej<br />

chwili jest traktowany jako zbiór przykładów uczących D i umieszczony w bazie faktów<br />

systemu Trafo2000 (rozdział 8). Zbiór ten jest dobrze określony – jeŜeli dwa, róŜne<br />

pomiary mają te same wartości x, y, x, to są tej samej klasy.<br />

7.3. Generowanie reguł<br />

Na podstawie informacji zawartych w zbiorze uczącym D określić naleŜy rozmyte<br />

reguły jeŜeli-to, które potrafią poprawnie sklasyfikować wszystkie dane uczące. Celem<br />

zastosowania algorytmów je generujących (zaprezentowanych w rozdziale 5)<br />

współrzędne (x, y, z) opisujące dany transformator przekształca się, aby naleŜały do<br />

przestrzeni będącej sześcianem jednostkowym (adaptacja wzoru 5-3). W celu konwersji<br />

danych do przestrzeni 〈0,1〉×〈0,1〉×〈0,1〉 stosuje się wzory (7-2), (7-3) i (7-4).


123<br />

∧<br />

nowy x<br />

xi<br />

=<br />

i ∈ 1,<br />

N max −<br />

∧<br />

nowy y<br />

yi<br />

=<br />

i ∈ 1,<br />

N max −<br />

∧<br />

nowy z<br />

zi<br />

=<br />

i ∈ 1,<br />

N max −<br />

i<br />

− min{ xi}<br />

{ x } min{ x }<br />

i<br />

i<br />

− min{ yi}<br />

{ y } min{ y }<br />

i<br />

i<br />

− min{ zi}<br />

{ z } min{ z }<br />

i<br />

i<br />

i<br />

i<br />

(7-2)<br />

(7-3)<br />

(7-4)<br />

gdzie N jest liczbą obiektów uczących,<br />

min{x i } = min{x i : i=1,2, ...,N}, min{y i }=min{y i : i=1,2, ...,N}, min{z i }=min{z i : i=1,2, ...,N},<br />

max{x i }=max{x i : i=1,2, ...,N}, max{y i }=max{y i : i=1,2, ...,N}, max{z i }=max{z i : i=1,2, ...,N}<br />

Uzyskany z powyŜszej konwersji sześcian jednostkowy (zbiór danych uczących<br />

D’ zaadaptowany do przestrzeni 3-wymiarowej wg pierwotnego wzoru 5-3) jest<br />

dzielony na podobszary rozmyte<br />

A A × A<br />

K<br />

iX<br />

× wyznaczone (adaptacja wzoru 5-4) przez<br />

K<br />

jY<br />

trójkątne funkcje przynaleŜności (rysunek 5-1 i 7-4) dane wzorami 7-5, 7-6, 7-7.<br />

µ K iX(x) * = max { 1 - | x - a K i | / b K , 0 } gdzie i = 1, ..., K (7-5)<br />

µ K jY(y) = max { 1 - | y - a K j | / b K , 0 } gdzie j = 1, ..., K (7-6)<br />

µ K kZ(z) = max { 1 - |z - a K k | / b K , 0 } gdzie k = 1, ..., K (7-7)<br />

K<br />

kZ<br />

gdzie a K i = (i - 1) / (K - 1), a K j = (j - 1) / (K - 1), a K k = (k - 1) / (K - 1), b K = 1 / (K - 1)<br />

dla i, j, k = (1, 2,..., K) i K jest numerem podziału.<br />

* Funkcje przynaleŜności określone są tym samym wzorem tylko kaŜda z nich na innym wymiarze. W<br />

celu lepszego ich opisania są one indeksowane poprzez X, Y i Z dla zaznaczenia wymiaru, na którym<br />

wykonują odwzorowanie.


124<br />

7 7 7<br />

Rysunek 7-4. Podobszar rozmyty A<br />

6 X<br />

× A5<br />

Y<br />

× A w przestrzeni trójwymiarowej<br />

4Z<br />

wyznaczony przez trójkątne funkcje przynaleŜności<br />

7<br />

7<br />

µ<br />

6 X<br />

: 0,1 → R , µ<br />

5Y<br />

: 0,1 → R ,<br />

µ : 0,1 → R (wykresy tych funkcji są narysowane w prezentowanej przestrzeni w<br />

7<br />

4Z<br />

sposób umowny, z powodu braku moŜliwości zaznaczenia na rysunku kolejnych<br />

wymiarów).<br />

Do kaŜdego podobszaru<br />

A A × A<br />

K<br />

iX<br />

× przypisana jest reguła rozmyta jeŜeli-to R K ijk<br />

K<br />

jY<br />

K<br />

kZ<br />

słuŜąca do klasyfikacji danych, która brzmi:<br />

"JeŜeli nowy obiekt Q=(x, y, z) naleŜy do danego podobszaru<br />

A × A × A<br />

K<br />

iX<br />

K<br />

jY<br />

K<br />

kZ<br />

(gdzie i,j,k∈〈1,2,...,K - liczba podziałów〉), to jest on klasy C K ijk z pewnością<br />

µ K iX(x) ⋅ µ K jY(y) ⋅ µ K kZ(z) ⋅ CF K ijk ".<br />

gdzie klasa C K ijk jest klasą ze zbioru wszystkich klas CT, co zapisujemy<br />

C K ijk ∈ CT (dla T=1, 2, ...,M i M - liczba klas) i CF K ijk ∈R + ∪{0}.<br />

Aby określić regułę R K ijk (gdzie i, j, k = 1, ..., K i K jest numerem podziału) naleŜy<br />

zastosować algorytm 7-1 (adaptacja algorytmu 5-1):


125<br />

Algorytm 7-1: Tworzenie reguły R K ijk<br />

Krok 1:<br />

Dla kaŜdej klasy CT 0 (gdzie T 0 = 1, ..., M i M jest liczbą klas) naleŜy<br />

wyznaczyć β CT0<br />

jako sumę zgodności wszystkich elementów uczących<br />

X p = (x, y, z) (gdzie p = 1,2, ...N i N - liczba elementów uczących)<br />

naleŜących do klasy CT 0 do funkcji przynaleŜności µ iX , µ jY , µ kZ<br />

wyznaczających regułę R K ijk:<br />

β CT0<br />

=<br />

N<br />

∑<br />

p=<br />

1<br />

X = ( x,<br />

y,<br />

z)<br />

∈CT<br />

p<br />

K K K<br />

µ ( x)<br />

⋅ µ ( y)<br />

⋅ µ ( z)<br />

(7-8)<br />

iX<br />

0<br />

jY<br />

kZ<br />

Krok 2:<br />

NaleŜy znaleźć taką klasę CT 1 , Ŝe:<br />

β CT1<br />

= max {β C1 , ..., β CM } (7-9)<br />

JeŜeli β CT1<br />

= 0 lub występują dwie lub więcej klas, dla których<br />

wyznaczone wartości β CT0<br />

przyjmują maksymalna wartość, to wtedy klasa<br />

C K ijk = CT 1 nie jest definiowana i zaufanie CF K ijk do takiej reguły wynosi<br />

0. Reguła, w którym klasa C K ijk nie jest definiowana i w którym zaufanie<br />

CF K ijk = 0, nazywana jest regułą nieistotną. W pozostałych przypadkach<br />

klasą C K ijk z reguły R K ijk jest klasa CT 1 .<br />

Krok 3:<br />

JeŜeli zaufanie CF K ijk nie zostało określone jako 0 w kroku 2, to wyznacza<br />

się je wzorem 7-10:<br />

K<br />

CF ijk<br />

βCT<br />

− β<br />

1<br />

, gdzie β =<br />

β<br />

= M<br />

∑<br />

T = 1<br />

CT<br />

M<br />

∑β<br />

CT<br />

T = 1<br />

T≠T<br />

1<br />

M −1<br />

(7-10)<br />

NaleŜy zauwaŜyć, Ŝe wzór 7-10 będący adaptacją wzoru 5-7 do przestrzeni 3-<br />

wymiarowej, a określający zaufanie CF K ijk do klasyfikacji spełnia dwa wymogi zgodne<br />

z intuicją:<br />

a) JeŜeli β CT1<br />

> 0 i dla kaŜdej wartości T 0 ≠ T 1 β CT0<br />

= 0, to oznacza Ŝe wszystkie<br />

elementy (x, y, z) ze zbioru uczącego mogące dać wynik ze wzoru 7-8 większy<br />

od zera naleŜą do jednej klasy CT 1 . Wtedy zaufanie CF K ijk = 1, czyli<br />

klasyfikacja jest pewna.<br />

b) JeŜeli dla kaŜdego T 0 wartości β CT0<br />

niewiele się od siebie róŜnią, to CF K ijk ≈ 0,<br />

czyli klasyfikacja nie jest pewna.<br />

<br />

Realizację przedstawionej procedury naleŜy rozpocząć od podziału K=2. Po<br />

wygenerowaniu zbioru S K reguł rozmytych jeŜeli-to dla zadanego podziału K, naleŜy<br />

zwiększyć wartość K o jeden i powtórzyć algorytm. Powtarzanie algorytmu naleŜy


zakończyć, jeŜeli dla bieŜącego K wszystkie reguły R K ijk potrafią poprawnie<br />

sklasyfikować wszystkie elementy (x, y, z) ze zbioru uczącego. Ostatni wykonany<br />

podział ma oznaczenie K max .<br />

126<br />

PoniŜszy algorytm 7-2 umoŜliwia [42] klasyfikację dowolnego elementu (x 0 , y 0 ,<br />

z 0 ) na podstawie zbioru reguł S K wygenerowanych dla zadanego K.<br />

Algorytm 7-2: Klasyfikacja 3-wymiarowego obiektu (x 0 , y 0 , z 0 ) za pomocą reguł ze<br />

zbioru S K wygenerowanych dla zadanego podziału K.<br />

Krok 1:<br />

Krok 2:<br />

NaleŜy wyznaczyć α CT0<br />

dla kaŜdej klasy CT 0 (gdzie T 0 = 1, ..., M i M<br />

jest liczbą klas) wg zaleŜności:<br />

α CT0<br />

= max {µ K iX(x 0 ) ⋅ µ K jY(y 0 ) ⋅ µ K kZ(z 0 ) ⋅ CF K ijk} (7-11)<br />

dla kaŜdego R K ijk ∈ S K .<br />

NaleŜy wyznaczyć klasę CT 1 taką, Ŝe:<br />

α CT1<br />

= max {∝ C1 , ..., ∝ CM } (7-12)<br />

Wynikiem tej procedury jest klasa CT 1 . JeŜeli dwie lub więcej klas<br />

przyjmuje maksymalne wartości α CT0<br />

we wzorze 7-11 lub wszystkie<br />

wartości α CT0<br />

są zerem, to element (x 0 , y 0 , z 0 ) nie jest klasyfikowany.<br />

<br />

NaleŜy tu zwrócić uwagę (rysunek 5-2), Ŝe we wzorze 7-11 uŜyto do wyznaczania<br />

wielkości α CT0<br />

zaufania do klasyfikacji CF K ijk z reguły R K ijk. PoniewaŜ wartość owego<br />

zaufania naleŜy do przedziału 〈0, 1〉, to iloczyn zaufania CF K ijk i wartości µ K iX(x) ⋅ µ<br />

K<br />

jY (y) ⋅ µ K jZ(z) moŜe ulec zmniejszeniu w stosunku do wartości µ K iX(x) ⋅ µ K jY(y) ⋅ µ<br />

K<br />

jZ (z). Dzięki temu wpływ reguły R K ijk z obszaru A K i×A K j×A K k moŜe ulec zmniejszeniu<br />

na korzyść reguł dotyczących obszarów sąsiadujących z A K i×A K j×A K k (tj.:<br />

A<br />

K K<br />

i' X<br />

× Aj'<br />

Y<br />

×<br />

A<br />

K<br />

k ' Z<br />

dla i' = i-1, i, i+1; j' = j-1, j, j+1; k = k-1, k, k+1).<br />

Reguły ze zbioru S Kmax moŜemy zastąpić regułami ze zbiorów wygenerowanych<br />

poprzednio (tj. S 2 , S 3 , ..., S Kmax-1 ). Dzięki temu moŜliwa jest redukcja liczby reguł<br />

niezbędnych do poprawnej klasyfikacji obiektów uczących. W tym celu wprowadza się<br />

oznaczenie S = S 2 ∪ S 3 ∪ ... S Kmax zbioru wszystkich wygenerowanych reguł<br />

rozmytych, a zbiór reguł wybranych do klasyfikacji poprzez A. Liczność zbioru S i A<br />

spełnia warunek 5-13. Klasyfikacja nowego elementu odbywa się zgodnie z


algorytmem opisanym przy wzorze 7-11 przy czym dotyczy wszystkich reguł<br />

naleŜących do S, czyli R K ijk ∈ S.<br />

127<br />

Rysunek 7-5. Zaznaczenie sześcianów wyznaczonych przez funkcje<br />

przynaleŜności przypisanych do reguł klasyfikujących jeŜeli-to (znaczenie kolorów jak<br />

na rysunku 7-11).<br />

Przy próbie uŜycia do wykonania modułu systemu ekspertowego (w postaci<br />

aplikacji Fuzzy3D.exe opisanej w rozdziale 8) 240 obiektów ze zbioru danych nie<br />

moŜna uzyskać poprawnej klasyfikacji ich wszystkich nawet dla podziału K = 50<br />

(rysunek 7-5). Dla tak wysokiej liczby podziałów K naleŜy wykonać dodatkowe analizy<br />

zbioru danych w celu ograniczenia mocy zbioru S wszystkich wygenerowanych reguł.<br />

7.4. Konwersja danych uczących<br />

NiemoŜność wygenerowania reguł (rysunek 7-5) poprawnie klasyfikujących 240<br />

obiektów uczących przedstawionych na rysunku 7-3 wynika z ich znacznego<br />

zagęszczenia przy punkcie (0, 0, 0), co potwierdza histogram 3-wymiarowy<br />

prezentowany na rysunku 7-12, a takŜe ze znacznego zagęszczenia w okolicach<br />

płaszczyzny 0YZ, co potwierdza histogram wykonany dla zmiennej X z rysunku 7-11.<br />

Oba wymienione obszary są decyzyjnie trudne i dlatego podczas generowania reguł<br />

naleŜy poświęcić im szczególną uwagę – co moŜna zrealizować na dwa sposoby.<br />

Pierwszy z nich polega na zmianie zasady generowania obszarów A K i×A K j×A K k


wyznaczanych przez funkcje µ K iX, µ K jY, µ K jZ(z), tak aby obszary te były drobniejsze w<br />

obszarach decyzyjnie trudnych. Drugi sposób polega na konwersji przestrzeni będącej<br />

sześcianem jednostkowym w inną przestrzeń, celem powiększenia obszarów decyzyjnie<br />

trudnych (kosztem zmniejszenia obszarów, na których klasyfikacja generowanymi<br />

regułami jest łatwa) i tym samym zmniejszeniu zagęszczenia danych uczących.<br />

128<br />

Pierwszą z tych metod niech będzie modyfikacją wzorów 7-5 – 7-7, która<br />

polegać będzie na dwukrotnym zagęszczeniu reguł o indeksie od 1 do K-1 dla podziału<br />

K. Zasięg reguły ostatniej i przedostatniej zostanie odpowiednio poszerzony, co dla<br />

wymiaru x moŜna przedstawić wzorem 7-13. Metoda ta jednak w pewien sztuczny<br />

sposób traktuje dane uczące dzieląc kaŜdy z wymiarów przestrzeni na odcinki:<br />

〈0; (K-2)/(2K-2)) i 〈(K-2)/(2K-2); 1〉,<br />

z których pierwszy wyznacza obszar o zwiększonym zagęszczeniu reguł, a w obszarze<br />

drugim klasyfikacja odbywa się tylko za pomocą dwóch reguł (co moŜemy<br />

zaobserwować na rysunku 7-7).<br />

µ' K 2K −1<br />

2K −1<br />

iX(x) = max { 1 - | x - a | / b , 0 }<br />

i<br />

gdzie i = 1, ..., K-1 (7-13)<br />

µ' K iX(x) =<br />

⎧<br />

2K −1<br />

2K −1<br />

⎪<br />

max { 1 - | x - ai<br />

| / b , 0 }<br />

⎨<br />

2( K −1)<br />

2( K −1)<br />

⎪ − x + dla<br />

⎪⎩<br />

K K<br />

2( K −1)<br />

2 − K<br />

µ' K iX(x) = x + gdzie i = K<br />

K K<br />

dla<br />

x ≥<br />

K − 2<br />

x < gdzie i = K −1<br />

2( K −1)<br />

K − 2<br />

gdzie i = K −1<br />

2( K −1)<br />

gdzie a 2K-1 i = (i - 1) / (2K - 2), , b 2K-1 = 1 / (2K - 2) dla i, j, k = (1, 2,..., K),<br />

K - numer podziału.


129<br />

Rysunek 7-6. Podział przestrzeni jednowymiarowej (w tym przypadku odcinka<br />

jednostkowego) przez K=5 trójkątnych funkcji przynaleŜności µ K → R na<br />

podobszary rozmyte<br />

K<br />

A<br />

i = 1,2,...<br />

K<br />

.<br />

'<br />

i= 1,2,...,<br />

K<br />

: 0, 1<br />

Proponowana modyfikacja ma istotną wadę: wraz ze wzrostem wartości K<br />

maleje umiejętność klasyfikowania punktów na odcinku 〈(K-2)/(2K-2); 1〉 (dla<br />

przestrzeni jednowymiarowej). Dzieje się tak dlatego, Ŝe wraz ze wzrostem wartości K<br />

rośnie długość tego odcinka. MoŜe więc dojść do sytuacji, Ŝe algorytm wyznaczania<br />

reguł rozmytych na podstawie podziału przestrzeni danych uczących na podobszary nie<br />

będzie skończony.<br />

Z tego powodu zastosowana została druga metod polegająca na konwersji<br />

sześcianu jednostkowego w sześcian jednostkowy, za pomocą funkcji g:〈0,1〉→〈0,1〉,<br />

którą uŜywa się do konwersji na kaŜdym z wymiarów: X, Y i Z. Zaproponowano<br />

sprawdzenie 6-ciu funkcji g:〈0,1〉→〈0,1〉 opisanych wzorami 7-14 – 7-19.<br />

g 1 (x) = -1 ⋅ ⏐x-1⏐ N + 1, gdzie N ∈ 1,∞<br />

) ⊂ R (7-14)<br />

g 2 (x) = x N , gdzie N ∈ ( 0, 1 ⊂ R (7-15)<br />

g 3 (x) =<br />

⎛ N ⎞<br />

sin⎜<br />

π x ⎟ , gdzie N ∈ ( 0, 1 ⊂ R (7-16)<br />

⎝ 2 ⎠<br />

g 4 (x) = log N (x ⋅ (N-1) + 1), gdzie N ∈ 1,∞<br />

) ⊂ R (7-17)<br />

x−1<br />

g 5 (x) = ( e − e ) ( e −1)<br />

N<br />

( x − x )<br />

, gdzie N ∈ 1,∞<br />

) ⊂ R (7-18)<br />

2 ⎛ x<br />

max min<br />

+ xmin<br />

⎞<br />

g 6 (x) = arctg⎜<br />

⎟ , gdzie N ∈ 0,∞) ⊂ R (7-19),<br />

π ⎝ N ⎠<br />

gdzie x min , x max to wymiary przestrzeni danych uczących określone wzorami 7-2 – 7-4.


130<br />

PoniewaŜ funkcja g:〈0,1〉→〈0,1〉 zostanie uŜyta dla kaŜdego z wymiarów X, Y i Z, to<br />

dodatkowo zostanie ona oznaczona indeksem X, Y lub Z odpowiednim dla danego<br />

wymiaru. Z tego teŜ powodu parametr N oznaczony zostanie takim samym indeksem.<br />

Wykresy funkcji g X :〈0,1〉→〈0,1〉 w zaleŜności od wartości N X przedstawia rysunek 7-8.<br />

(a)<br />

(b)<br />

(c)<br />

(d)


131<br />

(e)<br />

(f)<br />

Rysunek 7-7. Wykresy funkcji g x :〈0,1〉→〈0,1〉.<br />

W przypadku funkcji g 1 opisanej wzorem 7-14 odbywa się konwersja kaŜdego<br />

wymiaru punktu pomiarowego (obiekt uczący w przestrzeni trójwymiarowej jest<br />

prezentowany jako punkt o trzech współrzędnych) za pomocą wzorów 7-20 – 7-22.<br />

g ( x)<br />

= −1⋅<br />

x −1<br />

1 (7-20)<br />

N X<br />

1 X<br />

+<br />

g ( y)<br />

= −1⋅<br />

y −1<br />

1 (7-21)<br />

N Y<br />

1 Y<br />

+<br />

N Z<br />

g ( z)<br />

= −1⋅<br />

z −1<br />

1 (7-22)<br />

1 Z<br />

+<br />

Rysunek 7-8. Obiekty uczące w sześcianie jednostkowym po konwersji funkcjami<br />

opisanymi wzorami 7-20 – 7-22 dla N X = 3, N Y = 3 i N Z = 4,5.<br />

Po konwersji punktów uczących za pomocą wybranej funkcji g następuje<br />

generowanie reguł uczących zgodnie na podstawie funkcji µ określonych wzorami 7-5,


7-6, 7-7, przy czym wartości x, y, z są przekonwertowane, co moŜemy zapisać w postaci<br />

wzorów 7-23 – 7-25.<br />

µ" K iX(x) = µ K iX(g X (x)) = max { 1 - | g X (x) - a K i | / b K , 0 } gdzie i = 1, ..., K (7-23)<br />

µ" K jY(y) = µ K jY(g Y (y)) = max { 1 - | g Y (y) - a K j | / b K , 0 } gdzie j = 1, ..., K (7-24)<br />

µ" K kZ(z) = µ K kZ(g Z (z)) = max { 1 - | g Z (z) - a K k | / b K , 0 } gdzie k = 1, ..., K (7-25)<br />

gdzie a K i = (i - 1) / (K - 1), a K j = (j - 1) / (K - 1), a K k = (k - 1) / (K - 1), b K = 1 / (K - 1)<br />

dla i, j, k = (1, 2,..., K) i K jest numerem podziału.<br />

132<br />

ZauwaŜyć moŜna, Ŝe proponowany sposób konwersji punktów uczących i<br />

generowania na nich reguł uczących na podstawie funkcji µ określonych wzorami 7-5 –<br />

7-7 sprowadza się (jeŜeli g jest odwzorowaniem wzajemnie jednoznacznym) do<br />

generowania reguł uczących w przestrzeni przed konwersją na podstawie funkcji µ"<br />

określonych wzorami 7-23 – 7-25 (rysunek 7-10) przy czym jest tańszy obliczeniowo.<br />

Rysunek 7-9. Wykresy funkcji µ" K iX(x) dla funkcji transformującej<br />

N X<br />

g ( x)<br />

= −1⋅<br />

x −1<br />

1 dla N X = 3 i K = 5.<br />

1 X<br />

+<br />

Dzięki moŜliwości zastosowania kilku funkcji transformujących oraz ich<br />

parametryzacji konwersję moŜna wykonać tak, aby moŜliwie zredukować liczbę<br />

wykonywanych podziałów K max , dla której wygenerowane reguły potrafią poprawnie<br />

klasyfikować wszystkie dane uczące. PoniewaŜ generowanie reguł odbywa się po<br />

transformacji dobrze byłoby znaleźć cechę zbioru uczącego, której zmiana w wyniku<br />

transformacji miałaby wpływ wartość K max .


133<br />

Jednymi z waŜniejszych cech zbioru uczącego są odległości minimalne:<br />

- odl’ - minimalna odległość pomiędzy punktami o róŜnych współrzędnych<br />

- odl - minimalna odległość pomiędzy punktami róŜnych klas.<br />

Tabela 7-1 zawiera zestawienia wartości odl oraz odl’ w zaleŜności od<br />

zastosowanej funkcji konwertującej g oraz parametrów N x , N y , N z . Przyjęto, Ŝe<br />

obliczenia zostają zakończone, jeŜeli osiągniemy podział K=50 i nie będzie moŜna<br />

poprawnie klasyfikować wszystkich obiektów uczących za pomocą zbioru reguł S 50 . W<br />

tym wypadku oznaczymy w tabeli 7-1, Ŝe K max > 50. Wartości odl oraz odl’<br />

przedstawione są z dokładnością sześciu miejsc po przecinku.<br />

N X N Y N Z K max odl' odl<br />

1 1 1 >50 0,000116 0,006958<br />

2 2 2 28 0,000231 0,013847<br />

3 3 3 21 0,000346 0,020669<br />

4 4 4 16 0,000460 0,027423<br />

5 5 5 23 0,000575 0,029055<br />

6 6 6 23 0,000514 0,022766<br />

7 7 7 24 0,000187 0,019162<br />

8 8 8 28 0,000103 0,016876<br />

9 9 9 36 0,000087 0,015129<br />

10 10 10 35 0,000042 0,012<strong>70</strong>5<br />

11 11 11 44 0,000022 0,009099<br />

12 12 12 >50 0,000010 0,006653<br />

Tabela 7-1. ZaleŜność wartości K max od funkcji konwertującej g 1 oraz parametrów N x ,<br />

N y , N z - wstępne obliczenia.<br />

Po wykonaniu wstępnych obliczeń dla funkcji konwertującej g 1 oraz parametrów<br />

N x =N y =N z otrzymano dla N x =N y =N z =4 najmniejszą wartość K max =16. Analizując dane<br />

z tabeli 7-1 moŜna dojść do wniosku, Ŝe wartość K max nie zaleŜy od wartości odl lub odl'<br />

wprost. Wraz ze wzrostem wartości N x, N y, N z następował początkowo (do<br />

N x =N y =N z =4) wzrost wartości odl i odl', a takŜe spadek wartości K max . Jednak dla<br />

wartości N x =N y =N z =5, gdzie wartości odl i odl' były największe wartość K max wcale nie<br />

była najniŜsza (zaburzenie proporcjonalności wprost pomiędzy K max , a odl i odl'<br />

zaobserwować moŜna teŜ dla N x =N y =N z =9, a N x =N y =N z =10). Z tabeli tej widać, Ŝe<br />

moŜliwe jest posłuŜenie się wartościami odl i odl' do znalezienia dość dobrych wartości<br />

N x, N y, N z , jednak trzeba jeszcze poszukać lepszej transformacji w otoczeniu tak<br />

wyznaczonych wartości. ZauwaŜmy teŜ, Ŝe posłuŜenie się wartością odl w celu


wyznaczenia moŜliwie małej wartości K max jest nieco lepsze niŜ posługiwanie się<br />

wartością odl', co moŜemy zaobserwować porównując wartości odl i odl' dla<br />

N x =N y =N z =4, N x =N y =N z =5, N x =N y =N z =6. Właściwości zbioru danych uczących<br />

zostaną więc uzupełnione o wartości oczekiwane [29] i wariancje (oznaczone<br />

odpowiednio E(X) i V(X) [54]) dla kaŜdej zmiennej x, y, z opisującej dane uczące<br />

(rysunek 7-11 i tabela 7-2).<br />

134<br />

N X N Y N Z E(X); V(X) E(Y); V(Y) E(Z); V(Z) odl K max<br />

1 1 1 0,060; 0,030 0,213; 0,050 0,313; 0,0<strong>70</strong> 0,006958 >50<br />

4 4 4 0,116; 0,0<strong>70</strong> 0,476; 0,096 0,606; 0,109 0,027423 16<br />

4 4 5 0,116; 0,0<strong>70</strong> 0,476; 0,096 0,651; 0,107 0,027423 17<br />

4 4 3 0,116; 0,0<strong>70</strong> 0,476; 0,096 0,546; 0,109 0,027423 21<br />

4 3 4 0,116; 0,0<strong>70</strong> 0,414; 0,089 0,606; 0,109 0,020669 20<br />

4 5 4 0,116; 0,0<strong>70</strong> 0,526; 0,100 0,606; 0,109 0,025757 18<br />

3 4 4 0,103; 0,061 0,476; 0,096 0,606; 0,109 0,027423 16<br />

5 4 4 0,126; 0,077 0,476; 0,096 0,606; 0,109 0,027423 16<br />

6 4 4 0,137; 0,083 0,476; 0,096 0,606; 0,109 0,027423 17<br />

Tabela 7-2. ZaleŜność wartości K max dla funkcji konwertującej g 1 oraz parametrów N x ,<br />

N y , N z od wartości oczekiwanej i wariancji oraz odl - kontynuacja obliczeń.<br />

Tabela 7-2 pokazuje, Ŝe nie ma teŜ zaleŜności pomiędzy tymi wartościami, a<br />

wartością K max . RównieŜ analiza histogramów nie przyniosła efektu w postaci<br />

wyznaczenia jakiejś zaleŜności pomiędzy parametrami wykonywanej konwersji, a<br />

wartością K max . PoniewaŜ histogramy przypominały histogramy dla rozkładu<br />

wykładniczego lub normalnego, to na podstawie tej właściwości zostały<br />

zaproponowane funkcje transformujące g 4 oraz g 5 .<br />

Próba interpolacji wielomianem Lagrange'a wartości dwóch wymiarów<br />

(przyjęto, Ŝe będą zanalizowane zaleŜności y od x, z od y i x od z) punktów<br />

pomiarowych równieŜ nie przyniosła odpowiedzi na to pytanie – uzyskiwane<br />

wielomiany około dwusetnego stopnia nie nadają się do dalszej analizy.<br />

Zaobserwowano równieŜ duŜe odchylenia punktów pomiarowych od prostej<br />

aproksymowanej średniokwadratowo. Z tego powodu zamiast aproksymacji i<br />

interpolacji moŜna analizować wartości średnie na przedziale (rysunek 7-11).


135<br />

Rysunek 7-10. Analiza właściwości zbioru uczącego - wartości średnie i histogramy<br />

Rysunek 7-11. Analiza właściwości zbioru uczącego - histogramy dla klas, histogramy<br />

trójwymiarowe, wartości oczekiwane i odchylania standardowe dla klas


136<br />

W tabeli 7-2 moŜna zauwaŜyć, Ŝe wartość K max nie zaleŜy w sposób istotny od<br />

wartości N X , co moŜna tłumaczyć zagęszczeniem punktów uczących w okolicy (dla<br />

małych wartości x) płaszczyzny 0YZ. Aby potwierdzić, Ŝe tak jest w istocie wykonano<br />

dodatkowe rysunki (rysunek 7-12) przedstawiające histogramy trójwymiarowe 1 .<br />

PoniewaŜ sam histogram trójwymiarowy nie przedstawia informacji o tym ile punktów<br />

danej klasy naleŜy do danego podobszaru prezentowanego w histogramie, to wykonano<br />

jeszcze analizę histogramów dla zmiennych x, y, z dla poszczególnych klas.<br />

Uzupełnieniem tej informacji jest graficzne przedstawienie w przestrzeni<br />

trójwymiarowej wartości oczekiwanej i odchylenia standardowego dla poszczególnych<br />

klas - w formie krawędzi prostopadłościanu o środku w punkcie (E(X), E(Y), E(Z)) i<br />

długości boków odpowiednio: 2 V ( Z),2<br />

V ( Y ),2 V ( Z)<br />

. (rysunek 7-12).<br />

N X N Y N Z K max<br />

4 4 4 16<br />

4 4 5 17<br />

4 4 3 21<br />

4 3 4 20<br />

4 5 4 18<br />

3 4 4 16<br />

5 4 4 16<br />

3 3 4 20<br />

3 3 5 17<br />

3 4 5 17<br />

3 5 4 18<br />

3 5 5 23<br />

3 3 3.5 20<br />

3 3 4.5 15<br />

3 4 3.5 21<br />

3 4 4.5 18<br />

Tabela 7-3. ZaleŜność wartości K max dla funkcji konwertującej g 1 od parametrów N x , N y ,<br />

N z - kontynuacja poszukiwań minimalnej wartości K max .<br />

Dla N X =3, N Y =3 i N Z =4,5 znaleziono (tabela 7-3) najmniejszą wartość K max =<br />

15. Oczywiście wartość K max zaleŜy równieŜ od samej funkcji transformującej g i<br />

dlatego poszukiwania wartości minimalnej K max przeprowadzono w przypadku<br />

1 Rysunek ten uzyskano poprzez podział kaŜdego z wymiarów sześcianu jednostkowego na 10 odcinków<br />

o tej samej długości. Następnie wyznaczono ile obiektów uczących naleŜy do kaŜdego z uzyskanych w<br />

ten sposób 1000 małych sześcianów. Obszar zajmowany przez sześcian był następnie wypełniany w<br />

całości dla sześcianu, do którego naleŜało najwięcej punktów uczących. W pozostałych przypadkach był<br />

on wypełniany odpowiednio mniej w zaleŜności od ilości punktów uczących naleŜących do obszaru<br />

zajmowanego przez sześcian.


pozostałych funkcji transformujących g opisanych wzorami 4.2 - 4.6, ale nie uzyskano<br />

równie dobrych rezultatów (tabela 7-4).<br />

Funkcja N X N Y N Z K max<br />

g 2 (x) 0,5 0,5 0,5 27<br />

g 2 (x) 0,6 0,6 0,6 30<br />

g 2 (x) 0,4 0,4 0,4 27<br />

g 3 (x) 1 1 1 34<br />

g 3 (x) 0,5 0,5 0,5 24<br />

g 3 (x) 0,4 0,4 0,4 34<br />

g 4 (x) 10 10 10 24<br />

g 4 (x) 100 100 100 27<br />

g 4 (x) 20 20 20 23<br />

g 5 (x) 2 2 2 20<br />

g 5 (x) 3 3 3 18<br />

g 5 (x) 4 4 4 21<br />

g 6 (x) 1 1 1 36<br />

g 6 (x) 2 2 2 23<br />

g 6 (x) 3 3 3 30<br />

g 6 (x) 0,8 0,8 0,8 44<br />

Tabela 7-4. ZaleŜność wartości K max od funkcji konwertującej g i od parametrów N x , N y ,<br />

N z - wybrane rezultaty poszukiwań minimalnej wartości K max .<br />

137<br />

Udało się tu wykazać, Ŝe konwersja 240 danych uczących za pomocą wybranych<br />

odwzorowań mających na celu powiększenie obszarów danych trudnoseparowalnych,<br />

kosztem obszarów, w których podjecie decyzji o stanie technicznym transformatora jest<br />

łatwe, moŜe istotnie obniŜyć liczbę koniecznych do wykonania podziałów<br />

proponowanych w algorytmie 7-1. Redukcja tej wartości znacząco obniŜa<br />

czasochłonność dalszych obliczeń. Wobec proponowanego algorytmu 7-1 nie udało się<br />

jednoznacznie wyznaczyć parametru opisującego zbiór danych uczących, którego<br />

regulacja mogłaby z góry ustalić, czy nastąpi wzrost, czy spadek liczby koniecznych do<br />

wykonania podziałów.<br />

7.5. Regulacja rozmiaru przestrzeni danych<br />

Do przeprowadzenia procesu tworzenia systemu ekspertowego nie zostanie<br />

uŜyte 240 danych (obiektów) uczących, poniewaŜ część z nich potraktujemy jako dane<br />

testowe. Z tego powodu zbiór 240 obiektów został podzielony na trzy rozłączne<br />

podzbiory w sposób losowy. Po dwa z tych podzbiorów połączono otrzymując trzy pary


ozłącznych podzbiorów zbioru 240 obiektów o liczności odpowiednio 160 i 80<br />

obiektów uczących. PoniewaŜ te ilości obiektów uczących są małe jak na próbkę<br />

losową, to dla kaŜdej z trzech par przesunięto obiekty uczące (w sposób losowy) tak,<br />

aby większy zbiór zawierał <strong>70</strong>% obiektów zbioru wyjściowego (168 obiektów), a<br />

mniejszy odpowiednio 30% (72 obiekty) i to tak, aby proporcję 7:3 zachować dla ilości<br />

obiektów poszczególnych klas zawartych w zbiorach (tabela 7-5).<br />

138<br />

Lp. Nazwa klasy Liczba<br />

obiektów<br />

klasy (100%)<br />

<strong>70</strong>%<br />

całości<br />

30%<br />

całości<br />

1 Bez uszkodzeń 45 31 14<br />

2 Wyładowania niezupełne o małej energii 11 8 3<br />

3 Wyładowania niezupełne o duŜej energii 6 4 2<br />

4 Wyładowania zupełne o małej energii 3 2 1<br />

5 Wyładowania zupełne o duŜej energii 21 15 6<br />

6 Przegrzanie 150 0 C 2 2 0<br />

7 Przegrzanie powyŜej 150 0 C i poniŜej 300 0 C 3 2 1<br />

8 Przegrzanie powyŜej 300 0 C i poniŜej <strong>70</strong>0 0 C 66 46 20<br />

9 Przegrzanie powyŜej <strong>70</strong>0 0 C 83 58 25<br />

Razem 240 168 72<br />

Tabela 7-5. Proporcjonalny (z uwzględnieniem liczności poszczególnych klas) podział<br />

240 obiektów uczących na <strong>70</strong>% obiektów uŜytych do tworzenia systemu ekspertowego<br />

oraz 30% - do testowania<br />

Zbiór 240 obiektów nazwijmy "240 danych uczących", a trzy pary utworzonych<br />

w opisany powyŜej sposób zbiorów odpowiednio "Zbiór uczący 1" i "Zbiór testowy 1",<br />

"Zbiór uczący 2" i "Zbiór testowy 2" oraz "Zbiór uczący 3" i "Zbiór testowy 3". Obiekty<br />

uczące ze zbioru "240 danych uczących" naleŜą do przestrzeni P:<br />

〈0; 3,214286〉 × 〈0,07361456; 12,55556〉 × 〈0,0<strong>70</strong>58824; 12,7619〉<br />

która została opisana w rozdziale 7-2. JeŜeli na tej samej przestrzeni opisane zostaną<br />

zbiory uczące oraz testowe oraz do procesu wyznaczania reguł uczących na zbiorach<br />

uczących zastosujemy funkcję g 1 ze współczynnikami N x = 3, N Y = 3 i N Z = 4,5<br />

ustalonymi w poprzednim rozdziale, to otrzymamy dla poszczególnych zbiorów danych<br />

następujące wartości K max - liczby podziałów niezbędnych do wykonania, aby wszystkie<br />

punkty zbioru uczącego były poprawnie klasyfikowane przez reguły ze zbioru<br />

(tabela 7-6):<br />

Kmax<br />

S


139<br />

Nazwa zbioru<br />

K max<br />

"240 danych uczących" 15<br />

"Zbiór uczący 1" 12<br />

"Zbiór uczący 2" 13<br />

"Zbiór uczący 3" 16<br />

Tabela 7-6. Wartość K max dla poszczególnych zbiorów uczących w przestrzeni P<br />

W tabeli 7-6 widać, Ŝe dla dwóch pierwszych zbiorów uczących wartość K max<br />

jest mniejsza niŜ dla zbioru źródłowego, ale dla zbioru trzeciego jest na odwrót pomimo<br />

tego, Ŝe jest to zbiór ilościowo mniejszy niŜ źródłowy. Powodem takiej sytuacji jest fakt<br />

zastosowania podziału rozmytego. Ten niepoŜądany efekt moŜemy próbować<br />

zniwelować, jeŜeli bliŜej przyjrzymy się definicjom funkcji µ" wyznaczających<br />

przedziały rozmyte. Okazuje się, Ŝe obiekt uczący leŜący na jednym z krańców<br />

przestrzeni jest klasyfikowany w sposób trudniejszy niŜ pozostałe obiekty (w danym<br />

wymiarze jego klasyfikację wyznacza zawsze tylko jedna funkcja µ"). Powiększając w<br />

niewielkim stopniu przestrzeń danych uczących moŜemy zmienić tę sytuację. Dla<br />

drobnej zmiany przestrzeni P w przestrzeń P' polegającej na określeniu dolnej granicy<br />

przestrzeni dla wymiaru Y jako wartości 0,06 otrzymujemy juŜ znaczące zmiany<br />

wartości K max (tabela 7-7).<br />

Nazwa zbioru<br />

K max<br />

"240 danych uczących" 15<br />

"Zbiór uczący 1" 15<br />

"Zbiór uczący 2" 16<br />

"Zbiór uczący 3" 14<br />

Tabela 7-7. Wartość K max dla poszczególnych zbiorów uczących w przestrzeni P'<br />

Jak widać z tabeli 7-7 nastąpiło znaczne zmniejszenie wartości K max w<br />

przestrzeni P':<br />

〈0; 3,214286〉 × 〈0,06; 12,55556〉 × 〈0,0<strong>70</strong>58824; 12,7619〉<br />

ale tylko dla trzeciego zbioru uczącego - w przypadku dwóch pozostałych nastąpił efekt<br />

odwrotny. Jednak po drobnej regulacji (zaokrąglenia) pozostałych granic przestrzeni<br />

otrzymano przestrzeń P" wyznaczoną następująco:<br />

〈-0,01; 3,22〉 × 〈0,06; 12,76〉 × 〈0,06; 12,77〉<br />

dla której otrzymano wartości K max dla poszczególnych zbiorów uczących zebrane w<br />

tabeli 7-8.


140<br />

Nazwa zbioru<br />

K max<br />

"240 danych uczących" 15<br />

"Zbiór uczący 1" 12<br />

"Zbiór uczący 2" 13<br />

"Zbiór uczący 3" 15<br />

Tabela 7-8. Wartość K max dla poszczególnych zbiorów uczących w przestrzeni P'<br />

NaleŜy zauwaŜyć, Ŝe tylko drobne regulacje granic przestrzeni nie wymagają<br />

ponownego wyznaczania wartości N X , N Y , N Z . JeŜeli decydujemy się na znaczne zmiany<br />

rozmiarów przestrzeni, to powinniśmy ponownie wyznaczyć parametry transformacji:<br />

funkcję g oraz wartości N X , N Y , N Z .<br />

Reasumując powinniśmy podczas wyznaczania przestrzeni uczącej kierować się<br />

nieco zmodyfikowanymi wzorami 7-2 – 7-4, a mianowicie:<br />

∧<br />

nowy x<br />

xi<br />

=<br />

i ∈ 1,<br />

N max −<br />

∧<br />

nowy y<br />

yi<br />

=<br />

i ∈ 1,<br />

N max −<br />

∧<br />

nowy z<br />

zi<br />

=<br />

i ∈ 1,<br />

N max −<br />

i<br />

− min{ xi}<br />

{ x } min{ x }<br />

i<br />

i<br />

− min{ yi}<br />

{ y } min{ y }<br />

i<br />

i<br />

− min{ zi}<br />

{ z } min{ z }<br />

i<br />

i<br />

i<br />

i<br />

(7-26)<br />

(7-27)<br />

(7-28)<br />

gdzie N jest liczbą obiektów uczących oraz<br />

min’{x i }=min{x i : i=1,2, ...,N} - dx min , min{y i }=min{y i : i=1,2, ...,N} - dy min ,<br />

min’{z i }=min{z i : i=1,2, ...,N} - dz min , max’{x i }=max{x i : i=1,2, ...,N} + dx max ,<br />

max’{y i }=max{y i : i=1,2, ...,N} + dy max , max’{z i }=max{z i : i=1,2, ...,N} + dz max i<br />

dx min , dy min , dz min , dx max , dy max , dz max , ∈ R + ∪{0}.


141<br />

7.6. Parametryzacja algorytmu genetycznego<br />

Narzędziem redukcji liczby reguł zapisanych w zbiorze reguł S (wzory 5-10 i 5-<br />

11) i uzyskanych dla zbioru danych uczących o nazwie „Zbiór uczący 1” jest algorytm<br />

genetyczny, który dąŜy do minimalizacji liczby reguł rozmytych uŜywanych do<br />

klasyfikacji przy jednoczesnym zachowaniu poprawności wykonywanej klasyfikacji.<br />

Aby osiągnąć ten cel, algorytm genetyczny usiłuje wyznaczyć maksimum funkcji<br />

f (A) → R danej wzorem 5-19 za pomocą jednej z trzech opisanych uprzednio funkcji<br />

przystosowania poprzez wzory 5-26, 5-33, 5-34. PoniewaŜ jednak wartość funkcji<br />

przystosowania 5-26 niewiele mówi o jakości procesu uczenia, a nie zaobserwowano<br />

zmiany jakości uzyskiwanych wyników podczas stosowania funkcji opisanej wzorem 5-<br />

34, to do dalszych praktycznych obliczeń uŜywana była funkcja opisana wzorem 5-33.<br />

Parametry a, b, c i m opisujące tę funkcję (wzór 5-33) nie miały istotnego wpływu na<br />

jakość uzyskiwanych przez algorytm genetyczny wyników. Zupełnie bez znaczenia dla<br />

podanego przykładu obliczeniowego okazały się parametry: oceniający istotność funkcji<br />

kary c, czy skalującą potęgą funkcję przystosowania m. Parametry a i b miały o tyle<br />

mierzalny wpływ, Ŝe określały odpowiednio: na ile zaleŜy nam na uzyskaniu poprawnej<br />

klasyfikacji, a ile na redukcji liczby praw. Zmniejszenie proporcji pomiędzy nimi<br />

poniŜej 20:1 skutkowało niekiedy istotniejszą redukcją liczby praw, ale kosztem<br />

wykonywanej klasyfikacji, co dla systemu informatycznego nie powinno być<br />

dopuszczalne. Ostatecznie po kilkudziesięciu przebiegach próbnych algorytmu<br />

genetycznego ustalono, Ŝe dla wszelkich dalszych testów:<br />

a = 20, b = 1, c = 0.1, m = 1.<br />

W kaŜdym z uzyskanych w algorytmie genetycznym chromosomów reguła R K ijk<br />

uzyskana z algorytmu 7-1 zapisana jest na r-tej pozycji chromosomu (locus) zgodnie ze<br />

wzorem 7-30 (adaptacja wzoru 5-21).<br />

2<br />

⎧ K<br />

= ⎪K<br />

⎨<br />

⎪∑ − 1<br />

r<br />

3<br />

h +<br />

⎩h=<br />

2<br />

( i −1) + K( j −1) + ( k −1)<br />

+ 1<br />

2<br />

K ( i −1) + K( j −1) + ( k −1)<br />

+ 1<br />

Wartość genu na r-tej pozycji moŜe przyjąć 3 wartości:<br />

dla<br />

dla<br />

K = 2<br />

K > 2<br />

0 - gdy reguła R K ijk jest nieistotna<br />

1 - gdy reguła R K ijk naleŜy do zbioru B – jest uŜywana do klasyfikacji<br />

2 - gdy reguła R K ijk nie naleŜy do zbioru B.<br />

(7-29)


142<br />

Łączna długość chromosomu uzyskanego dla K max = 12 (wg tabeli 7-8) wynosi (wzór 5-<br />

12 i rysunek 8-46):<br />

2 3 +3 3 +4 3 +5 3 +6 3 +7 3 +8 3 +9 3 +10 3 +11 3 +12 3 = 6083<br />

z czego (rysunek 8-46) 2842 uzyskanych reguł jest nieistotnych. Wyraźnie z<br />

powyŜszych obliczeń wynika istotność rozwaŜań przeprowadzonych w poprzednich<br />

rozdziałach (rozdział 5-2, 7-4 i 7-5) o redukcji liczby podziałów K max niezbędnych do<br />

uzyskania reguł poprawnie klasyfikujących dane uczące, gdyŜ juŜ dla K max = 15 (wzór<br />

5-12) długość chromosomu wynosiłaby 14399.<br />

Początkowo algorytm genetyczny wyznaczający maksimum funkcji f danej<br />

wzorem 5-19 uruchamiany był dla krzyŜowania jednopunktowego, selekcji ruletkowej,<br />

prawdopodobieństwa wylosowania jedynki w zerowej generacji wynoszącym 0,5 i dla<br />

zachowywania najlepszego osobnika w następnej generacji. Dla prawdopodobieństwa<br />

wykonania mutacji wynoszącego 0,001 i prawdopodobieństwa krzyŜowania<br />

wynoszącego 1, dla liczności populacji wynoszącej 100, otrzymywano po 2000<br />

generacji poprawną klasyfikację wszystkich 168 obiektów uczących, ale za pomocą<br />

około 900 reguł.<br />

Regulacja warunku zakończenia algorytmu tj. uzyskania satysfakcjonującej<br />

liczby pokoleń nie wpływała na poprawę wykonania algorytmu. Po sprawdzeniu<br />

wartości od 100 do 4000 ustalono tę wartość na 2000. Po jej przekroczeniu nie<br />

obserwowano juŜ istotnej poprawy uzyskiwanego wyniku (najwyŜej drobne korekty).<br />

Nieco lepsze wyniki zaczęto uzyskiwać po zmianie wartości<br />

prawdopodobieństwa wylosowania jedynki w generacji zerowej (startowej). Algorytm<br />

genetyczny realizował się szybciej dla mniejszej wartości tego parametru wynoszącej<br />

od 0.1 do 0.2 i po 2000 pokoleń uzyskiwano około 500 reguł klasyfikujących wszystkie<br />

dane uczące. Poprawiono więc przebieg algorytmu, ale nie jego proces rozwiązywania<br />

zadania. Dlatego ostatecznie ustalono wartość tę na poziomie 0.1 – nie wpływa ona<br />

istotnie na jakość uzyskanego rozwiązania.<br />

Badania (tj. wykonane próbnie przebiegi algorytmu) nad licznością populacji<br />

algorytmu genetycznego wykazały, Ŝe i ta wartość nie wpływa znacząco na jakość<br />

uzyskiwanego rozwiązania. Dla liczności 50, 100, 200 rezultaty były podobne i<br />

ostatecznie ustalono, Ŝe najwłaściwszą wartością będzie 50, co przynajmniej zmniejszy<br />

czasochłonność obliczeń.


Oczywiście pracujący algorytm genetyczny celem zaproponowania najlepszego<br />

wyniku po jego zakończeniu powinien ów wynik kopiować z pokolenia na pokolenie i<br />

dlatego to właśnie ustawienie parametru jego pracy będzie uŜywane.<br />

Regulacja parametru, który w sposób losowy miał zaburzać skłonność do<br />

ujednolicania się populacji z powodu upodabniania się jej do najlepszego osobnika –<br />

mutacja, równieŜ nie wpływała w sposób znaczący na poprawę uzyskiwanych<br />

wyników. Ustalono więc, Ŝe zachodzić będzie w sposób sporadyczny to jest jeden raz<br />

podczas budowy nowego chromosomu (czyli prawdopodobieństwo mutacji jednego<br />

genu wynosi jeden dzielone przez długość chromosomu tu 1/6083 ≈ 0.0001643<br />

rysunek 8-46).<br />

Dopiero istotną poprawę jakości uzyskiwanych wyników uzyskano po<br />

wprowadzeniu krzyŜowania wielopunktowego. Dla krzyŜowania 4-punktowego (przy<br />

prawdopodobieństwie zajścia samego krzyŜowania wynoszącego 100%) po 2000<br />

generacji uzyskano 165 reguł jeŜeli-to zdolnych klasyfikować poprawnie 167 ze 168<br />

danych uczących. Doświadczalnie ustalono, Ŝe wykonywane będzie krzyŜowanie 50-<br />

punktowe (m.in. ze względu na to, Ŝe długość chromosomu przekracza 6000).<br />

Celem poprawy i tego rezultatu wykonano testowe przebiegi algorytmu dla<br />

krzyŜowania proporcjonalnego. Wykonywano wtedy krzyŜowanie 12-punktowe (z<br />

powodu pracy na chromosomie zapisującym prawa uzyskane z 12 podziałów) przy<br />

czym na kaŜdym z odcinków chromosomu chS K (rysunek 5-11 i wzór 5-22)<br />

prawdopodobieństwo wykonania krzyŜowania wynosiło 100%. Jednak i ta modyfikacja<br />

nie poprawiła juŜ uzyskiwanych wyników po wprowadzeniu krzyŜowania<br />

wielopunktowego.<br />

Innym sposobem poprawy uzyskiwanego wyniku było zastosowanie selekcji<br />

turniejową dla rozmiaru turnieju 2. Dla 40-punktowego krzyŜowania,<br />

prawdopodobieństwa mutacji 0,0005 dla ilości osobników w generacji 200 dla<br />

prawdopodobieństwa wylosowania jedynki w generacji startowej 0,2 otrzymano:<br />

- po 2000 pokoleniach 94 reguły zdolne poprawnie klasyfikować 166 elementów<br />

uczących (dla selekcji ruletkowej)<br />

- po 400 pokoleniach 145 reguł zdolnych poprawnie klasyfikować wszystkie 168<br />

danych uczących (dla selekcji turniejowej).<br />

Pomimo zastosowania selekcji turniejowej nie udało się znacząco zredukować ilości<br />

reguł niezbędnych do dokonania poprawnej klasyfikacji.<br />

143


Po wyczerpaniu moŜliwości regulacji parametrów pracy algorytmu genetycznego i<br />

uzyskiwaniu mało satysfakcjonujących wyników, gdyŜ zbyt wielka liczba reguł słuŜyła<br />

do klasyfikacji wszystkich danych uczących, zdecydowano na wprowadzenie nowych<br />

operatorów genetycznych do algorytmu (rozdział 5.3.7).<br />

144<br />

Operator mutacji „usunięcie jedynki” ma za zadanie usunąć z chromosomu<br />

zapisaną wartość 1 i wymienić ją na 2, co odpowiada operacji usunięcia zapisanej w<br />

danym genie reguły jeŜeli-to ze zbioru reguł A uwzględnianych przy klasyfikacji. Ma on<br />

zrównowaŜyć działanie klasycznego operatora mutacji, który losowo zamienia<br />

napotkane wartości 1 na 2 i 2 na 1, ale poniewaŜ w dobrze dostosowanych<br />

chromosomach liczba jedynek jest znacznie mniejsza niŜ dwójek, to operator ten dla<br />

pokoleń o wyŜszych numerach raczej przeszkadza w uzyskaniu lepszego rezultatu. Po<br />

ustaleniu prawdopodobieństwa zajścia mutacji „usuwającej jedynkę” na poziomie 10<br />

zmian w całym chromosomie podczas jego konstrukcji juŜ po 75 generacjach uzyskano<br />

148 reguł potrafiących poprawnie klasyfikować 161 na 168 danych uczących. Niestety<br />

aŜ do generacji 2000 nie udało się poprawić uzyskanego rezultatu, co sugeruje, Ŝe<br />

przyjęte prawdopodobieństwo zadziałania tego operatora jest zbyt duŜe. Dla dwukrotnie<br />

obniŜonego prawdopodobieństwa (zaistnienie takiej mutacji na poziomie 5 zmian w<br />

chromosomie podczas jego tworzenia) uzyskano lepszy wynik, gdy zawarte w<br />

chromosomie reguły w liczbie 135 potrafiły poprawnie sklasyfikować więcej danych<br />

uczących niŜ uprzednio tj. 165 na 168 danych uczących. Zaproponowany operator miał<br />

więc odczuwalny wpływ na generowane rezultaty. Najlepszym uzyskanym wynikiem z<br />

uŜyciem jedynie tego operatora (bez dalszych tu wprowadzonych) był przebieg, gdzie<br />

dla 40-punktowego krzyŜowania, prawdopodobieństwa klasycznej mutacji 0.0005, 200<br />

osobników w generacji, prawdopodobieństwa wylosowania 1 w startowej generacji 0.2,<br />

dla selekcji turniejowej dla rozmiaru turnieju 2, dla zachowania najlepszego osobnika,<br />

po 2000 pokoleń otrzymano 83 reguły klasyfikujące poprawnie 167 obiektów uczących.<br />

Nadal jednak nie jest to wynik satysfakcjonujący, gdyŜ rezultat ten uzyskano juŜ w 650<br />

pokoleniu i nie uległ on jakiejkolwiek poprawie, aŜ do 2000 pokolenia.<br />

Operator mutacji „inteligentne przesunięcie jedynki” ma na celu przeniesienie<br />

prawa zapisanego w danej lokalizacji i uŜywanego do klasyfikacji (stąd mówimy o<br />

przesunięciu jedynki, która to właśnie symbolizuje prawo uŜywane do klasyfikacji) do<br />

obszaru praw w chromosomie uzyskanych z poprzedniego podziału (a więc nie działa<br />

ten operator na prawach z podziału pierwszego, gdy K = 2) tak, aby obszar kodowany


przez nowe prawo uŜyte do klasyfikacji miał część wspólną z obszarem, który był<br />

przypisany do prawa z pozycji chromosomu, z której właśnie została usunięta jedynka.<br />

Dopiero zastosowanie tego operatora z prawdopodobieństwem wymuszającym jedną<br />

taką zmianę w chromosomie podczas jego tworzenia pozwoliła na zredukowanie liczby<br />

reguł uŜywanych do klasyfikacji do 50 istotnych reguł, ale nie moŜna było wymóc<br />

wykonania nimi poprawnej klasyfikacji wszystkich danych uczących.<br />

Z tego powodu uŜyto operatora mutacji „nieproporcjonalnego wstawienia<br />

jedynki”. Operator ów ma za zadanie wstawić wartość 1 w gen znajdujący się we<br />

fragmencie chromosomu, którego pozycje kodują reguły jeŜeli-to uzyskane z ostatniego<br />

podziału K max . Operator ten ma działać w niewielkim stopniu i dlatego ustalono, Ŝe<br />

będzie wykonywany nie częściej niŜ 1 raz na całym chromosomie podczas jego<br />

tworzenia.<br />

Po zastosowaniu nowych operatorów mutacji bardzo często uzyskiwany w 2000<br />

pokoleniu wynik przebiegu algorytmu genetycznego kodował sobą mniej niŜ 50 praw<br />

zdolnych do poprawnej klasyfikacji wszystkich 168 danych uczących. Za wyniki<br />

najlepsze (tj. grupę ekspertów I opisaną w rozdziale 5.3.8) uznano te rezultaty, które<br />

kodują sobą mniej niŜ 40 reguły jeŜeli-to potrafiące poprawnie zidentyfikować 167 lub<br />

168 przykładowych danych uczących (rysunki 8-50, 8-55 i 7-12). Wyniki te tworzą<br />

grupę I współpracujących ze sobą ekspertów (zgodnie ze wzorem 5-43), a prawa w<br />

nich zawarte słuŜą człowiekowi do wyciągania własnych wniosków (rysunki 8-53 i 8-<br />

54) m.in. o tym jak często grupa ma zapisane w sobie to samo prawo.<br />

145<br />

Rysunek 7-12. Analiza jakości uzyskanego eksperta: obszary decyzyjne


Prawo R(K = 3, i = 2, j = 1, l = 3):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania zupełne o duŜej energii<br />

z maksymalną pewnością 75.54 procent".<br />

Prawo R(K = 3, i = 2, j = 2, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 49.91 procent".<br />

Prawo R(K = 4, i = 2, j = 1, l = 1):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania niezupełne o duŜej energii<br />

z maksymalną pewnością 76.54 procent".<br />

Prawo R(K = 4, i = 2, j = 1, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania niezupełne o małej energii<br />

z maksymalną pewnością 29.17 procent".<br />

Prawo R(K = 4, i = 2, j = 3, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 83.11 procent".<br />

Prawo R(K = 5, i = 1, j = 2, l = 5):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 95.31 procent".<br />

Prawo R(K = 5, i = 1, j = 5, l = 3):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 50.53 procent".<br />

Prawo R(K = 5, i = 4, j = 1, l = 3):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania zupełne o duŜej energii<br />

z maksymalną pewnością 100.00 procent".<br />

Prawo R(K = 6, i = 2, j = 2, l = 3):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością <strong>70</strong>.27 procent".<br />

Prawo R(K = 6, i = 2, j = 3, l = 6):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 45.12 procent".<br />

Prawo R(K = 7, i = 1, j = 4, l = 4):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 93.10 procent".<br />

Prawo R(K = 7, i = 1, j = 7, l = 7):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 100.00 procent".<br />

Prawo R(K = 7, i = 2, j = 4, l = 5):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 80.25 procent".<br />

Prawo R(K = 8, i = 1, j = 2, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 75.10 procent".<br />

Prawo R(K = 8, i = 1, j = 3, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 150°C i poni Ŝej 300°C<br />

z maksymalną pewnością 100.00 procent".<br />

Prawo R(K = 8, i = 1, j = 3, l = 6):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 66.11 procent".<br />

Prawo R(K = 8, i = 1, j = 6, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 83.59 procent".<br />

Prawo R(K = 8, i = 1, j = 6, l = 7):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 100.00 procent".<br />

Prawo R(K = 8, i = 1, j = 7, l = 4):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 99.35 procent".<br />

Prawo R(K = 8, i = 1, j = 7, l = 5):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej 300°C i poni Ŝej <strong>70</strong>0°C<br />

z maksymalną pewnością 89.43 procent".<br />

Prawo R(K = 8, i = 2, j = 1, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 35.79 procent".<br />

Prawo R(K = 8, i = 2, j = 2, l = 3):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania zupełne o małej energii<br />

z maksymalną pewnością 66.53 procent".<br />

Prawo R(K = 8, i = 2, j = 2, l = 4):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania zupełne o małej energii<br />

z maksymalną pewnością 59.44 procent".<br />

Prawo R(K = 8, i = 2, j = 2, l = 5):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie poniŜej 150°C<br />

z maksymalną pewnością 57.55 procent".<br />

Prawo R(K = 9, i = 1, j = 1, l = 1):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania niezupełne o duŜej energii<br />

z maksymalną pewnością 100.00 procent".<br />

146


147<br />

Prawo R(K = 9, i = 1, j = 1, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania niezupełne o małej energii<br />

z maksymalną pewnością 47.09 procent".<br />

Prawo R(K = 9, i = 1, j = 1, l = 4):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Wyładowania niezupełne o małej energii<br />

z maksymalną pewnością 98.05 procent".<br />

Prawo R(K = 9, i = 1, j = 4, l = 3):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 93.05 procent".<br />

Prawo R(K = 9, i = 1, j = 4, l = 8):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 80.63 procent".<br />

Prawo R(K = 9, i = 1, j = 5, l = 9):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 90.83 procent".<br />

Prawo R(K = 9, i = 7, j = 3, l = 8):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Przegrzanie powyŜej <strong>70</strong>0°C<br />

z maksymalną pewnością 58.15 procent".<br />

Prawo R(K = 11, i = 1, j = 7, l = 4):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 100.00 procent".<br />

Prawo R(K = 11, i = 1, j = 9, l = 2):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 46.71 procent".<br />

Prawo R(K = 12, i = 1, j = 3, l = 8):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością <strong>70</strong>.30 procent".<br />

Prawo R(K = 12, i = 1, j = 6, l = 11):<br />

"KaŜdy element (x,y,z) naleŜący do podprzestrzeni x x <br />

zostanie zakwalifikowany jako Bez uszkodzeń<br />

z maksymalną pewnością 58.05 procent".<br />

Tabela 7-9. Zapis 35 praw klasyfikujących wszystkie 168 danych uczących<br />

7.7. Porównanie technik generowania reguł<br />

W pracy przedstawiono wiele róŜnorodnych technik generowania reguł<br />

klasyfikujących oraz algorytmów redukcji ich liczby. Rozwiązanie problemu uzyskania<br />

moŜliwie małej liczby reguł, z których to zapisu mógłby czerpać wiedzę człowiek, przy<br />

jednoczesnym zachowaniu wysokiej jakości wykonywanej klasyfikacji<br />

diagnozowanych pomiarów stanów stęŜeń gazów rozpuszczalnych w oleju<br />

transformatorowym metoda chromatografii gazowej – DGA, zawsze nastręczało<br />

trudność oszacowania, które z kryteriów jest istotniejsze. W związku z tym poniŜsza<br />

tabela 7-16 stanowi zestawienie jakości omówionych tu metod. PoniewaŜ jednak<br />

metody te stosują róŜne techniki zapisu reguł, to bezpośrednie porównanie liczby reguł<br />

nie jest miarodajne. Dlatego porównano w niej nie liczbę reguł, a liczbę zawartych w<br />

nich obszarów decyzyjnych, w które jeŜeli umieszczony zostanie punkt pomiarowy, to<br />

podejmowana jest na nim diagnoza.<br />

Dla kodu IEC wg tabel 6-1 i 6-3 oraz rysunku 6-3 moŜemy wyodrębnić 11<br />

obszarów decyzyjnych (tabela 6-1 informuje, Ŝe kaŜda wartość kodu IEC oznacza


oddzielny odcinek na danym wymiarze, a tabela 6-3 mówi, Ŝe z tych odcinków złoŜono<br />

11 reguł; całość wizualizuje rysunek 6-3). Dane wg tabeli 6-4, ale ograniczone do<br />

wykonanych uprzednio zbiorów uczących („240 danych uczących” oraz „zbiór uczący<br />

1”), posłuŜą do wyznaczenia liczby poprawnych diagnoz (diagnoza postawiona przez<br />

człowieka-eksperta i uzyskana z metody kodu IEC jest taka sama).<br />

148<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą kodu IEC<br />

240 danych<br />

uczących<br />

168 danych<br />

uczących<br />

Bez uszkodzeń 11 7<br />

Przegrzanie poniŜej 150 o C 2 2<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 3 2<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 46 31<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 71 49<br />

Wyładowania niezupełne o duŜej energii 1 1<br />

Wyładowania niezupełne o małej energii 7 6<br />

Wyładowania zupełne o duŜej energii 19 14<br />

Wyładowania zupełne o małej energii 3 2<br />

Razem: 163 114<br />

Tabela 7-10. Porównanie dla wyselekcjonowanych zbiorów uczących zgodności<br />

diagnozy postawionej przez człowieka-eksperta z diagnozą uzyskaną metodą kodu IEC<br />

Wysoka zgodność diagnozy stawianej przez człowieka-eskperta z diagnozą<br />

uzyskaną metodą kodu IEC (rzędu 68%) świadczy tym, Ŝe tworząc kod IEC<br />

uwzględniono doświadczenie i wiedzę ekspercką.<br />

Metoda polska pogłębiona będąc rozwinięciem metody kodu IEC o dodatkowe<br />

sprawdzenia diagnozy w dotyczące przegrzań uzyska w wyniku tychŜe dodatkowych<br />

sprawdzeń niŜszą niŜ sama metoda kodu IEC zgodność z diagnozą stawianą przez<br />

człowieka-eksperta (tabela 7-11). Liczba samych obszarów decyzyjnych nie ulega<br />

zmianie względem kodu IEC. Dla diagnoz nie dotyczących przegrzań dla tej metody nie<br />

uwzględniano przypadków, gdy diagnoza traktowana była jedynie jako symptom<br />

uszkodzenia, gdyŜ stęŜenie Ŝadnego z analizowanych gazów nie przekroczyło wartości<br />

dopuszczalnych przedstawionych w tabeli 6-5.


149<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą polską<br />

pogłębioną<br />

240 danych<br />

uczących<br />

168 danych<br />

uczących<br />

Bez uszkodzeń 11 7<br />

Przegrzanie poniŜej 150 o C 0 0<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 2 1<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 26 19<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 50 31<br />

Wyładowania niezupełne o duŜej energii 1 1<br />

Wyładowania niezupełne o małej energii 7 6<br />

Wyładowania zupełne o duŜej energii 19 14<br />

Wyładowania zupełne o małej energii 3 2<br />

Razem: 119 81<br />

Tabela 7-11. Porównanie dla wyselekcjonowanych zbiorów uczących zgodności<br />

diagnozy postawionej przez człowieka-eksperta z diagnozą uzyskaną metodą polską<br />

pogłębioną<br />

Zestawienie danych w tabeli 7-11 jest o tyle istotne, Ŝe metoda ta potwierdza<br />

dodatkowo (względem metody kodu IEC) przypadki przegrzań, czym utwierdza<br />

człowieka w słuszności postawionej diagnozy.<br />

Metoda niemiecka swoje decyzje diagnostyczne podobnie jak metoda kodu IEC<br />

podejmuje w oparciu o kod (metody niemieckiej) opisujący sobą rozłączne obszary<br />

decyzyjne (tabela 6-9). Stąd i z tabeli 6-10 wnioskujemy o istnieniu 8 obszarów<br />

decyzyjnych. Jest to mniej niŜ klas uŜywanych podczas wykonywania diagnozy przez<br />

człowieka-eksperta, poniewaŜ człowiek wykonujący diagnozy wzorował się na<br />

metodzie polskiej i kodu IEC, a metoda niemiecka nie uwzględnia klasy uszkodzenia<br />

„Przegrzanie poniŜej 150 o C”, które jest uŜywane w metodzie polskiej i kodu IEC.<br />

Uzyskana niska zgodność (rzędu 20%) diagnoz metody niemieckiej z diagnozami<br />

wykonanymi przez człowieka-eksperta, a uzyskanymi z metody niemieckiej (tabela 7-<br />

12) wynika z surowych kryteriów diagnostycznych stosowanych w metodzie<br />

niemieckiej.


150<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą niemiecką<br />

240 danych<br />

uczących<br />

168 danych<br />

uczących<br />

Bez uszkodzeń 0 0<br />

Przegrzanie poniŜej 150 o C - -<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 0 0<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 25 17<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 4 3<br />

Wyładowania niezupełne o duŜej energii 0 0<br />

Wyładowania niezupełne o małej energii 7 6<br />

Wyładowania zupełne o duŜej energii 11 8<br />

Wyładowania zupełne o małej energii 0 0<br />

Razem: 47 34<br />

Tabela 7-12. Porównanie dla wyselekcjonowanych zbiorów uczących zgodności<br />

diagnozy postawionej przez człowieka-eksperta z diagnozą uzyskaną metodą niemiecką<br />

Metoda francuska wyznacza obszary decyzyjne w tablicy sprawdzianów (tabela<br />

6-12) i uŜywa ich 10.<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą francuską<br />

240 danych<br />

uczących<br />

168 danych<br />

uczących<br />

Bez uszkodzeń 12 7<br />

Przegrzanie poniŜej 150 o C 1 1<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 0 0<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 35 21<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 35 23<br />

Wyładowania niezupełne o duŜej energii 0 0<br />

Wyładowania niezupełne o małej energii 9 6<br />

Wyładowania zupełne o duŜej energii 20 14<br />

Wyładowania zupełne o małej energii 1 1<br />

Razem: 113 73<br />

Tabela 7-13. Porównanie dla wyselekcjonowanych zbiorów uczących zgodności<br />

diagnozy postawionej przez człowieka-eksperta z diagnozą uzyskaną metodą francuską<br />

Obszary decyzyjne dla metody kanadyjskiej w liczbie 7 zawarte są w trójkącie<br />

Duvala (rysunek 6-4) i zapisane w postaci algorytmu zastosowania w tabeli 6-15.<br />

NaleŜy zaznaczyć, Ŝe metoda ta (o ile się daje zastosować) zawsze stawia diagnozę i


nigdy nie jest to stan „Bez uszkodzeń”. Niska zgodność (około 8%) tej metody i metody<br />

kodu IEC wynika z zupełnie odmiennych kryteriów stawiania diagnozy.<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą kanadyjską<br />

240 danych<br />

uczących<br />

168 danych<br />

uczących<br />

Bez uszkodzeń - -<br />

Przegrzanie poniŜej 150 o C 2 2<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 0 0<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 0 0<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 0 0<br />

Wyładowania niezupełne o duŜej energii 6 4<br />

Wyładowania niezupełne o małej energii 1 1<br />

Wyładowania zupełne o duŜej energii 10 7<br />

Wyładowania zupełne o małej energii 0 0<br />

Razem: 19 14<br />

Tabela 7-14. Porównanie dla wyselekcjonowanych zbiorów uczących zgodności<br />

diagnozy postawionej przez człowieka-eksperta z diagnozą uzyskaną metodą<br />

kanadyjską<br />

151<br />

Omówiona w rozdziale 6.3.1 zmodyfikowana metoda a-najbliŜszych sąsiadów nie<br />

tworzy obszarów decyzyjnych, gdyŜ opiera się na podobieństwie badanego obiektu do z<br />

góry określonej puli najbardziej do niego zbliŜonych parametrami.<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą<br />

a-najbliŜszych sąsiadów<br />

240 danych<br />

uczących<br />

168 danych<br />

uczących<br />

Bez uszkodzeń 23 15<br />

Przegrzanie poniŜej 150 o C 0 0<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 0 0<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 61 43<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 76 55<br />

Wyładowania niezupełne o duŜej energii 2 2<br />

Wyładowania niezupełne o małej energii 8 8<br />

Wyładowania zupełne o duŜej energii 15 10<br />

Wyładowania zupełne o małej energii 0 0<br />

Razem: 185 133<br />

Tabela 7-15. Porównanie dla wyselekcjonowanych zbiorów uczących zgodności<br />

diagnozy postawionej przez człowieka-eksperta z diagnozą uzyskaną metodą a-<br />

najbliŜszych sąsiadów opartą na 168 danych uczących.


Wyniki zestawione w tabeli 7-15 opierają się na tej metodzie zrealizowanej w 3-<br />

wymiarowej przestrzeni definiowanej wzorami metody kodu IEC w oparciu o zbiór 168<br />

danych uczących. Jako pewna forma sprawdzenia jakości tejŜe metody dla 168 danych<br />

uczących (uŜytych do wyznaczania diagnozy) zostanie podjęta próba klasyfikacji<br />

danych pochodzących ze zbioru 240 danych uczących. NaleŜy tu jednak zwrócić<br />

uwagę, Ŝe metoda ta zachowuje się poprawnie jedynie dla licznych reprezentantów<br />

danej klasy stanu technicznego transformatora. Dla diagnoz o stanie technicznym<br />

stawianych sporadycznie, praktycznie uniemoŜliwia ich wykonanie (np.: przegrzania<br />

niskotemperaturowe, czy wyładowania zupełne małej energii).<br />

152<br />

Opisane w rozdziałach 6.3.3, 6.3.4, 6.3.5 wyniki algorytmu dyskretyzacji,<br />

wykonania drzewa decyzyjnego, czy budowania reguł za pomocą algorytmu<br />

genetycznego (co zaimplementowano w programie ga_new.exe – opisanego w rozdziale<br />

8) na zbiorze 240 danych uczących zostały wpisane do tabeli 7-16. Metody te potrafią<br />

ze 100% poprawnością wykonać klasyfikację, ale dla analizowanego zbioru uczącego<br />

odbywa się to kosztem duŜej liczby obszarów decyzyjnych. MoŜna zaobserwować w<br />

tabeli 7-16, Ŝe na zbiorze 240 danych uczących algorytm genetyczny (oznaczony<br />

ga_new 240 ) potrafił zredukować liczbę obszarów decyzyjnych uzyskanych w wyniku<br />

dyskretyzacji danych rzeczywistych lepiej niŜ algorytm drzewa decyzyjnego. Jednak<br />

uzyskana wartość 94 obszary decyzyjne pomimo, Ŝe warta odnotowania jako lepszy (bo<br />

mniej liczny zbiór) rezultat nie wprowadza jakości takiej, Ŝeby z zapisu obszarów<br />

decyzyjnych mógł wiedzę czerpać człowiek.<br />

W związku z tym porównano w tabeli 7-16 wyniki uzyskane na zbiorze 168<br />

danych uczących z algorytmów dyskretyzacji, drzewa decyzyjnego i generacji/redukcji<br />

reguł opisanych na obszarach rozmytych (algorytmy 7-1 i 7-2) zaimplementowanych w<br />

aplikacji Fuzzy3D.exe, którą opisano w rozdziale 8. Liczby poprawnych diagnoz z<br />

danej klasie stanu technicznego skontrolowane na zbiorze 240 danych uczących (wobec<br />

budowy obszarów uczących w oparciu o 168 danych uczących) przedstawia tabela 7-17<br />

i 7-18 odpowiednio dla dyskretyzacji i dla metody Fuzzy3D (algorytmy 7-1 i 7-2).


Nazwa metody 240 danych uczących 168 danych uczących<br />

Liczba<br />

obszarów<br />

decyzyjnych<br />

Liczba i %<br />

poprawnych<br />

diagnoz<br />

Liczba<br />

obszarów<br />

decyzyjnych<br />

Liczba i %<br />

poprawnych<br />

diagnoz<br />

optymalna 9 240 100% 9 168 100%<br />

kodu IEC 11 163 68% 11 114 68%<br />

polska pogłębiona 11 119 50% 11 81 48%<br />

niemiecka 8 47 20% 8 34 20%<br />

francuska 10 113 47% 10 73 43%<br />

kanadyjska 7 19 8% 7 14 8%<br />

sieci Pedrycza 240 48 35 15%<br />

dyskretyzacji 240 182 240 100%<br />

drzewo decyzyjne 240 112 240 100%<br />

ga_new 240 94 240 100%<br />

zmodyfikowana metoda - 185 77% - 133 79%<br />

a-najbliŜszych sąsiadów 168<br />

dyskretyzacji 168 131 192 80% 131 168 100%<br />

drzewo decyzyjne 168 75 192 80% 75 168 100%<br />

Fuzzy3D 168 35 222 93% 35 168 100%<br />

Tabela 7-16. Porównanie metod generowania reguł diagnostycznych i uŜywanych<br />

metod w diagnostyce transformatorów<br />

Diagnoza człowieka-eksperta<br />

153<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą<br />

dyskretyzacji zbioru 168-danych<br />

uczących dla danych ze zbioru<br />

240 danych uczących<br />

Bez uszkodzeń 31<br />

Przegrzanie poniŜej 150 o C 2<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 3<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 53<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 66<br />

Wyładowania niezupełne o duŜej energii 6<br />

Wyładowania niezupełne o małej energii 9<br />

Wyładowania zupełne o duŜej energii 19<br />

Wyładowania zupełne o małej energii 3<br />

Razem: 192<br />

Tabela 7-17. Porównanie diagnozy postawionej przez człowieka-eksperta z diagnozą<br />

wykonywaną na zbiorze 240 danych uczących wg obszarów decyzyjnych uzyskanych<br />

metodą dyskretyzacji na zbiorze 168 danych uczących.


154<br />

Diagnoza człowieka-eksperta<br />

Liczba zgodnych diagnoz<br />

uzyskanych metodą Fuzzy3D wg<br />

zbioru 168-danych uczących dla<br />

danych ze zbioru 240 danych<br />

uczących<br />

Bez uszkodzeń 37<br />

Przegrzanie poniŜej 150 o C 2<br />

Przegrzanie powyŜej 150 o C i poniŜej 300 o C 3<br />

Przegrzanie powyŜej 300 o C i poniŜej <strong>70</strong>0 o C 61<br />

Przegrzanie powyŜej <strong>70</strong>0 o C 78<br />

Wyładowania niezupełne o duŜej energii 6<br />

Wyładowania niezupełne o małej energii 11<br />

Wyładowania zupełne o duŜej energii 21<br />

Wyładowania zupełne o małej energii 3<br />

Razem: 222<br />

Tabela 7-18. Porównanie diagnozy postawionej przez człowieka-eksperta z diagnozą<br />

wykonywaną na zbiorze 240 danych uczących wg obszarów decyzyjnych uzyskanych<br />

metodą Fuzzy3D na zbiorze 168 danych uczących.<br />

Dodatkowo wpisany jest do tabeli 7-16 rezultat najlepszy z moŜliwych (jako<br />

metoda „optymalna”): za pomocą 9 obszarów decyzyjnych (po jednym na kaŜdą klasę<br />

opisującą sta techniczny transformatora) moŜna diagnozować poprawnie wszystkie dane<br />

uczące.<br />

Uzupełnieniem tabeli 7-16 jest metoda sieci neuronowych Pedrycza, ale z<br />

powodu przeprowadzenia ich uczenia w nieco innej przestrzeni, nie wnosi ona istotnego<br />

rozwiązania.<br />

Tabela 7-16 wyraźnie pokazuje istotną jakość wykonywanej klasyfikacji przez<br />

metodę Fuzzy3D – nie tylko metoda ta uŜywa stosunkowo niewielu reguł rozmytych<br />

opisanych na obszarach decyzyjnych, ale teŜ wykonuje klasyfikację w znacznym<br />

stopniu poprawną. Łączy więc zalety metod dotychczas stosowanych (narodowych i<br />

międzynarodowych), które opierając się na niewielkiej liczbie obszarów decyzyjnych<br />

wykonywały jednak klasyfikację miernej poprawności, z metodami numerycznymi,<br />

które uŜywając wielu obszarów decyzyjnych realizowały usłuŜne narzędzie dla<br />

diagnozującego, które to uŜywając moŜliwości komputerów (baz danych) oferuje<br />

poprawną klasyfikację. Opis tego narzędzia znajduje się w rozdziale 8.


155<br />

8. Moduł systemu ekspertowego: Trafo2000<br />

8.1. Podstawy systemów ekspertowych<br />

System ekspertowy [63] jest oprogramowaniem komputerowym, które na<br />

podstawie szczegółowej wiedzy moŜe wyciągać wnioski i podejmować decyzje,<br />

działając w sposób zbliŜony do procesu rozumowania człowieka. Jednak proces<br />

rozumowania człowieka jest złoŜony - człowiek potrafi uwzględnić róŜnego rodzaju<br />

dane pomiarowe, dokonać ich ponownej interpretacji, skojarzyć z innymi, czy<br />

intuicyjnie uzupełnić dane niekompletne. ZbliŜanie się do tej jakości procesu<br />

rozumowania osiągane jest jedynie poprzez budowę nowych algorytmów programów<br />

komputerowych i zwiększanie mocy obliczeniowych.<br />

Systemy ekspertowe dzielimy na:<br />

- systemy podejmujące decyzje (bez udziału człowieka)<br />

- systemy krytykujące decyzje<br />

- systemy doradcze (prezentujące człowiekowi rozwiązanie do dalszej oceny).<br />

Proces stawiania diagnozy stanu technicznego transformatora jest złoŜony i uwzględnia<br />

nie tylko wyniki badań DGA, ale równieŜ wyniki badań innych metod (takich jak<br />

termiczna, czy wibroakustyczna). Budując system ekspertowy o działaniu zbliŜonym do<br />

działania człowieka, naleŜałoby uwzględnić inne niŜ tylko DGA techniki pomiarowe.<br />

DuŜą rolę w tej diagnostyce pełni doświadczenie człowieka i stąd system ekspertowy<br />

mógłby pełnić rolę jedynie systemu doradczego. Mając na względzie te uwarunkowania<br />

wykonany system informatyczny pełni raczej funkcję pojedynczego, ukierunkowanego<br />

na DGA modułu systemu ekspertowego.<br />

8.2. Moduł Trafo2000<br />

Zbudowany tu system informatyczny o nazwie Trafo2000 zalicza się do kategorii<br />

systemów doradczych. Struktura wykonanego oprogramowania odbiega nieco od<br />

typowej organizacji głównych elementów systemu ekspertowego [63], co spowodowane<br />

jest jego hybrydową budową - w skład systemu Trafo2000 wchodzi oprogramowanie<br />

uczące wykonane w języku Visual C++ ([u.1] – [u.19], [i.13] – [i.15]) z uŜyciem klas


MFC, a pozostałe elementy wykonane są w języku VBA ([u.20] – [u.52]) z<br />

wykorzystaniem dodatkowych moŜliwości jakie daje relacyjna baza danych ([u.53] –<br />

[u.80], [i.16] – [i.18]) MS Access 2000, a szczególnie język SQL.<br />

Trafo2000 składa się z następujących elementów:<br />

a) Trafo2000_data.mdb – baza danych przechowująca wyniki pomiarów DGA<br />

b) Trafo2000_rules.mdb – baza wiedzy przechowująca reguły klasyfikujące<br />

pomiary DGA do danej klasy stanu technicznego<br />

c) Trafo2000_ext.mdb – interfejs uŜytkownika do zarządzania bazą wiedzy<br />

d) Trafo2000.mdb – interfejs uŜytkownika do zarządzania bazą danych<br />

e) Fuzzy3d.exe – aplikacja budująca reguły klasyfikujące zgodnie z algorytmami<br />

genetycznymi opisanymi w rozdziale 5<br />

f) ga_new.exe – aplikacja budująca reguły klasyfikujące zgodnie z algorytmem<br />

opisanym w podrozdziale 6.3.5.<br />

156<br />

Trafo2000 moŜe być uŜywany w trzech konfiguracjach:<br />

- podstawowej, która słuŜy do stawiania diagnoz i przetwarzania informacji o<br />

wykonanych pomiarach<br />

- rozszerzonej, która oprócz zastosowań konfiguracji podstawowej słuŜy do uczenia<br />

rozpoznawania kolejnych grup wzorców (zbiorów uczących)<br />

- minimalnej, która słuŜy tylko do przeprowadzenia uczenia rozpoznawania grupy<br />

wzorców<br />

odpowiednio dla diagnostyka, administratora-programisty, naukowca.<br />

Głównymi elementami logicznymi systemu są baza danych przechowująca wyniki<br />

pomiarów DGA oraz baza wiedzy stałej i zmiennej przechowująca reguły klasyfikujące<br />

pomiary DGA do danej klasy stanu technicznego. Oba te elementy technicznie<br />

zrealizowane są w postaci plików baz danych Trafo2000_data.mdb oraz<br />

Trafo2000_rules.mdb. Do nich wykonane są odpowiednio dwa rozdzielne interfejsy<br />

uŜytkownika - zebrane w plikach Trafo2000.mdb oraz Trafo2000_ext.mdb – słuŜące do<br />

zarządzania posiadanymi danymi oraz bazą wiedzy. Baza wiedzy stałej zbudowana jest<br />

w postaci reguł jeŜeli-to umoŜliwiających wykonanie, które to reguły reprezentują<br />

metody diagnozowania stanu technicznego transformatora olejowego w oparciu o<br />

wyniki DGA uŜywane w chwili obecnej na świecie (czyli metody: kodu IEC, polska,<br />

niemiecka, rosyjska, japońska, kanadyjska, amerykańska). Baza wiedzy zmiennej, to


inaczej baza reguł, które potrafią być generowane (zmieniane) na podstawie opisanych<br />

w pracy algorytmów grupowania i klasyfikacji. Bazę faktów tworzą podzbiory (zbiory<br />

danych uczących * ) zbioru danych pomiarowych zawartych w bazie danych, w oparciu o<br />

które wykonano bazę reguł. Zawarte w bazie faktów dane mogą posłuŜyć jako<br />

uzasadnienie (objaśnienie) wykonanej diagnozy (rys. 8-1).<br />

157<br />

Rysunek 8-1. Główne elementy systemu ekspertowego w konfiguracji podstawowej – interfejs<br />

uŜytkownika wykonany w pliku Trafo2000.mdb<br />

Rysunek 8-2. Główne elementy systemu ekspertowego w konfiguracji minimalnej – interfejs<br />

uŜytkownika tworzą aplikacje Fuzzy3d.exe i ga_new.exe<br />

* Są to tzw. odbitki (migawki, z ang. snapshots) – zapisy wybranej części danych w pewnej chwili czasu<br />

(zobacz [u.<strong>70</strong>], [u.79], [u.80]).


158<br />

Rysunek 8-3. Główne elementy systemu ekspertowego w konfiguracji rozszerzonej – kolejny interfejs<br />

uŜytkownika wykonany w pliku Trafo2000_rules.mdb<br />

Dzięki zastosowaniu popularnych rozwiązań technicznych system ten pozostaje<br />

otwarty na dodatkowe moŜliwości rozbudowy i poszerzenie jego funkcjonalności.<br />

8.2.1. Baza danych pomiarowych<br />

Baza danych zrealizowana w pliku Trafo2000_data.mdb zawiera w swojej<br />

strukturze informacje o transformatorze oraz wyniki pomiarów stęŜeń gazów<br />

rozpuszczonych w oleju transformatorowym uzyskane metodą chromatografii gazowej<br />

wraz z diagnozą stanu technicznego wykonaną przez człowieka-eksperta. Baza ta<br />

zorganizowana jest w postaci relacyjnej bazy danych zarządzanej przez system<br />

zarządzania relacyjną bazą danych Microsoft Access 2000 PL.<br />

Rysunek 8-4. Fragment informacji o transformatorach


159<br />

Rysunek 8-5. Fragment wyników pomiarów DGA i diagnoza człowieka-eksperta<br />

Wyniki pomiarów jak zaznaczono w rozdziale 6.3.2 nie zawierają informacji o<br />

dokładności pomiaru.<br />

8.2.2. Baza faktów<br />

Baza faktów zawiera przekonwertowane dane z bazy danych pomiarowych do<br />

przestrzeni kodu IEC zgodnie ze wzorem 6-2. Dokładność uzyskanych wyników<br />

ustalona jest wzorem 6-11. W bazie faktów moŜe istnieć wiele przekonwertowanych<br />

danych pogrupowanych w zbiory słuŜące za dane uczące w niestandardowych metodach<br />

diagnostycznych (rozdział 6.3) i dające moŜliwość uzasadnienia postawionej diagnozy.<br />

Rysunek 8-6. Fragment wyników pomiarów DGA przekonwertowany do przestrzeni kodu IEC i<br />

umieszczony w zbiorze o nazwie „240 danych uczących” – wg tabeli DANE_UCZACE<br />

8.2.3. Baza wiedzy stałej<br />

Jak juŜ było wspomniane w poprzednim podrozdziale baza wiedzy [68] stałej<br />

zawiera reguły jeŜeli-to, które odzwierciedlają metody diagnostyki stosowane w świecie<br />

(opisane w rozdziale 6.2). Uzyskany z tej bazy zespół diagnoz daje człowiekowiekspertowi<br />

pełniejszą informację o stanie technicznym transformatora niŜ pojedyncza<br />

diagnoza wykonana w oparciu o jedną metodę. Ponadto zaproponowanie zespołu


diagnoz zmniejszy częstość występowania (a nawet wyeliminuje) przypadku, gdy<br />

diagnoza nie zostanie postawiona (tabela 8-1).<br />

metoda:<br />

diagnoza:<br />

kodu IEC<br />

polska<br />

niemiecka<br />

francuska<br />

kanadyjska<br />

Wszystkie<br />

metody razem<br />

jest 302 316 79 433 400 444<br />

brak 142 128 365 11 44 0<br />

Tabela 8-1. Liczność stawiania diagnozy dla 444 danych pomiarowych (metoda polska uwzględnia stan<br />

izolacji celulozowej; metoda francuska zakłada stęŜenie O 2 = 0 ppm i N 2 = 0 ppm)<br />

160<br />

Jednak niewątpliwym problemem zastosowanego rozwiązania jest niewielka<br />

zgodność diagnoz uzyskiwanych róŜnymi metodami wynosząca około 7% (rozdział<br />

6.2.9 – tabele: 6-17 i 6-18).<br />

8.2.4. Baza reguł<br />

Baza reguł przechowuje w sobie wyniki prac opisywanych tu algorytmów celem<br />

wykonywania na nich klasyfikacji. Kolejne uruchomienia algorytmów powiększają<br />

liczbę przechowywanych tam wyników. Stąd baza ta ulega zmianom w przeciwieństwie<br />

do bazy wiedzy stałej. Interfejs zarządzający tymi zbiorami wynikowymi umoŜliwia<br />

równieŜ ich usunięcie lub drobne modyfikacje takie jak zmiana opisu.<br />

Rysunek 8-7. Fragment sztucznego eksperta uzyskany z aplikacji Fuzzy3D.exe – wg tabeli<br />

DANE_UCZACE<br />

Rysunek 8-8. Fragment danych zbioru uczącego po wykonaniu dyskretyzacji (rozdział 6.3.3) – wg tabeli<br />

DANE_UCZACE_INT


161<br />

Rysunek 8-9. Fragment danych opisujących drzewo decyzyjne (rozdział 6.3.4) – wg tabeli<br />

DRZEWO_DECYZYJNE<br />

Rysunek 8-10. Fragment danych opisujących kompleksy w sympleksie uzyskane z aplikacji ga_new.exe<br />

(rozdział 6.3.5) – wg tabeli GA_NEW<br />

8.2.5. Interfejs uŜytkownika – Trafo2000<br />

Interfejs Trafo2000 ma za zadanie umoŜliwić uŜytkownikowi manipulacją<br />

danymi zawartymi w bazie danych pomiarów (poprzez ich dodanie, edycję, usunięcie).<br />

Ma umoŜliwić uŜytkownikowi wykonanie diagnozy w oparciu o dostępne wyniki<br />

obliczeń numerycznych zawarte w bazie wiedzy stałej i w bazie reguł.<br />

Interfejs wymaga zalogowania się uŜytkownika (np.: login „<strong>cholajda</strong>” hasło<br />

„1234”), a następnie wyświetla okno wyszukiwania transformatora (rysunek 8-11). W<br />

oknie tym moŜna nie tylko wyszukać potrzebne dane o transformatorze, ale równieŜ<br />

usunąć wszelkie o nim zapiski, dodać nowy transformator i najwaŜniejsze:<br />

przeanalizować dane pomiarowe (przycisk „Otwórz” na rysunku 8-11) dotychczas<br />

zebrane.<br />

Rysunek 8-11. Okno szukania transformatora


162<br />

W oknie danych pomiarowych transformatora (rysunek 8-12) moŜna<br />

wydrukować informacje o samym transformatorze, wyniki pomiarowe moŜna zapisać<br />

do arkusza Excela lub je wydrukować jako wartości, moŜna dodać nowe wyniki<br />

pomiarów stęŜeń gazów rozpuszczonych w oleju transformatorowym, moŜna teŜ je<br />

wydrukować na wykresie celem przeanalizowania ich przyrostów (rysunek 8-13).<br />

NajwaŜniejsze w tym oknie jest polecenie wykonania diagnozy na wynikach danego<br />

pomiaru w oparciu o dostępne metody diagnostyczne (rysunek 8-14).<br />

Rysunek 8-12. Okno danych pomiarowych transformatora<br />

Rysunek 8-13. Wydruk danych pomiarowych transformatora wraz z wykresem przedstawiającym zmiany<br />

wartości pomiarowych w czasie


163<br />

Rysunek 8-14. Okno diagnoz danych pomiarowych transformatora<br />

Okno diagnoz danych pomiarowych transformatora (rysunek 8-14) otwiera się<br />

wykonując domyślnie diagnozy danych pomiarowych w oparciu o bazę wiedzy stałej,<br />

czyli w oparciu o metody opisane w rozdziałach 6.2.2 – 6.2.7, . Lista dostępnych metod<br />

diagnostycznych zakończona jest poleceniem „Drukuj”, którym moŜna poprosić o<br />

wydrukowanie wyniku pomiaru wraz z jego szczegółowym uzasadnieniem (np. rysunki<br />

8-15 - 8-18), co jest niejako podsumowaniem wiedzy o danej metodzie diagnostycznej i<br />

cennym narzędziem dla człowieka wykonującego diagnostykę.<br />

Rysunek 8-15. Wydruk diagnozy dla danych pomiarowych transformatora wg metody niemieckiej


Rysunek 8-16. Wydruk diagnozy danych pomiarowych transformatora wg metody polskiej pogłębionej<br />

164


165<br />

Rysunek 8-17. Wydruk diagnozy danych pomiarowych transformatora wg metody kanadyjskiej<br />

Rysunek 8-18. Wydruk diagnozy dla danych pomiarowych transformatora wg metody francuskiej


W oknie diagnoz danych pomiarowych transformatora (rysunek 8-14) moŜna równieŜ<br />

poprosić o wykonanie diagnoz dostępnych w oparciu o inne, opisane w pracy metody<br />

takie jak opisana w rozdziale 6.2.8 metoda „Zalecenia eksperta” (rysunek 6-5), czy<br />

opisana w rozdziale 6.3.1 zmodyfikowana metoda a-najbliŜszych sąsiadów (radiobutton<br />

„porównanie odległości” z rysunku 8-14) dla 3-wymiarowej przestrzeniu kodu IEC<br />

(wzór 6-2) lub dla 10-wymiarowej przestrzeni wyznaczonej przez wyniki pomiarów<br />

DGA (rysunki 8-19 i 8-20).<br />

166<br />

Rysunek 8-19. Wydruk diagnozy dla danych pomiarowych transformatora wg zmodyfikowanej<br />

metody a-najbliŜszych sąsiadów w przestrzeni IEC – w systemie Trafo2000 nazywanej metodą TOP 10%


167<br />

Rysunek 8-20. Wydruk diagnozy dla danych pomiarowych (10-wymiarowych) transformatora<br />

wg zmodyfikowanej metody a-najbliŜszych sąsiadów w przestrzeni DGA – w systemie Trafo2000<br />

nazywanej metodą TOP 10%<br />

RównieŜ opisana w rozdziale 6.3.2 metoda rozmytego kodu IEC jest<br />

zaimplementowana w oprogramowaniu, a wyniki zaproponowanego algorytmu<br />

dostępne są w formie wydruku (rysunek 8-21).<br />

Rysunek 8-21. Wydruk diagnozy dla danych pomiarowych transformatora wg metody<br />

rozmytego kodu IEC


168<br />

RównieŜ diagnoza danych pomiarowych dostępna jest do wykonania i wydrukowania<br />

(rysunek 8-22) poprzez klastry uzyskane w wyniku podziału połówkowego przestrzeni<br />

danych pomiarowych (rozdział 6.3.3).<br />

Rysunek 8-22. Wydruk diagnozy dla danych pomiarowych transformatora wg klastrów<br />

Klastry zebrane w drzewo decyzyjne (rozdział 6.3.4) równieŜ udostępniają<br />

moŜliwość wykonania diagnozy na ich podstawie (rysunek 8-23). MoŜna równieŜ<br />

zaŜądać prezentacji (w formie wydruku) samego drzewa decyzyjnego lub praw w nim<br />

zawartych (odpowiednio rysunek 8-24 oraz 8-25).<br />

Rysunek 8-23. Wydruk diagnozy dla danych pomiarowych transformatora wg drzewa decyzyjnego


169<br />

Rysunek 8-24. Wydruk konstrukcji drzewa decyzyjnego<br />

Rysunek 8-25. Wydruk prawa słuŜącego do diagnozy, a zawartego w drzewie decyzyjnym<br />

Opisany w rozdziale 6.3.5 algorytm genetyczny równieŜ generuje prawa jeŜeli-to<br />

umoŜliwiające klasyfikację danego pomiaru (rysunek 8-26) oraz prezentację samych<br />

praw (rysunek 8-27).


1<strong>70</strong><br />

Rysunek 8-26. Wydruk diagnozy dla danych pomiarowych transformatora wg prawa zapisanego w<br />

sympleksie<br />

Rysunek 8-27. Wydruk prawa słuŜącego do diagnozy, a uzyskanego z algorytmu genetycznego<br />

Wreszcie moŜliwa jest takŜe klasyfikacja wyniku pomiaru wg sztucznego eksperta,<br />

którego uzyskanie opisano w rozdziale 7. MoŜliwe jest teŜ wykonanie wydruku samej<br />

diagnozy (rysunek 8-28) oraz samego eksperta (rysunek 8-29).


171<br />

Rysunek 8-28. Wydruk diagnozy dla danych pomiarowych transformatora wg sztucznego eksperta<br />

Rysunek 8-29. Wydruk prawa słuŜącego do diagnozy, a uzyskanego ze sztucznego eksperta<br />

Reasumując: interfejs uŜytkownika – Trafo2000 umoŜliwia manipulację danymi<br />

pomiarowymi wyników DGA oraz wykonywanie diagnoz większością metod opisanych<br />

w rozdziale 6 i 7 (diagnostyka regułami uzyskanymi z sieci Pedrycza nie jest dostępna<br />

poprzez ten interfejs).


172<br />

8.2.6. Interfejs uŜytkownika – Trafo2000_ext<br />

Interfejs zarządzający bazą wiedzy Trafo2000_ext ma na celu umoŜliwienie<br />

uŜytkownikowi przejrzenie elementów zbiorów uczących i właściwości samych<br />

zbiorów, tworzenie nowych zbiorów uczących, usuwanie zbędnych, czy modyfikację<br />

ich wybranych właściwości takich jak rozmiar przestrzeni, w której ów zbiór się<br />

znajduje. Czynności te dostępne są dla grupy poleceń „Zarządzanie bazą faktów” z okna<br />

„Zbiory uczące” (rysunek 8-30) , które pojawia się po zalogowaniu.<br />

Rysunek 8-30. Okno zarządzania bazą wiedzy (i niektórych elementów bazy faktów)<br />

Ponadto zaprezentowane okno umoŜliwia spreparowanie konfiguracyjnych plików dla<br />

aplikacji ga_new.exe realizującej algorytm genetyczny opisany w rozdziale 6.3.5 oraz<br />

wczytanie wyników jej pracy. RównieŜ z tego okna moŜna wykonać podział przestrzeni<br />

zbiory uczącego na podobszary dyskretne, moŜna zapisać wynik tego podziału w formie<br />

klastrów, moŜna wykonać drzewo decyzyjne. Oddzielnie moŜna takŜe skontrolować<br />

przebiegi drugiego z algorytmów genetycznych opisanego w rozdziale 7 i<br />

zaimplementowanego w aplikacji Fuzzy3D.exe (rysunek 8-31).


173<br />

Rysunek 8-31. Okno zarządzania informacjami o przebiegach algorytmu<br />

genetycznego - opis zbioru uczącego<br />

Rysunek 8-32. Okno zarządzania informacjami o przebiegach algorytmu<br />

genetycznego – parametry algorytmu<br />

W oknie tym moŜna skontrolować z jakimi parametrami został uruchomiony algorytm<br />

genetyczny (rysunek 8-32), czy przejrzeć jak w kolejnych generacjach zmieniały się<br />

uzyskiwane najlepsze wyniki (rysunek 8-33).


174<br />

Rysunek 8-33. Okno zarządzania informacjami o przebiegach algorytmu genetycznego – zapisy o<br />

najlepszym chromosomie (ekspercie) w danej generacji oraz okno szczegółowych wiadomości o<br />

wybranym ekspercie<br />

W spisie wyników (rysunek 8-33) po zaznaczeniu konkretnego chromosomu moŜna<br />

zobaczyć szczegółowe o nim informacje takie jak: z jakich praw się składa, ile ich jest,<br />

do jakiego podziału przestrzeni naleŜą, w której z kolei generacji uzyskano ten<br />

najlepszy chromosom, ile praw zawiera łącznie, ile danych potrafi nimi sklasyfikować<br />

poprawnie itp. MoŜna teŜ wykonać test, czy dane o ekspercie zapisane są poprawnie<br />

przez aplikację Fuzzy3D.exe. MoŜna teŜ usunąć dane szczegółowe pozostawiając tylko<br />

dane nagłówkowe (ogólne) o ekspercie celem wykonywania jedynie analizy przebiegu<br />

algorytmu genetycznego i zwolnienia miejsca w bazie wiedzy.<br />

W kolejnej zakładce okna zarządzania przebiegiem algorytmu genetycznego moŜna<br />

przeanalizować wykres prezentujący jak zmieniało się przystosowanie maksymalne,<br />

średnie i minimalne w kolejnych generacjach (rysunek 8-34). Zaprezentowany tu<br />

rysunek 8-34 wyraźnie pokazuje efekt działania nowych operatorów genetycznych w<br />

postaci „przebijania szklanego sufitu” przez najlepszy z chromosomów co widoczne jest<br />

w poprawie wartości przystosowania maksymalnego i dąŜenia przez tę wartość do<br />

wartości maksymalnej wynoszącej 1. Pozostałe analizy dostępne w tym oknie mają<br />

charakter pomocniczy.


175<br />

Rysunek 8-34. Okno informacji przebiegu algorytmu genetycznego – poprawa przystosowania<br />

najlepszego chromosomu dla około 4000 generacji.<br />

Reasumując: poprzez wykonany interfejs zarządzania bazą wiedzy uŜytkownik dostaje<br />

do ręki wygodne narzędzie do zarządzania oraz do analizy wyników.<br />

8.2.7. Interfejs uŜytkownika – ga_new i Fuzzy3D<br />

Wykonane (rysunek 8-30) pliki z dyskretnymi danymi uczącymi do metody<br />

opisanej w rozdziale 6.3.5 mogą być łatwo zamienione na dane zbioru POS i NEG. Do<br />

tego celu wykonano pomocniczy interfejs MALEDIN-Trafo2000 (rysunek 8-35). Za<br />

pomocą tego oprogramowania uŜytkownik moŜe wczytać cały zbiór danych uczących i<br />

wygenerować z niego zbiory POS i NEG, na których pracuje aplikacja ga_new.exe<br />

realizująca algorytm opisany w rozdziale 6.3.5. Inferfejs MALEDIN-Trafo2000 składa<br />

się z dwóch zasadniczych elementów – zarządzania zbiorami danych i uczenia<br />

maszynowego (rysunek 8-35). W ramach zarządzania danymi moŜna m.in. wczytać<br />

dane uczące (rysunek 8-36), ustalić co wyróŜnia wczytane dane i jaki zbiór wartości<br />

oznacza klasę (rysunek 8-37). Po podzieleniu całego zbioru uczącego na rozłączne<br />

podzbiory ze względu na ustaloną klasę, moŜna wybrać (rysunek 8-38) jeden z nich


jako zbiór POS - pozostałe tworzą zbiór NEG, a nawet spróbować samodzielnie<br />

wykonać pomocniczy zbiór danych diagnostycznych DDD.<br />

176<br />

Rysunek 8-35. Okno interfejsu MELEDIN-Trafo2000.<br />

Rysunek 8-36. Okno przetwarzania danych uczących dla aplikacji ga_new.exe – wczytanie danych.<br />

Rysunek 8-37. Okno przetwarzania danych uczących dla aplikacji ga_new.exe – budowa plików z<br />

danymi POS i NEG.


177<br />

Rysunek 8-38. Okno przetwarzania danych uczących dla aplikacji ga_new.exe – włączenie uczenia<br />

maszynowego dla zadanego zbioru POS (pozostałe tworzą NEG).<br />

Rysunek 8-39. Okno przetwarzania danych uczących dla aplikacji ga_new.exe<br />

Uruchomiona aplikacja ga_new.exe potrafi w pełni automatycznie przetworzyć<br />

wczytane zbiory algorytmem opisanym w rozdziale 6.3.5 (rysunek 8-40) – w tym celu<br />

naleŜy ustawić parametry jej pracy (menu „Settings”) oraz w menu „Processing”<br />

ustawić przełącznik „Fully automatic” i wydać polecenie „GO!” z paska narzędzi.


Wyniki pracy tej aplikacji zapisane w pliku tekstowym KLASA.FFF moŜna<br />

zaimportować celem dalszej analizy poprzez interfejs Trafo2000_ext (rysunek 8-30).<br />

178<br />

Rysunek 8-40. Wyniki przetwarzania danych uczących w aplikacji ga_new.exe – fragment reguły<br />

klasyfikującej<br />

Innym interfejsem uŜytkownika jest aplikacja Fuzzy3D.exe, która nie potrzebuje<br />

pomocniczego programu nią zarządzającego – samodzielnie łączy się (poprzez ODBC)<br />

z bazą faktów i samodzielnie zapisuje w niej wyniki swojego przebiegu (realizacji)<br />

celem dalszych analiz (rysunki 8-32, 8-33, 8-34).<br />

Rysunek 8-41. Fuzzy3D.exe – prezentacja wczytanych danych uczących


Posługiwanie się interfejsem Fuzzy3D.exe wymaga jedynie wydawania<br />

polecenia „Dalej”. Po wczytaniu danych uczących naleŜy zdecydować się na sposób ich<br />

konwersji jednym z zaproponowanych (rozdział 7.4) odwzorowań (rysunek 8-42) celem<br />

redukcji czasochłonności rozwiązywania zadania dzięki próbie rozrzedzenia obszarów,<br />

w których występuje wiele danych naleŜących do róŜnych klas (dane<br />

trudnoseparowalne) . Po wykonaniu konwersji aplikacja zaczyna wykonywać kolejne<br />

podziały (rozdział 7.3) celem generowania reguł klasyfikujących (rysunek 8-43 i 8-44).<br />

179<br />

Rysunek 8-42. Fuzzy3D.exe – prezentacja wczytanych danych uczących po transformacji<br />

Rysunek 8-43. Fuzzy3D.exe – podział przestrzeni danych uczących na podobszary (tu kaŜdy z boków<br />

sześcianu jednostkowego podzielono na K=2 części)


180<br />

Rysunek 8-44. Fuzzy3D.exe – końcowy podział przestrzeni danych uczących na podobszary (tu kaŜdy z<br />

boków sześcianu jednostkowego podzielono na K=12 części)<br />

Po zakończeniu wykonywania podziałów aplikacja prezentuje obszary<br />

decyzyjne uzyskane z próby wykonania klasyfikacji wszystkimi uzyskanymi prawami<br />

(rysunek 8-45), a następnie wymaga określenia parametrów uruchomieniowych<br />

algorytmu genetycznego (rysunek 8-46).<br />

Rysunek 8-45. Fuzzy3D.exe – klasyfikacja przykładowych danych z uwzględnieniem praw<br />

wygenerowanych podczas ostatniego podziału K (tu K=12)


181<br />

Rysunek 8-46. Fuzzy3D.exe –parametryzacja algorytmu genetycznego<br />

Rysunek 8-47. Fuzzy3D.exe –generacja startowa algorytmu genetycznego<br />

Rysunek 8-48. Fuzzy3D.exe –generacja końcowa algorytmu genetycznego (tu ustawiono na potrzeby<br />

prezentacji tylko 5 generacji do wykonania)


Wykonany przebieg algorytmu genetycznego zapisywany jest co 10 generacji do bazy<br />

faktów i kończy się wraz z osiągnięciem z góry ustalonej liczby generacji (rysunek 8-47<br />

i 8-48). Najlepszy z uzyskanych chromosomów zapisany jest w bazie faktów jako<br />

ekspert (rysunek 8-49). Po jego uzyskaniu moŜna wczytać z bazy faktów innych<br />

ekspertów (rysunek 8-50) i wykonywać klasyfikację nowych danych pomiarowych w<br />

oparciu o ich całą grupę (rysunek 8-51 i 8-52).<br />

182<br />

Rysunek 8-49. Fuzzy3D.exe – rozmyte obszary decyzyjne wg praw zawartych w najlepszym<br />

chromosomie (znaczenie kolorów jak na rysunku 8-45)<br />

Rysunek 8-50. Fuzzy3D.exe – wczytanie najlepszych wyników: ekspertów (uzyskanych z innych<br />

przebiegów aplikacji Fuzzy3D.exe)<br />

Rysunek 8-51. Fuzzy3D.exe – klasyfikacja nowego pomiaru przez grupę wczytanych ekspertów


183<br />

Rysunek 8-52. Fuzzy3D.exe – wynik współpracy grupy ekspertów: klasyfikacja nowego pomiaru<br />

Dysponując grupą ekspertów w aplikacji Fuzzy3D.exe moŜna wykonać<br />

zestawienie praw w nich zawartych i zapisać je w formie pliku tekstowego (rysunki 8-<br />

53 i 8-54) celem uzyskania wiedzy przez człowieka.<br />

Rysunek 8-53. Fuzzy3D.exe – wiedza dla człowieka: analiza reguł jeŜeli-to z ekspertów<br />

Rysunek 8-54. Fuzzy3D.exe – wiedza dla człowieka: analiza reguł jeŜeli-to z ekspertów, a zapisanych w<br />

pliku tekstowym


184<br />

Rysunek 8-55. Fuzzy3D.exe – analiza jakości uzyskanego eksperta: obszary decyzyjne (znaczenie<br />

kolorów jak na rysunku 8-45) i histogram pewności udzielanej odpowiedzi podczas klasyfikacji<br />

(charakterystyczny jest niewielki udział odpowiedzi „bardzo pewnych” ze względu na posiadanie<br />

niewielkiej liczby praw juŜ uogólnionych, zamiast wielkiej liczby praw szczegółowych)<br />

MoŜliwe jest równieŜ w aplikacji Fuzzy3D.exe przeanalizowanie jakości<br />

uzyskanego eksperta poprzez zestawienie liczby danych klasyfikowanych przez prawa<br />

w nim zawarte w sposób poprawny i niepoprawny, wykonanie prezentacji przestrzeni<br />

decyzyjnych oraz prezentacji „charakteru eksperta” w formie histogramu, uzyskanego<br />

dla próby diagnozowania 1mln przykładowych danych pomiarowych i zestawieniu<br />

pewności udzielanej diagnozy. Ekspert dobrze wyuczony (rysunek 8-55) ze względu na<br />

niewielką liczbę praw w nim zawartych, będzie często udzielać odpowiedzi<br />

niepewnych, co wynika z faktu uŜywania praw wygenerowanych dla duŜych obszarów.<br />

Ekspert słabo wyuczony będzie często udzielać odpowiedzi pewnych, gdyŜ posługuje<br />

się on wieloma prawami przyporządkowanymi do niewielkich obszarów, a tym samym<br />

o duŜych wartościach zaufania.<br />

Opisane tu oprogramowanie ma wiele cech systemu ekspertowego, jednak ze<br />

względu na to, Ŝe nie bierze pod uwagę innych metod diagnostycznych poza DGA,<br />

naleŜy je traktować jako moduł systemu, który będzie wspomagać proces<br />

podejmowania decyzji przez człowieka nt. stanu technicznego transformatora.


185<br />

9. Podsumowanie<br />

W pracy przeanalizowano teoretycznie aspekty i wykonano praktyczne<br />

obliczenia dla metody automatycznego generowania reguł decyzyjnych opartych na<br />

rozmytych obszarach decyzyjnych. Realizując algorytmy tej metody dla rzeczywistych<br />

danych pomiarowych pewnej klasy transformatorów, stworzono nową technikę<br />

wspomagania ich diagnostyki. Technikę tę następnie porównano (tabela 7-16) z<br />

dotychczas uŜywanymi metodami diagnostycznymi zarówno narodowymi jak i<br />

międzynarodowymi (metoda kodu IEC) oraz z wybranymi algorytmami sztucznej<br />

inteligencji. Przy zapewnieniu dobrej jakości podejmowanych decyzji nt. stanu<br />

technicznego transformatora istotnie zmniejszono liczbę uŜywanych reguł w wyniku<br />

zastosowania algorytmu genetycznego, dając tym samym narzędzie (rozdział 8)<br />

wykonujące poprawnie klasyfikację (diagnozę) i jednocześnie dające zrozumiałe dla<br />

człowieka reguły działania. Zaproponowana metoda nie tylko realizuje poprawnie<br />

diagnostykę, ale równieŜ umoŜliwia człowiekowi przyswojenie sobie wiedzy o sposobie<br />

wykonywania diagnozy, celem ustanowienia nowych wzorów opisujących<br />

fizykochemiczne właściwości procesów zachodzących w kadzi transformatora<br />

olejowego.<br />

Analizowany przykład obliczeniowy zawiera dane trudnoseparowalne (rysunek<br />

7-3), zgrupowane na niewielkim obszarze przestrzeni danych uczących, ponadto z<br />

duŜymi dysproporcjami w liczbie danych poszczególnych klas (stanów technicznych),<br />

czy z obszarami w przestrzeni danych uczących zawierającymi niewiele danych, co<br />

istotnie utrudnia zbudowanie prostych reguł klasyfikujących. Reguły te udało się jednak<br />

uzyskać poprzez zastosowanie zbiorów rozmytych, nieliniowego przekształcenia<br />

przestrzeni danych, czy zaakceptowania moŜliwości uzyskania kilku dobrych wyników,<br />

które mogą nawzajem wpierać proces diagnostyczny (praca z „grupą ekspertów”).<br />

Ponadto podano ocenie dotychczas stosowane metody diagnostyki stanu<br />

technicznego transformatorów olejowych, proponując niekiedy ich modyfikacje<br />

(metoda rozmytego kodu IEC) i wykonując ich porównania ze sobą – wykazujące wady<br />

i zalety poszczególnych z nich.<br />

Zaproponowano i wykonano obliczeniowo pomocniczą metodę redukcji liczby<br />

reguł uzyskanych w wyniku dyskretyzacji pomiarów o wartościach rzeczywistych<br />

(ga_new), która skutecznie - choć nie dość wystarczająco w podanym przykładzie


obliczeniowym – dokonywała redukcji metodą algorytmu genetycznego liczby reguł<br />

uŜywanych do klasyfikacji.<br />

Wykonano (rozdział 8) oprogramowanie implementujące opisywane metody o<br />

charakterze systemu ekspertowego, będące zarazem narzędziem dla diagnosty.<br />

W działającym algorytmie genetycznym zaproponowano nowe operatory<br />

mutacji (takie jak: operator usunięcia jedynki, operator inteligentnego przesunięcia<br />

jedynki, operator nieproporcjonalnego wstawienia jedynki), które kodują sobą wiedzę o<br />

naturze zadania i umoŜliwiają istotną redukcję liczby reguł klasyfikujących – do czego<br />

uŜywany jest algorytm genetyczny. Przeanalizowano wpływ poszczególnych<br />

parametrów algorytmu genetycznego na jego przebieg i uzyskany rezultat.<br />

186<br />

Wykazano, Ŝe prawdziwą jest postawiona w pracy teza:<br />

Dzięki wykorzystaniu nowych, dopasowanych do zadania mechanizmów genetycznych i<br />

uogólnieniu metody generowania rozmytych reguł klasyfikacji na przypadek<br />

wielowymiarowy, moŜliwe jest przeprowadzenie skutecznej klasyfikacji za pomocą<br />

istotnie zredukowanej liczby reguł rozmytych, otrzymanych w oparciu o<br />

trudnoseparowalne dane cech ilościowych badanych obiektów.<br />

Wykonana praca ma charakter badawczy w zakresie realizacji regułowego<br />

systemu klasyfikacji, niezaleŜnego od konkretnego badania.<br />

Uzyskane rezultaty w postaci reguł klasyfikujących stan techniczny<br />

transformatora mogą stanowić podstawę do zastosowania dalszych, bardziej<br />

wyrafinowanych metod sztucznej inteligencji (jak opisywany w pracy algorytm FCM),<br />

czy do skonstruowania wzorów opisujących fizykochemiczne reakcje zachodzące w<br />

kadzi transformatora olejowego.<br />

Oczywiście ewentualne przemysłowe wdroŜenie systemu diagnostycznego dla<br />

transformatorów, uŜytych tutaj jako ilustracja, wymagać będzie wielu dalszych badań i<br />

testów na liczniejszych zbiorach uczących, zwłaszcza dla klas rzadko rejestrowanych w<br />

praktyce eksploatacyjnej.<br />

Opisana w pracy teoria moŜe słuŜyć jako metoda klasyfikacji w innych<br />

zadaniach praktycznych dla danych rzeczywistych.


187<br />

Dodatek A. Opis oprogramowania załączonego do pracy<br />

Na nośniku załączonym do pracy znajduje się oprogramowanie, które zostało<br />

uŜyte do jej napisania.<br />

Nazwa programu i system<br />

operacyjny<br />

Fuzzy3D.exe<br />

Windows ‘95<br />

ga_new.exe<br />

Windows ‘95<br />

Maledin – Trafo2000.mdb<br />

Windows ‘95<br />

Trafo2000.mdb<br />

Windows ‘95<br />

Trafo2000_ext.mdb<br />

Windows ‘95<br />

Trafo2000_data.mdb<br />

Trafo2000_rules.mdb<br />

Windows ‘95<br />

kulki.exe<br />

DOS<br />

gademo.exe<br />

DOS<br />

glp.exe<br />

DOS<br />

xx.exe<br />

DOS<br />

Działanie programu<br />

Wykonuje klasyfikację obiektów rzeczywistych w przestrzeni<br />

3-wymiarowej.<br />

Buduje prawa klasyfikujące na podstawie wartości<br />

dyskretnych zawartych w zbiorach POS i NEG.<br />

System sterujący budową zbiorów POS i NEG dla<br />

ga_new.exe.<br />

System wykonujący diagnostykę transformatorów olejowych<br />

w oparciu o wyniki DGA.<br />

System budujący drzewa decyzyjne, czy wykonujący analizy<br />

przebiegów algorytmu genetycznego<br />

Baza danych dla Trafo2000.<br />

Baza wiedzy dla Trafo2000.<br />

Wykonuje podział 2-wymiarowej przestrzeni danych na<br />

podobszary rozmyte.<br />

Przedstawia wyniki wyszukiwania maksimum funkcji za<br />

pomocą metody gradientowej, przeszukiwania losowego i<br />

algorytmu genetycznego.<br />

Wykonuje analizę pracy generatora liczb pseudolosowych<br />

wbudowanego w język C++.<br />

Demonstruje dąŜenie algorytmu genetycznego do znalezienia<br />

maksimum funkcji f(x)=x 2 .<br />

Aby uruchomić wszystkie te programy wymagany jest system operacyjny z<br />

rodziny Windows’95 (do Windows XP włącznie) oraz pakiet Office 2000 PL<br />

Proffesional lub przynajmniej Access 2000 PL (do wersji 2003 włącznie).


188<br />

Dodatek B. Wykaz skrótów i symboli<br />

DGA<br />

- (z ang. Dissolved Gas Analysis) analiza chromatograficzna gazów<br />

metoda kodu IEC - metoda diagnostyczna opracowana przez Międzynarodową<br />

Komisję Elektrotechniczną (International Electrotechnical<br />

Commision), która to metoda opiera się o opracowany specjalny<br />

kod zwany kodem IEC<br />

R, R + , R -- - zbiór liczb rzeczywistych, rzeczywistych dodatnich, rzeczywistych<br />

ujemnych<br />

ℵ<br />

- zbiór liczb naturalnych<br />

(a, b)<br />

- przedział obustronnie otwarty<br />

〈a, b〉<br />

- przedział obustronnie domknięty<br />

{a, a+1,..., b} - zbiór liczb całkowitych od a do b<br />

{1,2,..., N} - zbiór liczb naturalnych od 1 do N<br />

||A||<br />

- moc zbioru A (jeŜeli A jest zbiorem o skończonej liczbie<br />

elementów jest to liczność zbioru)<br />

|a|<br />

- wartość bezwzględna (moduł) z a<br />

∅<br />

- zbiór pusty<br />

∧<br />

- dla kaŜdego<br />

∨<br />

- istnieje taki, Ŝe<br />

≥<br />

- większy równy<br />

≤<br />

- mniejszy równy<br />

∈, ∉ - naleŜy, nie naleŜy<br />

<br />

- znacznik końca algorytmu<br />

Pow(A) - zbiór potęgowy zbioru A


189<br />

Literatura podstawowa<br />

[1] J. Arabas, Wykłady z algorytmów ewolucyjnych, Wydawnictwo WNT,<br />

Warszawa, 2001, str. 29-266.<br />

[2] S. Araki, A Self-Generating Method of Fuzzy Inference Rules, Fuzzy<br />

Engineering toward Human Friendly System (Part VIII), pp. 1047-1058,<br />

IFSA’91, 1991.<br />

[3] K.T. Atanassov, J. Kacprzyk, M. Krawczak, E. Szmidt, Issues in the<br />

Representation and Processing of Uncertain and Imprecise Information,<br />

Akademicka Oficyna Wydawnicza EXIT, Warszawa 2005, ISBN:<br />

8360434018; artykuł: A Softened Formulation in Inductive Learning and its<br />

Application to Coronary Disease Data pod redakcją: J. Kacprzyk, G.<br />

Szkatuła<br />

[4] G.P. Babu, M.N. Murty, Clustering with evolution strategies, Pattern<br />

Recognition 27(2), pp. 321-329, 1994.<br />

[5] R. Babuska, Fuzzy modeling for control, Kluwer Academic Publishers,<br />

Boston 1998<br />

[6] K. Badźmirowski, M. Kubiś, Systemy ekspertowe, Przemysłowy <strong>Instytut</strong><br />

Elektroniki, Warszawa 1991<br />

[7] E. Bednarczuk, Parametryczne problemy optymalizacji wielokryterialnej.<br />

Warunki stabilności rozwiązań, Akademicka Oficyna Wydawnicza EXIT,<br />

Warszawa 2005<br />

[8] J.C. Bezdek, C. Coray, R. Gunderson, J. Watson, Detection and<br />

characterization of cluster substructure, I. Linear structure: Fuzzy c-lines,<br />

SIAM J. Appl. Math. 40(2), pp 358-372, 1981.<br />

[9] J.C. Bezdek, Pattern Recognition with Fuzzy Objective Function, Plenum<br />

Press, New York, 1981.<br />

[10] J.C. Bezdek, R.J. Hathway, R.E.Howard, C.A. Wilson, M.P. Windham,<br />

Local convergence analysis of a grouped variable version of coordinate<br />

descent, Journal of Optimization Theory and Applications 54(3), pp. 471-<br />

777, 1987.<br />

[11] J. Chromiec, E. Strzemieczna, Sztuczna inteligencja. Metody konstrukcji i<br />

analizy systemów eksperckich, Akademicka Oficyna Wydawnicza PLJ,


Warszawa 1994, strony 1-216.<br />

[12] P. Cichosz, Systemy uczące się, Wydawnictwo WNT, Warszawa 2000.<br />

[13] E. Cox, The Fuzzy Systems Handbook, Acedemic Press, London, 1994.<br />

[14] J. Cytowski, Algorytmy genetyczne. Podstawy i zastosowania, Akademicka<br />

Oficyna Wydawnicza PLJ, Warszawa 1996, strony 1-93.<br />

[15] E. Czogała, W. Pedrycz, Elementy i metody teorii zbiorów rozmytych,<br />

Państwowe Wydawnictwo Naukowe, Warszawa 1985, strony 8-11.<br />

[16] C.W. De Silva, Inteligent Control: Fuzzy Logic Applications, CRC Press,<br />

Boca Raton, 1995.<br />

[17] W.S. DeSarbo, Gennclus: New models for general nonhierarchical<br />

clustering analysis, Psychometrika 47(4), pp. 449-476, 1982.<br />

[18] Diagnostyka procesów. Modele, Metody sztucznej inteligencji,<br />

Zastosowania, pod redakcją: J. Korbicz, J.M. Kościelny, Z. Kowalczuk, W.<br />

Cholewa, WNT Warszawa 2002.<br />

[19] D. Domański, P. Kałuski, M. Szpilewski, Algorytmy genetyczne, PC<br />

Magazine po polsku Listopad’1996, strony 116-118.<br />

[20] T. DomŜalski, M. Kaźmierski, M. Kozłowski, W. Olech, Repair on-side of<br />

HV transformers in the polish grid, CIGRE 1994, pp. 12-202.<br />

[21] T. DomŜalski, W. Olech, Doświadczenia krajowej energetyki w dziedzinie<br />

diagnostyki duŜych transformatorów, <strong>Instytut</strong> Energetyki, Warszawa 1992,<br />

strony 101-116.<br />

[22] D. Driankov, H. Hellendoorn, M. Reinfrank, Wprowadzenie do sterowania<br />

rozmytego, Wydawnictwa Naukowo-Techniczne, Warszawa 1996, strony<br />

52-122.<br />

[23] D. Dubois, H. Prade, Fuzzy Sets and Systems: Theory and Applications,<br />

Academic Press, San Diego, 1980.<br />

[24] R.O. Duda, P.E. Hart, Pattern Classification and Scene Analysis, John<br />

Wiley & Sons, New York, 1973.<br />

[25] M. Duval, P. Gervais, G. Belanger, Update on hydro-quebec’s experience<br />

in the interpretation of dissolved gas analysis in HV transformers, CIGRE,<br />

Symposium Berlin 1993, 110-14, pp 1-6.<br />

[26] E. A. Feigenbaum The art of artificial intelligence – themes and case<br />

studies of knowledge engineering, Proc. Of the 5 th Int. Joint Conf. On AI,<br />

1977, pp. 1024-1029<br />

190


[27] I. Gath, A.B. Geva, Unsupervised optimal fuzzy clustering, IEEE Trans.<br />

Pattern Analysis and Machine Intelligence 7, 1989, pp. 773-781.<br />

[28] E. Gatnar, Klasyfikacja danych za pomocą pakietu statystycznego SPSS for<br />

Windows, Wydawnictwo PLJ, Warszawa 1995.<br />

[29] T. Gerstenkorn, T. Śródka, Kombinatoryka i rachunek<br />

prawdopodobieństwa, Państwowe Wydawnictwo Naukowe, Warszawa<br />

1972, strony 78-79, 225.<br />

[30] D. E. Goldberg, Algorytmy genetyczne i ich zastosowania, Wydawnictwa<br />

Naukowo-Techniczne, Warszawa 1995, strony 17-103.<br />

[31] G. Guiochon, C. Pommier, Chromatografia gazowa w chemii<br />

nieorganicznej, Państwowe Wydawnictwa Naukowe, Warszawa 1979,<br />

strony 1-88.<br />

[32] D.E. Gustafson, W.C. Kessel, Fuzzy clustering with a fuzzy covariance<br />

matrix, Proc. IEEE CDC, San Diego, California, USA, 1979, pp.761-766.<br />

[33] R.J. Hathway, J.C. Bezdek, Switching regression models and fuzzy<br />

clustering, IEEE Trans. Fuzzy Systems I(3), 1993, pp. 195-204.<br />

[34] R.J. Hathway , J.C. Bezdek, Grouped coordinate minimization using<br />

Newton’s method for inexact minimization in one vector coordinate,<br />

Journal of Optimization Theory and Applications 71(3), pp. 503-516, 1991.<br />

[35] S. Haykin, Neural networks. A comprehensive foundation, Macmilan Publ.<br />

Company, Englewood Cliffs, 1994.<br />

[36] J.H. Holland, Adaptation in Natural and Artificial Systems, University of<br />

Michigan Press, Ann Arbour, 1975.<br />

[37] S. Horikawa, Comparison Methods of Fuzzy Neural Networks, Proc of<br />

IECON’90, vol.2,pp.1253-1258,1990.<br />

[38] S. Horikawa, T. Furyhashi, On Fuzzy Modeling Using Neural Networks<br />

with the Back-propagation Algorithm, IEEE Trans. on Neural Networks,<br />

vol.3,no.5, September 1992.<br />

[39] H. Ichihashi, T. Wanatabe, Learning Control System by a Simplified Fuzzy<br />

Reasoning Model, IPMU’90, pp.417-419, Paris 1990.<br />

[40] <strong>Instytut</strong> Energetyki Oddział Transformatorów, Wyniki analiz DGA, Łódź<br />

1997.<br />

[41] International Electrotechnical Commision, Interpretation of the analysis of<br />

gases in transformers and other oil-filled electrical equipment in service,<br />

191


Genewa 1979.<br />

[42] H. Ishibuchi, K. Nozaki, N. Yamamoto, H. Tanaka, Selecting Fuzzy If-Then<br />

Rules for Classification Problems Using Genetic Algorithms, IEEE<br />

Transactions on fuzzy systems, vol. 3, no. 3, August 1995, pp. 260-2<strong>70</strong>.<br />

[43] H. Ishibushi, H. Okada, H. Tanaka, Interpolation of Fuzzy If-Then Rules by<br />

Neural Networks, Proceedings of the 2 nd International Conference on Fuzzy<br />

Logic and Neural Networks, Lizuka (Japan), 17-22 July 1992.<br />

[44] S. Jagnuszewski, T. Sagan, F. Szczucki, H. Świątek, Eksploatacja urządzeń<br />

elektrycznych i energoelektronicznych, Wydawnictwo <strong>Instytut</strong>u<br />

Technologii Eksploatacji, Radom 1999, strony 7-222.<br />

[45] A.K. Jain, R.C. Dubes, Algorithms for Clustering Data, Englewood Cliffs,<br />

Prentice Hall, 1988<br />

[46] P. Jaskulski, Taksonomia numeryczna. Wprowadzenie do problematyki<br />

klasyfikacji, Biuletyn Antropologiczny ISSN 1428-7420, tom 1, str. 7-10,<br />

1997.<br />

[47] J. Kacprzyk, Zbiory rozmyte w analizie systemowej, Wydawnictwo PWN,<br />

Warszawa 1986.<br />

[48] M. Kaźmierski, I. Pinkiewicz, T. DomŜalski, Nowoczesna diagnostyka<br />

transformatorów energetycznych, Biuletyn <strong>Instytut</strong>u Energetyki Numer<br />

9/94, Łódź 1994, strony 319-324.<br />

[49] M. Kaźmierski, P. Szczepaniak, Komputerowa diagnostyka<br />

transformatorów energetycznych, I Konferencja Naukowa „Diagnostyka<br />

Procesów Przemysłowych”, Podkowa Leśna 10-12 czerwiec 1996, strony<br />

101-104<br />

[50] G.J. Klir, T.A. Folger, Fuzzy sets, Uncertainty and Information, Prentice<br />

Hall, Englewood Cliffs, 1988.<br />

[51] J. Korbicz, A. Obuchowicz, D. Uciński, Sztuczne sieci neuronowe.<br />

Podstawy i zastosowania, Akademicka Oficyna Wydawnicza PLJ,<br />

Warszawa 1994, strony 17-231.<br />

[52] R. Krishnapuram, J.M. Keller, A possibilistic approach to clustering, IEEE<br />

Transactions, Fuzzy Systems I(2), pp.98-110, 1993.<br />

[53] R. Kruse, J. Gebhardt, F. Klawonn, Foundations of Fuzzy Systems, John<br />

Wiley, Chichester, 1994.<br />

[54] K. Krysicki, J. Bartos, W. Dyczka, K. Królikowska, M. Wasilewski,<br />

192


Rachunek prawdopodobieństwa i statystyka matematyczna w zadaniach.<br />

Część 2. Statystyka matematyczna, Państwowe Wydawnictwa Naukowe,<br />

Warszawa 1994, strony 6-8.<br />

[55] M. Kutyłowski, W. – B. Strothmann, Kryptografia. Teoria i praktyka<br />

zabezpieczania systemów komputerowych, Oficyna Wydawnicza READ<br />

ME, Warszawa 1998, strony 101-112.<br />

[56] K. Kwang-Yong, K. Oh-Seok, A New gradient Descent Based Self-<br />

Generating Fuzzy Algorithm Using the Partition of Fuzzy Input Space,<br />

Chungnam National University pp.494-497, Taejon 1994.<br />

[57] W. Kwiatkowski, Metody automatycznego rozpoznawania wzorców,<br />

<strong>Instytut</strong> Automatyki i Robotyki Wydział Cybernetyki WAT, Warszawa<br />

2001<br />

[58] G.F. Luger, Artificial intelligence: Structures and Strategies for Complex<br />

Problem Solving, Addison-Wesley, London 2005<br />

[59] A. Łachwa, Rozmyty świat zbiorów, liczb, relacji, faktów, reguł i decyzji,<br />

Seria: Problemy współczesnej nauki – Teoria i zastosowania. Informatyka,<br />

Akademicka Oficyna Wydawnicza EXIT, Warszawa, 2001, strony 11-67<br />

[60] J. Łęski, Systemy neuronowo-rozmyte, Wydawnictw Naukowo-Techniczne,<br />

Warszawa 2008<br />

[61] Z. Michalewicz, Algorytmy genetyczne + struktury danych = programy<br />

ewolucyjne, Wydawnictwa Naukowo-Techniczne, Warszawa 1996, strony<br />

37-375.<br />

[62] F. Mosiński, Y. K. Al-Mualla, Metody oceny wyników badań<br />

chromatograficznych gazów rozpuszczonych w oleju transformatorowym,<br />

Konferencja Krajowa „Transformatory Specjalne”, Kazimierz Dolny 1996,<br />

strony 115-125.<br />

[63] J. J. Mulawka, Systemy ekspertowe, Wydawnictwa Naukowo – Techniczne,<br />

Warszawa 1996, strony 20-164<br />

[64] H. Nomura, A Self-Tuning Method of Fuzzy Control by Descent Method,<br />

Proc. of 4 th IFSA Congress vol.Engineering, pp.155-158, Brussels 1991.<br />

[65] H. Nomura, A Self-Tuning Method of Fuzzy Reasoning by Genetic<br />

Algorithm, Fuzzy Control System pp.337-354, CRC Press. 1994<br />

[66] W. Olech, H. Olejniczak, Ocena stanu technicznego transformatorów<br />

metodą chromatografii gazowej, Biuletyn Energopomiar Nr 11, Warszawa<br />

193


1992, strony 385-388<br />

[67] W. Pedrycz, Computational intelligence: an introduction, CRC Press, 1998<br />

[68] A. Pieczyński, Reprezentacja wiedzy w diagnostycznym systemie<br />

ekspertowym, Lubelskie Towarzystwo Naukowe w Zielonej Górze, Zielona<br />

Góra 2003<br />

[69] Praca zbiorowa pod redakcją P. Węgleńskiego, Genetyka molekularna,<br />

Wydawnictwo Naukowe PWN, Warszawa 1998, strony 15-437.<br />

[<strong>70</strong>] D. Przybylak, J. Roganowicz, System ekspertowy na rzecz monitoringu<br />

stanu transformatorów, <strong>Instytut</strong> Energetyki Oddział Transformatorów<br />

dokumentacja 24/95, Łódź 1995.<br />

[71] I. C. Pyle, Ada, tłumaczenie z angielskiego, Wydawnictwa Naukowo-<br />

Techniczne, Warszawa 1986, strona 25.<br />

[72] D. Rutkowska, M. Piliński, L. Rutkowski, Sieci neuronowe, algorytmy<br />

genetyczne i systemy rozmyte, Wydawnictwo Naukowe PWN, Warszawa,<br />

1997, strony 17-376.<br />

[73] L. Rutkowski, Metody i techniki sztucznej inteligencji, Wydawnictwo<br />

Naukowe PWN, Warszawa 2006.<br />

[74] J. Ryan, M. Ryan, J. Power, Using Fuzzy Logic, Prentice Hall, London,<br />

1994.<br />

[75] K. Sasiak, Sieci neuronowe i logika rozmyta w diagnostyce technicznej,<br />

praca magisterska Politechnika Łódzka Wydział Fizyki Technicznej,<br />

Informatyki i Matematyki Stosowanej<br />

[76] Z. Stein, Maszyny i napęd elektryczny, Wydawnictwa Szkolne i<br />

Pedagogiczne, Warszawa 1985, str. 81-143.<br />

[77] P.S. Szczepaniak, Obliczenia inteligentne, szybkie przekształcenia i<br />

klasyfikatory, Akademicka Oficyna Wydawnicza EXIT, Warszawa 2004<br />

[78] R. Tadeusiewicz, Odkrywanie właściwości sieci neuronowych przy uŜyciu<br />

programów w języku C#, Wydawnictwo Polskiej Akademii Umiejętności,<br />

Kraków 2007<br />

[79] R. Tadeusiewicz, Elementarne wprowadzenie do techniki sieci<br />

neuronowych z przykładowymi programami, Akademicka Oficyna<br />

Wydawnicza PLJ, Warszawa 1998, strony 1-308.<br />

[80] R. Tadeusiewicz, Sieci neuronowe, Akademicka Oficyna Wydawnicza<br />

RM, Warszawa 1993, strony 5-136.<br />

194


[81] T. Terano, K. Asai, M. Sugeno, Fuzzy Systems Theory and its Applications,<br />

Academic Press, London, 1992.<br />

[82] C. A. Ville, Biologia, Wydawnictwo KESAN, Kaunas 1977, strony 679-<br />

757.<br />

[83] Y. Wang, Fuzzy clustering analysis by using Genetic algorithm, ICIC<br />

Express Letters, 2008<br />

[84] R. Wieczorkowski, R. Zieliński, Komputerowe generatory liczb losowych,<br />

Wydawnictwa Naukowo-Techniczne, Warszawa 1997, strony 11-125<br />

[85] Z. Witkiewicz, J. Hepter, Chromatografia gazowa, Wydawnictwa<br />

Naukowo-Techniczne, Warszawa 2001, strony 9-193.<br />

[86] Z. Witkiewicz, Podstawy chromatografii, Wydawnictwa Naukowo-<br />

Techniczne, Warszawa 2000, strony 11-142.<br />

[87] R. R. Yager, D. P. Filev, Podstawy modelowania i sterowania rozmytego,<br />

Wydawnictwa Naukowo-Techniczne, Warszawa 1995, strony 13-17.<br />

[88] L.A. Zadeh, Fuzzy Sets, Information and Control, 1965, vol. 8, pp 338-353<br />

[89] Zakłady Remontowe Energetyki „Transformatory Janów”, Wyniki analiz<br />

DGA, Łódź 1996-1997.<br />

[90] F. Zia, C. Isik, Neuro-Fuzzy Control Using Self-Organizing Neural Nets,<br />

Proc of 3 rd IEEE International Conference on Fuzzy Systems, FUZZY-<br />

IEEE’94, vol.1, pp.<strong>70</strong>-75, June 1994.<br />

[91] R. Zieliński, Generatory liczb losowych, Wydawnictwa Naukowo-<br />

Techniczne, Warszawa 1979, strony 13-51.<br />

[92] H.J. Zimmermann, Fuzzy Set Theory, Kluwer Academic Publishers,<br />

Boston-London, 1994.<br />

195


196<br />

Literatura uzupełniająca<br />

[u.1] S. Anderson, S. Anger, W. A. Bass, T. Brown, M. Crompton, H. Dusenberg,<br />

S. Gumas, J. Hawkins, A. Hermida, S. Jolly, R. McGregor, G. MacNicol,<br />

W. Newhall, Ch. J. Ohazama, D. Oliver, G. Stetten, Grafika PC bez tajemnic,<br />

Wydawnictwo Intersoftland, Warszawa 1995, strony 197-209.<br />

[u.2] N. Barkakati, Grafika i animacja w Windows, Wydawnictwo Intersoftland,<br />

Warszawa 1994, strony 267-276.<br />

[u.3] D. Chapman, Visual C++ 6 dla kaŜdego, Wydawnictwo HELION, Gliwice<br />

1998, strony 17-733.<br />

[u.4] P. Chomicz, R. Ulijasz, Programowanie w języku C i C++, Wydawnictwo PLJ,<br />

Warszawa 1992, strony 351-352.<br />

[u.5] M. Domaradzki, R. Gembara, Tworzenie realistycznej grafiki 3D,<br />

Wydawnictwo Lynx-SFT, Warszawa 1993, strony 7-69.<br />

[u.6] P. DroŜdŜewicz, Programowanie dla Windows w języku C dla początkujących,<br />

Wydawnictwo Lynx-SFT, Warszawa 1994, strony 174-176.<br />

[u.7] J. Grębosz, Symfonia C++, Wydawnictwo Oficyna Kallimach, Kraków 1993,<br />

strony 6-735.<br />

[u.8] S. Holzner, Heavy Metal Visual C++, Oficyna Wydawnicza READ ME,<br />

Warszawa 1995, strony 1-332.<br />

[u.9] A. LaMothe, J. Ratcliff, M. Seminatore, D. Tyler, Sztuczki i tajemnice<br />

programowania gier, Oficyna Wydawnicza LT&P Sp. z o.o., Warszawa 1996,<br />

strony 129-147.<br />

[u.10] A. Marciniak, Turbo Pascal 5.5, Wydawnictwo Nakom, Poznań 1993, strony<br />

454-458.<br />

[u.11] P. Perry, Ch. Corry, Ch. Cullens, M. Davidson, R. W. McKean, J. Tackett,<br />

Visual C++ 2. Podręcznik programisty, Oficyna Wydawnicza LT&P<br />

Sp. z o.o., Warszawa 1996, strony 224-231.<br />

[u.12] A. Williams, MFC czarna księga, Wydawnictwo HELION, Gliwice 1999,<br />

strony 15-491<br />

[u.13] N. Wirth, Algorytmy + Struktury danych = Programy, Wydawnictwa<br />

Naukowo-Techniczne, Warszawa 1989, strony 77-80.


[u.14] J. Sanchez, M. Canton, Direct3D. Programowanie grafiki trójwymiarowej w<br />

DirectX. Biblia, Wydawnictwo HELION, Warszawa 2001, strony 1-720.<br />

[u.15] Praca zbiorowa pod redakcją J. Zabrodzkiego, Grafika komputerowa metody i<br />

narzędzia, Wydawnictwa Naukowo-Techniczne, Warszawa 1994, strony 523-<br />

529.<br />

[u.16] S. Lalani, R. Chandak, Active X biblioteka programisty, Wydawnictwo<br />

MIKOM, Warszawa 1997, strony 11-2<strong>70</strong>.<br />

[u.17] V. Toth, Programowanie Windows 98/NT, Wydawnictwo HELION, Gliwice<br />

1999, strony 633-689.<br />

[u.18] R. S. Wright jr, M. Sweet, Open GL. Księga eksperta, Wydawnictwo HELION,<br />

Gliwice 1999, strony 25-234.<br />

[u.19] A. Nowak, P. Frej, Tworzenie plików pomocy dla Windows, Wydawnictwo<br />

HELION, Gliwice 1999, strony 17-334.<br />

[u.20] T. Zydorowicz, MS-ACCESS 1.1 bez tajemnic, Wydawnictwo PLJ, Warszawa<br />

1993, strony 7-375.<br />

[u.21] Ch. St. Valentine, Access 2. Potęga programowania, Wydawnictwo LT&P,<br />

Warszawa 1996, strony 1-643.<br />

[u.22] Praca zbiorowa pracowników firmy Catapult, Microsoft Access 7 dla Windows<br />

95 - krok po kroku, Wydawnictwo READ ME, Warszawa 1997, strony 3-281.<br />

[u.23] A. Simpson, E. Olson, Access 97, Wydawnictwo HELION, Gliwice 1998,<br />

strony 3-796.<br />

[u.24] C. N. Prague, M. R. Irwin, Access 97 - Biblia, Wydawnictwo READ ME,<br />

Warszawa 1998, strony 1-1037.<br />

[u.25] P. Cassel, C. Eddy, Access 97 - baza danych dla kaŜdego, Wydawnictwo<br />

HELION, Gliwice 1999, strony 1-560.<br />

[u.26] F. S. Barker, D. Barker, Access 97, Wydawnictwo MIKOM; Warszawa 1999,<br />

strony18-381.<br />

[u.27] M. Nowakowska, E. Zając, Microsoft Access - programowanie aplikacji,<br />

Wydawnictwo MIKOM, Warszawa 1998, strony 11-147.<br />

[u.28] E. Callahan, Microsoft Access 97 Visual Basic krok po kroku, Wydawnictwo<br />

READ ME; Warszawa 1998, strony 1-394.<br />

[u.29] J. Habraken, Microsoft Access 97 - Przewodnik egzaminacyjny, Wydawnictwo<br />

Translator; Warszawa 1998, strony 20-316.<br />

197


198<br />

[u.30]<br />

[u.31]<br />

[u.32]<br />

[u.33]<br />

[u.34]<br />

[u.35]<br />

[u.36]<br />

[u.37]<br />

[u.38]<br />

[u.39]<br />

[u.40]<br />

[u.41]<br />

[u.42]<br />

[u.43]<br />

[u.44]<br />

[u.45]<br />

[u.46]<br />

Oficjalny podręcznik Microsoft, Szybki kurs Access 97, Wydawnictwo<br />

MEDIUM, Warszawa 1998, strony 2-163.<br />

K. Kuciński, Poznajemy,... ACCESSA, Wydawnictwo Edition 2000; Kraków<br />

1999, strony 9-394.<br />

J. Graf , Access 97. Ćwiczenia praktyczne, Wydawnictwo HELION, Warszawa<br />

2001<br />

C. N. Prague, M. R. Irwin, Access 2000 - Biblia, Wydawnictwo READ ME;<br />

Warszawa 2000, strony 3-1096.<br />

J. Viescas, Podręcznik Microsoft Access 2000, Wydawnictwo READ ME;<br />

Warszawa 2000, strony 3-939.<br />

Praca zbiorowa pracowników firmy Catapult, Microsoft Access 2000 krok po<br />

kroku, Wydawnictwo READ ME; Warszawa 1999, strony 3-282.<br />

E. Callahan, Microsoft Access 2000 Visual Basic krok po kroku, Wydawnictwo<br />

READ ME; Warszawa 2000, strony 3-385.<br />

F. Wempen, Poznaj Access 2000 w 10 minut, Wydawnictwo Intersoftland,<br />

Warszawa 2000, strony 1-244.<br />

R. Dobson, Microsoft Access 2000. Programowanie, Wydawnictwo READ<br />

ME, Warszawa 2000, strony 1-510.<br />

I. Szymacha, M. Kopertowska, Ćwiczenia z Access 2000 PL, Wydawnictwo<br />

MIKOM, Warszawa 2000, strony 1-150.<br />

S. S. Harkins, K. Hansen, T. Gerhart, Poznaj Microsoft Access 2000 PL,<br />

Wydawnictwo MIKOM, Warszawa 2000, strony 1-800.<br />

A. Neibauer, Access 2000 dla Zabieganych, Wydawnictwo READ ME,<br />

Warszawa 2000, strony 4-320.<br />

M. Kopertowska, Zaawansowane moŜliwości bazy danych Access 2000 PL,<br />

Wydawnictwo MIKOM, Warszawa 2000, strony 1-136.<br />

D. S. Ray, E. S. Ray, Po prostu Access 2000 PL, Wydawnictwo HELION,<br />

Warszawa 2000, strony 1-272.<br />

T. Nabiałek, ABC... ACCESSA 2000, Wydawnictwo Edition 2000, Kraków<br />

2000, strony 15-409.<br />

P. Cassel, P. Palmer, Access 2000 PL dla kaŜdego, Wydawnictwo HELION,<br />

Warszawa 2000, strony 1-720.<br />

E. Publishing, Prosto do celu: Microsoft Access 2000, Wydawnictwo READ


ME, Warszawa 2000<br />

[u.47] B. Krzymowski, Access 2000 PL. Pierwsza pomoc, Wydawnictwo HELP,<br />

Michałowice 2000, strony 1-292.<br />

[u.48] V. Andersen, Access 2000 - kompendium wiedzy, Wydawnictwo PLJ,<br />

Warszawa 2000, strony 1-1324.<br />

[u.49] Praca zbiorowa pod redakcją S. Forte, Access 2000 Development. Ksiega<br />

Eksperta, Wydawnictwo HELION, Warszawa 2001, strony 1-720.<br />

[u.50] J. Graf, Access 2000 PL. Ćwiczenia praktyczne, Wydawnictwo HELION,<br />

Warszawa 2000, strony 1-120.<br />

[u.51] P. Norton, V. Andersen, Access 2000 PL - programowanie według Petera<br />

Nortona, Wydawnictwo MIKOM, Warszawa 2000, strony 1-744.<br />

[u.52] P. Cholajda, Systemy informatyczne w MS Access 97 PL, WyŜsza Szkoła<br />

Informatyki Stosowanej i Zarządzania, Warszawa 1999, strony 5-208.<br />

[u.53] J. Celko, SQL. Zaawansowane techniki programowania, Wydawnictwo<br />

MIKOM, Warszawa 1999, strony 15-412.<br />

[u.54] H. Ladanyi, SQL - księga eksperta, Wydawnictwo HELION, Warszawa 2000,<br />

strony 19-868.<br />

[u.55] J. L. Harrington, SQL dla kaŜdego, Wydawnictwo MIKOM, Warszawa 1998,<br />

strony 11-223.<br />

[u.56] M. Gruber, SQL, Wydawnictwo HELION, Warszawa 1996, strony 15-256.<br />

[u.57] R. K. Stephens, R. R. Plew, B. Morgan, J. Perkins, SQL w 3 tygodnie,<br />

Wydawnictwo LT&P, Warszawa 1999, strony 3-365.<br />

[u.58] C. J. Date, H. Darwen, SQL. Omówienie standardu języka, Wydawnictwo<br />

WNT, Warszawa 2000, strony 3-520.<br />

[u.59] B. Forta, Poznaj SQL w 10 minut, Wydawnictwo Intersoftland, Warszawa<br />

2000, strony 1-304.<br />

[u.60] A. Jakubowski, Podstawy SQL. Ćwiczenia praktyczne, Wydawnictwo<br />

HELION, Warszawa 2001, strony 1-104.<br />

[u.61] R. Coburn, SQL dla kaŜdego, Wydawnictwo HELION, Warszawa 2001, strony<br />

1-600.<br />

[u.62] L. Banachowski, Bazy danych. Tworzenie aplikacji, Akademicka Oficyna<br />

Wydawnicza PLJ, Warszawa 1998, strony 5-322.<br />

[u.63] M. J. Fernandez, Bazy danych dla zwykłych śmiertelników, Wydawnictwo<br />

199


MIKOM, Warszawa 1998, strony 17-324.<br />

[u.64] J. D. Ullman, J. Widom, Podstawowy wykład z systemów baz danych,<br />

Wydawnictwo Naukowo-Techniczne, Warszawa 2000, strony 19-518.<br />

[u.65] R. Barker, CASE*Method. Modelowanie związków encji, Wydawnictwo<br />

Naukowo-Techniczne, Warszawa 1996, strony 15-224.<br />

[u.66] P. Beynon-Davies, Systemy baz danych, Wydawnictwo Naukowo-Techniczne,<br />

Warszawa 1998 (wznowienie: Warszawa 2000), strony 13-309.<br />

[u.67] C. Delobel, M. Adiba, Relacyjne bazy danych, Wydawnictwo Naukowo-<br />

Techniczne, Warszawa 1989, strony 15-441.<br />

[u.68] E. Yourdon, Marsz ku klęsce. Poradnik projektanta systemów, Wydawnictwo<br />

Naukowo-Techniczne, Warszawa 2000, strony 10-198.<br />

[u.69] K. Henderson, Bazy danych w architekturze klient/serwer, Wydawnictwo<br />

Robomatic, Wrocław 2000, strony 115-240.<br />

[u.<strong>70</strong>] V. Poe, P. Klauser, S. Brobst, Tworzenie hurtowni danych, Wydawnictwo<br />

WNT, Warszawa 2000, strony 31-279.<br />

[u.71] P. Beynon-Davies, InŜynieria systemów informacyjnych, Wydawnictwo WNT,<br />

Warszawa 1999, strony 15-412.<br />

[u.72] G. Lausen, G. Vossen, Obiektowe bazy danych. modele danych i języki,<br />

Wydawnictwo WNT, Warszawa 2000, strony 1-250.<br />

[u.73] R. M. Riordan, Projektowanie systemów relacyjnych baz danych,<br />

Wydawnictwo READ ME, Warszawa 2000, strony 1-278.<br />

[u.74] C. J. Date, Wprowadzenie do systemów relacyjnych baz danych, Wydawnictwa<br />

Naukowo-Techniczne, Warszawa 2000, strony 24-897.<br />

[u.75] J. L. Harrington, Obiektowe bazy danych dla kaŜdego, Wydawnictwo MIKOM,<br />

Warszawa 2001, strony 1-264.<br />

[u.76] J. Buyens, Bazy danych w Internecie krok po kroku, Wydawnictwo RM,<br />

Warszawa 2000, strony 19-110.<br />

[u.77] S. Erlank, C. Levin, Power Builder 6.0 Oficjalny podręcznik, Wydawnictwo<br />

MIKOM, Warszawa 1998, strony 511-519 i 575-601.<br />

[u.78] M. Gunderloy, M. Chipman, SQL Server 7, Wydawnictwo MIKOM, Warszawa<br />

1999, strony 59-247.<br />

[u.79] Microsoft SQL Server 7.0 Resource Kit, edycja polska: APN PROMISE,<br />

Warszawa 1999, strony 235-257.<br />

200


[u.80] J. Sturm, Hurtownie danych. Microsoft SQL Server 7.0 Przewodnik techniczny,<br />

edycja polska: APN PROMISE, Warszawa 2000, strony 1-24.<br />

201<br />

Znajomość zagadnień poruszanych w literaturze uzupełniającej jest potrzebna do<br />

zrozumienia kodów źródłowych oprogramowania załączonego do pracy.<br />

Adresy internetowe<br />

[i.1]<br />

[i.2]<br />

[i.3]<br />

[i.4]<br />

[i.5]<br />

[i.6]<br />

[i.7]<br />

[i.8]<br />

[i.9]<br />

[i.10]<br />

[i.11]<br />

[i.12]<br />

[i.13]<br />

[i.14]<br />

[i.15]<br />

http://www.iec.ch/<br />

International Electrotechnical Commision<br />

http://www.engr.umd.edu/~blj/papers/icmc95.pdf<br />

zastosowanie algorytmu genetycznego w komponowaniu muzyki<br />

http://www.cs.usyd.edu.au/~josiah/gecco_workshop_biles.pdf<br />

zastosowanie algorytmu genetycznego w komponowaniu muzyki<br />

http://www.cs.bgu.ac.il/~omri/NNUGA/<br />

zastosowanie algorytmu genetycznego do nauki sieci neuronowej<br />

http://www.mathtools.net/Excel/Genetic_algorithms/index.html<br />

gotowe biblioteki wykonujące algorytm genetyczny<br />

http://www.piblue.com/products/optworks_ex.html<br />

aplikacja wykonująca algorytm genetyczny<br />

http://www.caplet.com/MannaMouse.html<br />

rozprzestrzenianie się myszy w zaleŜności od występowania zasobów<br />

pokarmu<br />

http://www.j-chrom-sci.com/<br />

miesięcznik naukowy o chromatografii<br />

http://ull.chemistry.uakron.edu/chemsep/<br />

kurs chromatografii<br />

http://www.elektromontazwroclaw.pl/<br />

producent transformatorów energetycznych<br />

http://www.energoserwis.pl/pl/index.html<br />

producent transformatorów energetycznych<br />

http://www.elhand.com.pl/<br />

producent transformatorów energetycznych<br />

http://codeguru.earthweb.com/<br />

przykłady programowania w MFC i C++<br />

http://msdn.microsoft.com/visualc/<br />

strona o Visual C++<br />

http://www.visionx.com/mfcpro/


202<br />

[i.16]<br />

[i.17]<br />

[i.18]<br />

[i.19]<br />

[i.20]<br />

informacje o MFC<br />

http://info.wsisiz.edu.pl/~<strong>cholajda</strong>/<br />

strona autora pracy o Accessie 97 i 2000<br />

http://web.pertus.com.pl/~stanley/index.htm<br />

strona o Accessie<br />

http://www.mvps.org/access/<br />

strona o Accessie<br />

http://www.sixsigma.pl/textbook/stathome_stat.htmlhttp%3A%2F%2Fwww.<br />

sixsigma.pl%2Ftextbook%2Fstknn.html<br />

internetowy podręcznik statystyki<br />

http://www.ise.pw.edu.pl/~cichosz/mow/wyklad/mow-w8/mow-w8.html<br />

dyskretyzacja

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!