rozprawa przemyslaw cholajda-70 - Instytut BadaÅ Systemowych PAN
rozprawa przemyslaw cholajda-70 - Instytut BadaÅ Systemowych PAN
rozprawa przemyslaw cholajda-70 - Instytut BadaÅ Systemowych PAN
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