50
POLITECHNIKA ŚLĄSKA Wydział Inżynierii Materiałowej i Metalurgii Zakład Informatyki w Procesach Technologicznych Katedra Elektrotechnologii Kierunek: Zarządzanie i Inżynieria Produkcji Specjalizacja: Informatyka w Zarządzaniu Praca magisterska Krzysztof Gałda Zastosowanie algorytmów genetycznych do optymalizacji modelu SVM procesu stalowniczego Recenzent: dr hab. Tadeusz Wieczorek, prof. nzw. w Pol. Śl. Promotor: dr inż. Marcin Blachnik Katowice 2009

Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

Embed Size (px)

Citation preview

Page 1: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

POLITECHNIKA ŚLĄSKA

Wydział Inżynierii Materiałowej i Metalurgii Zakład Informatyki w Procesach Technologicznych

Katedra Elektrotechnologii Kierunek: Zarządzanie i Inżynieria Produkcji Specjalizacja: Informatyka w Zarządzaniu

Praca magisterska

Krzysztof Gałda

Zastosowanie algorytmów genetycznych do optymalizacji

modelu SVM procesu stalowniczego

Recenzent: dr hab. Tadeusz Wieczorek, prof. nzw. w Pol. Śl.

Promotor: dr inż. Marcin Blachnik

Katowice 2009

Page 2: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

2

Spis treści 1 Wstęp ................................................................................................................................3

Cel pracy......................................................................................................................................................4 2 Optymalizacja genetyczna modeli SVM.............................................................................5

2.1 Algorytmy genetyczne ...................................................................................................................5 2.1.1 Kodowanie Chromosomu......................................................................................................6 2.1.2 Kod Gray’a .............................................................................................................................7 2.1.3 Tworzenie populacji początkowej ........................................................................................8 2.1.4 Funkcja przystosowania ........................................................................................................9 2.1.5 Operatory genetyczne ............................................................................................................9

2.2 Elementy składowe złożonych modeli inteligencji obliczeniowej............................................12 2.2.1 Usuwanie danych odstających ............................................................................................13 2.2.2 Standaryzacja........................................................................................................................14 2.2.3 Selekcja cech ........................................................................................................................15

2.2.3.1 Strategie przeszukiwania przestrzeni cech.....................................................................16 2.2.3.1.1 Algorytmy wykładnicze ............................................................................................16 2.2.3.1.2 Algorytmy sekwencyjne............................................................................................16 2.2.3.1.3 Algorytmy losowe .....................................................................................................17 2.2.3.1.4 Strategie oceny wybranych cech ..............................................................................17

2.2.4 SVM......................................................................................................................................19 2.2.4.1 Funkcje jądrowe...............................................................................................................19 2.2.4.2 Konstrukcja optymalnej hiperpłaszczyzny.....................................................................20 2.2.4.3 Konstrukcja hiperpłaszczyzny dla przypadków nieseparowalnych .............................22 2.2.4.4 Problem regresji ...............................................................................................................24 2.2.4.5 Wieloklasowy SVM.........................................................................................................26 2.2.4.6 Ocena dokładności modelu .............................................................................................27

2.3 Integracja algorytmów genetycznych z optymalizacją modelu.................................................28 2.4 Wyniki porównawcze...................................................................................................................31

2.4.1 Zbiory danych ......................................................................................................................31 2.4.2 Wyniki ..................................................................................................................................32

2.4.2.1 Cukrzyca...........................................................................................................................32 2.4.2.2 Sonar.................................................................................................................................33 2.4.2.3 Jonosfera...........................................................................................................................34 2.4.2.4 Choroby serca...................................................................................................................35

2.4.3 Wnioski.................................................................................................................................36 3 Modelowanie danych stalowniczych................................................................................37

3.1 Proces stalowniczy .......................................................................................................................37 3.2 Dane Doświadczalne....................................................................................................................41 3.3 Wyniki...........................................................................................................................................42

3.3.1 Zawartość C..........................................................................................................................42 3.3.2 Zawartość Mn.......................................................................................................................43 3.3.3 Zawartość Si .........................................................................................................................44

3.4 Wnioski .........................................................................................................................................45 4 Podsumowanie ................................................................................................................46 Literatura.................................................................................................................................47 Spis tabel ................................................................................................................................49 Spis rysunków.........................................................................................................................50

Page 3: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

3

1 Wstęp Optymalizacja to w obecnych czasach klucz do sukcesu, jeśli można zrobić coś lepiej, szybciej,

a przy tym zmniejszyć wykorzystanie zasobów to ma to wymierne korzyści finansowe. Pomimo

dynamicznego rozwoju materiałów kompozytowych rynek metalurgiczny i jego produkty to nadal

ogromne nakłady finansowe i duże zyski. Można powiedzieć, że proces metalurgiczny to czysta

chemia, gdzie substraty pod wpływem temperatury zamieniają się w produkty, lecz ten oczywisty ciąg

przyczynowo-skutkowy wydaje się nie mieć pokrycia w rzeczywistych warunkach. Modele oparte na

stechiometrii nie dają najlepszy rezultatów z uwagi na stochastyczny charakter procesów

metalurgicznych jak i dużą niepewność danych wejściowych jak np. skład chemiczny wsadu itp..

W sytuacji, gdy modelowanie matematyczne jak i metody klasycznej statystyki również zawodzą warto

spróbować metod wywodzących się z inteligencji obliczeniowej. Wymagają one jednak doboru

odpowiednich wartości parametrów wstępnych, które mają istotny wpływ na dokładność ich działania.

Dlatego też niezbędna jest integracja komputerowych metod optymalizacji z nowoczesnymi metodami

modelowania danych w celu dobrania odpowiednich wartości hyper-parametrów.

Dane metalurgiczne to często bardzo duże zbiory informacji, co wiąże się z użyciem dużych

nakładów mocy obliczeniowej na ich przetworzenie. W takiej sytuacji naturalne jest zastosowanie

różnych technik wstępnej obróbki danych, które wyłonią istotne dla nas informacje. Lecz tu pojawia się

kolejny problem – nie można stwierdzić z całą pewnością, które operacje będą najskuteczniejsze, wiec

do problemu doboru parametrów modeli procesu dochodzi także problem: stosować czy nie stosować

operacje wstępnego przetwarzania danych? Jako, że algorytmy genetyczne (ang. Genetic algorithm,

GA) opierają się na ciągach bitowych daje to naturalne pole do zakodowania informacji o użyciu lub

nie użyciu danego algorytmu. Na ciągach bitowych równie swobodnie można zapisywać liczby

rzeczywiste, co pozwala na zakodowanie informacji o parametrach algorytmów. Wydaje się wiec,

że odpowiednim narzędziem do rozwiązania tego typu problemu są właśnie algorytmy genetyczne,

które u podstaw swego działania również posiadają elementy losowe, co w jakimś drobnym stopniu

upodabnia je do procesu metalurgicznego.

Page 4: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

4

Cel pracy Celem pracy jest przetestowanie algorytmu genetycznego jako narzędzia optymalizacji

parametrów dla złożonych modeli inteligencji obliczeniowej (ang. Computational intelligence, CI)

i porównanie jego rezultatów z modelami optymalizowanymi z wykorzystaniem algorytmu

przeszukiwania zupełnego w zastosowaniu do modelowania procesu stalowniczego na przykładzie

predykcji ilości pierwiastków chemicznych niezbędnych do uzyskania określonego gatunku stali.

W ramach pracy wykorzystując środowisko obliczeniowe, jakim jest Matlab stworzony przez

firmę MathWorks, zostanie zbudowany model inteligencji obliczeniowej, którego składowymi będą:

Algorytm wstępnego przetwarzania danych - standaryzacji.

Algorytm selekcji cech opierający się na metodzie rankingowej.

Model SVM.

Zadaniem algorytmu genetycznego będzie optymalizacja parametrów modeli składowych modelu

inteligencji obliczeniowej.

Rozdział drugi jest, krótkim przeglądem wiedzy z dziedziny algorytmów genetycznych i modelu

SVM, a także operacji wstępnego przetwarzania danych oraz selekcji cech. Przedstawiono w nim

również wyniki dla kilku zbiorów danych niezwiązanych z metalurgią. Rozdział trzeci jest poświecony

analizie danych metalurgicznych, przedstawiono w nim wyniki z prób wyznaczenia niezbędnych ilości

dodatków chemicznych rozbitych na pierwiastki potrzebne do uzyskania odpowiedniego gatunku stali

w oparciu o model SVM optymalizowany przez algorytm genetyczny i algorytm przeszukiwania

zupełnego.

Page 5: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

5

2 Optymalizacja genetyczna modeli SVM

2.1 Algorytmy genetyczne

Za twórców matematycznej teorii algorytmów genetycznych należy uznać J. von Neumanna

i J. Hollanda. Algorytmy genetyczne są to algorytmy przeszukiwania oparte na mechanizmach doboru

naturalnego oraz dziedziczenia, które łączą w sobie ewolucyjną zasadę przeżycia najlepiej

przystosowanych jednostek, z systematyczną, choć posiadającą elementy losowe wymianą informacji

[Goldberg 1995]. Również z genetyki pochodzi nazewnictwo używane w teorii algorytmów

genetycznych. Każdy element przestrzeni decyzyjnej (populacji) jest nazywany chromosomem,

a składowe chromosomu genami. Dzięki zastosowaniu ewolucyjnych metod doboru naturalnego

powstała metoda poszukiwania, która kieruje się ludzkim pierwiastkiem inteligencji w swym działaniu.

W każdym pokoleniu powstaje nowy zespół sztucznych organizmów, dzięki wykorzystaniu

fragmentów najlepiej przystosowanych przedstawicieli poprzedniego pokolenia jednocześnie

wypróbowuje się nową część składową. Korzystanie z przeszłych doświadczeń pomaga w określeniu

obszaru poszukiwań gdzie spodziewamy się znaleźć bardziej optymalne rozwiązanie. W tym miejscu

należy podkreślić fakt, iż algorytmy genetyczne są narzędziem do optymalizacji, czyli poprawieniu

obecnego wyniku. Ich celem nie jest osiągniecie idealnego rozwiązania, co oczywiście może się stać,

lecz głównym celem jest zbliżenie się do niego możliwie jak najbliżej – rozwiązanie suboptymalne.

Dobrą cechą algorytmów genetycznych jest fakt, iż są one wolne od matematycznych ograniczeń

(ciągłość funkcji, istnienia pochodnych itp.), jakimi są obarczone analityczne metody gradientowe.

Metody przeglądowe i metody poszukiwania losowego np. metoda Monte Carlo również są wolne od

matematycznych ograniczeń, jednak każda z nich ma swoje własne ograniczenia, które mogą

uniemożliwić uzyskanie optymalnego rozwiązania, a których nie posiadają algorytmy genetyczne.

Ważnym zagadnieniem dotyczącym algorytmów genetycznych jest ich odporność, czyli

„kompromis miedzy efektywnością, a skutecznością konieczna do przeżycia w różnorakich

środowiskach” [Goldberg 1995]. Dowiedziono teoretycznie i empirycznie, że algorytmy genetyczne

stanowią „odporną” metodę poszukiwania w skomplikowanych przestrzeniach. Podstawową

monografią na ten temat jest praca Hollanda z 1975 „Adaptation In Natural and Artifical Systems”.

W wielu artykułach i rozprawach naukowych dowiedziono, że algorytmy genetyczne są dobra metodą

poszukiwania optimum w zagadnieniach związanych z optymalizacją i sterowaniem.

Page 6: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

6

Algorytmy genetyczne uzyskują swój poziom odporności dzięki [Goldberg 1995]:

Nie przetwarzaniu bezpośrednio parametrów zadania lecz ich zakodowananej postaci (ciągi

znaków 0, 1).

Prowadzeniu poszukiwań, wychodząc nie z pojedynczego punktu, lecz z pewnej ich populacji.

Korzystaniu tylko z funkcji celu, nie korzystaniu z innych danych pomocniczych.

Stosowaniu probabilistycznych, a nie deterministycznych reguł wyboru.

Dla konstrukcji algorytmu genetycznego należy określić sześć składowych [Cytowski 1996]:

Budowę chromosomu, który jest genetyczną reprezentacją potencjalnych rozwiązań problemu.

Metody generowania populacji rozwiązań początkowych.

Funkcji dopasowania (ocena potencjalnych rozwiązań).

Operatory genetyczne zmieniające geny w chromosomach.

Pewne liczby stałych parametrów charakteryzujących algorytm (rozmiar populacji,

prawdopodobieństwo zastosowania operatorów genetycznych itp.)

2.1.1 Kodowanie Chromosomu

Pierwszym zagadnieniem przy tworzeniu algorytmu genetycznego jest określenie kodu

chromosomu. Chromosom jest to zakodowana do postaci binarnej reprezentacja parametrów zadania,

które przetwarza algorytm genetyczny. Algorytm wymaga by chromosomy były kodowane za pomocą

łańcuchów skończonej długości w określonym skończonym alfabecie, w którym najczęściej przyjmuje

się geny binarne (zero-jedynkowe). Taka reprezentacja jest uniwersalna, łatwa do przetworzenia

oraz istnieje dla niej wiele operatorów genetycznych. Teoria informacji stwierdza, że alfabet binarny

ma największą pojemność informacyjną [Jarek 2006]. Istnieją oczywiście problemy, dla których

konieczne jest określenie innych reprezentacji, co pociąga za sobą stworzenie odpowiednich

operatorów genetycznych.

Page 7: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

7

2.1.2 Kod Gray’a

Kod Gray’a znany również, jako „lustrzany kod binarny” został opatentowany przez Franka

Gray’a pracownika Bell Labs w 1947. Podstawową zaletą kodowania Gray’a jest to, że reprezentacje

binarne dwóch kolejnych liczb różnią się tylko jednym bitem.

Tab.1 Przykładowe wartości naturalnego kodu binarnego i odpowiadające im wartości w kodzie

Gray’a.

Liczba Kod

naturalny

binarny

Kod Gray’a

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

Zapis binarny chromosomów przy pomocy kodowania Gray’a zachowuje pewną „symetrię”.

Stosowanie operatora mutacji dla chromosomów z genami wyznaczonymi przez kod Gray’a zapewnia

im nieco większą dynamikę w przeszukiwaniu przestrzeni rozwiązań [Cytowski 1996]. Procedury

konwersji pomiędzy naturalnym kodem binarnym a kodem Gray’a przedstawiono na rysunkach 1 i 2.

Page 8: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

8

Rys.1 Procedura konwersji pomiędzy naturalnym kodem binarnym, a kodem Gray’a.

Rys.2 Procedura konwersji pomiędzy kodem Gray’a, a naturalnym kodem binarnym.

2.1.3 Tworzenie populacji początkowej

Wyznaczenie pierwszej populacji jest bardzo ważnym elementem, jest również pierwszym

etapem działania algorytmu co widać na rysunku 3. Populacja powinna charakteryzować się dużym

poziomem entropii (chaotyczności), w praktyce efektywność algorytmu genetycznego w dużej mierze

zależy właśnie od stopnia nie zorganizowania początkowej populacji. Jeśli jeden z chromosomów,

o szczególnie korzystnej postaci, występuje w niej zbyt często, istnieje obawa, iż zdominuje on kolejne

populacje. To może prowadzić do przedwczesnego zakończenia działania algorytmu i wypaczenia

Page 9: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

9

wyniku. Początkową populację można oczywiście wyznaczyć w sposób całkowicie losowy,

jednak w praktyce buduje się ją w oparciu o wstępną analizę problemu, a także wyniki uzyskane

innymi sposobami.

2.1.4 Funkcja przystosowania

Znana również jako funkcja dopasowania lub celu, jest funkcją, która oddaje charakter

optymalizowanego problemu. Zadaniem tej funkcji jest przetwarzanie poszczególnych chromosomów

i ich osąd: jak dobrze dany chromosom poradził sobie z optymalizowanym problemem. Wartością

wejściową dla niej jest ciąg bitowy, a wyjściem wartość ciągła. W początkowym okresie działania,

gdy populacja jest różnorodna, występuje duże zróżnicowanie pomiędzy wartościami funkcji dla

poszczególnych chromosomów, lecz sytuacja ta ulega zmianie w miarę działania algorytmu i skupiania

się chromosomów wokół ekstremów. Da się zauważyć, że pod koniec działania algorytmu wartości

funkcji celu wykazują małą różnorodność dla chromosomów w całej populacji. Dobrze skonstruowana

funkcja celu powinna [Jarek 2006]:

Pozwolić wydzielić chromosomy wyznaczające najlepsze rozwiązanie problemu.

Nie być zbyt ostro selekcjonująca.

Łączyć wymaganie zbieżności z koniecznością zbadania jak największego obszaru

przestrzeni rozwiązań.

2.1.5 Operatory genetyczne

Do zadań operatorów genetycznych należy również przetwarzanie chromosomów jednak nie są

one poddawane ocenie, a jedynie zmieniają swoja postać. Dzięki nim otrzymujemy nowe rozwiązania.

Główne operatory to [Jarek 2006]:

Reprodukcja – jest procesem, w którym indywidualne ciągi kodowe zostają powielone w

stosunku zależnym od wartości uzyskanej dla nich funkcji celu. Używa się do tego metody

ruletki, która przypomina znaną wersję ruletki prowadzoną w kasynach – ślepy traf, z tą

różnicą, że w przypadku operatora reprodukcji wielkość sektorów tarczy ruletki zależy od

wartości funkcji przystosowania. Lepiej przystosowani mają większe szanse bycia

wylosowanym, co jednocześnie jest odzwierciedleniem darwinowskiej zasady. Efektem

reprodukcji jest stworzenie puli rodzicielskiej.

Krzyżowanie – proces krzyżowania prostego przebiega w dwóch etapach.

1. Najpierw kojarzy w losowy sposób ciągi z puli rodzicielskiej w pary.

Page 10: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

10

2. Następnie wybieramy losowo (z jednakowym prawdopodobieństwem dla wszystkich par)

jedną z pozycji (punkt krzyżowania k) spośród j-1 początkowych pozycji w ciągu kodowym

(gdzie j jest długością ciągu), po czym zamieniamy miejscami znaki od pozycji k+1 do j

włącznie w obu elementach pary, tworząc w ten sposób dwa nowe ciągi (chromosomy)

Mutacja – proces ten polega na sporadycznej (zachodzącej z bardzo małym prawdopodo-

bieństwem) zmianie wartości elementu w ciągu kodowym. Zakłada się, że mutacja powinna

przebiegać z prawdopodobieństwem 1:1000, czyli na 1000 skopiowanych bitów jeden podlega

mutacji. Podobnie jak w przyrodzie mutacja jest bardzo rzadka, ale niezwykle potężna,

ponieważ wnosi pierwiastek nowości i geniuszu do całego rozwiązania - może być tym,

co wskaże nową lepszą lub gorszą drogę.

Inwersja – polega na odwróceniu kolejności występowania pewnych genów w chromosomie,

można powiedzieć, że jest odmianą mutacji i pełni podobną do niej rolę – wprowadza

innowacyjność. Jest szczególnie ważna w chromosomach, gdzie kolejność bitów pełni istotną

rolę.

Uwzględniając opisane powyżej operatory genetyczne procedurę algorytmu genetycznego można

opisać tak jak ilustruje to rysunek 3.

Page 11: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

11

Rys.3 Przykładowy schemat działania algorytmu genetycznego.

Page 12: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

12

2.2 Elementy składowe złożonych modeli inteligencji obliczeniowej

Inteligencja obliczeniowa zajmuje się problemami, które nie są efektywnie algorytmizowane

np. rozumienie sensu zdań, rozpoznawanie pisma odręcznego, diagnostyka medyczna, planowanie

terapii, modelowanie procesów przemysłowych, rozwiązywanie nietypowych problemów. Do tak

różnorodnych zadań CI czerpie inspiracje z równie różnorodnych dziedzin takich jak statystyka, teoria

wnioskowania, teoria informacji, matematyka stosowana, fizyka, biologia, informatyka, nauki

techniczne. W świetle tak wielu różnorakich dyscyplin można zadać pytanie, co jest celem inteligencji

obliczeniowej. O tyle o ile przed sztuczną inteligencją stoi wyzwanie zwane testem Turinga to przed

inteligencją obliczeniową postawiono cel, który najlepiej można opisać jako przetrwanie – adaptacja do

środowiska, wymaga percepcji, kontroli, pamięci skojarzeniowej, planowania [Duch 2009].

Osiągniecie takiego stanu przez sztuczny organizm (program) wymaga pozyskania i przetworzenia

ogromnej ilości danych.

Rys.4 Schemat przetwarzania danych wg [Blachnik 2009 a].

Rysunek 4 demonstruje jak może wyglądać przykładowy schemat przetwarzania danych. I tak

pierwszym krokiem w przetwarzaniu danych jest ich pozyskanie, co zazwyczaj jest jednoznaczne ze

zmierzeniem pewnym interesujących nas wartości. Istnieje też możliwość, że nasze dane będą

wynikiem z innego procesu przetwarzania danych. Po pozyskaniu danych następuje ich wstępne

przetworzenie, a w ramach niego przetworzenie wartości odstających oraz wstępna transformacja

danych. Etap selekcji informacji to moment, w którym decydujemy, jakie informacje są ważne dla

rozwiązania zadania. Celem selekcji jest stworzenie zbioru uczącego. Po selekcji cech można

zaciągnąć do pracy model decyzyjny z danymi, które zostały przygotowane w poprzednich krokach.

Każdy z etapów przetwarzania danych charakteryzuje się odpowiednimi parametrami, które dobrze

lub źle dobrane mogą poprawić lub pogorszyć wynik. Posiadając wynik modelu decyzyjnego można na

jego podstawie ocenić działanie całego modelu inteligencji obliczeniowej, a następnie poddać korekcji

parametry poszczególnych modeli składowych, które w tym wypadku odpowiadają odpowiednio

wstępnemu przetwarzaniu danych, selekcji informacji i modelowi decyzyjnemu. Korekcja parametrów

Page 13: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

13

modeli składowych ma na celu poprawienie całego układu co oczywiście nie może przebiegać w

nieskończoność – konieczne jest określenie pewnego stanu, który jest dla nas zadowalający.

2.2.1 Usuwanie danych odstających

Dane odstające (ang. Outlier) definiuje się jako dane, których wartości znacznie różnią się od

pozostałych. Idąc tą drogą decyzja o tym, co uznamy za „znacznie różniące się” należy do analityka

lub programu analizującego. Jednym z możliwych rozwiązań jest posłużenie się kwartylami.

Zakładając, że nasz zbiór jest N elementowy cały proces można zrealizować w kilku krokach.

1. Uszeregowanie danych w porządku rosnącym.

2. Wyznaczenie wartości mediany M

a. Jeśli N jest nieparzyste to wybieramy wartość znajdującą się w środku zbioru.

b. Jeśli N jest parzyste to wybieramy dwie wartości leżące najbliżej środka i obliczamy ich

średnią.

3. Następnie wyznacza się górny (QH) i dolny kwartyl (QL)

a. W celu wyznaczenia wartości dolnego kwartyla należy wyznaczyć element o indeksie

1*25.0 N .

b. W celu wyznaczenia wartości górnego kwartyla należy wyznaczyć element o indeksie

1*75.0 N .

4. W następnym kroku wyznacza się odstęp miedzykwartylowy (ang. Interquartile Range, IQR)

LH QQIQR .

5. W ostatnim kroku należy wyznaczyć

a. Dolny wewnętrzny próg (ang Lower inner fence) z równania LQM *5.1 .

b. Górny wewnętrzny próg (ang Upper inner fence) z równania HQM *5.1 .

c. Dolny zewnętrzny próg (ang Lower outer fence) z równania LQM *3 .

d. Górny zewnętrzny próg (ang Upper outer fence) z równania HQM *3 .

6. Następnie w zależności od kryterium, które przyjmiemy usuwamy ze zbioru wszystkie liczby

leżące poza progami wewnętrznymi lub zewnętrznymi według zasady

a. Wszystkie powyżej górnego progu odpadają.

b. Wszystkie poniżej dolnego również.

Wartości leżące poza wewnętrznym progiem nazywamy miękkimi (ang mild) wartościami odstającymi,

a poza zewnętrznym ekstremalnymi (ang. extreme). Możliwe jest też podejście w postaci LQkM * i

Page 14: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

14

HQkM * w takiej sytuacji dobiera się współczynnik k tak, aby jak najlepiej pasował do naszego

zagadnienia. W wypadku, gdy nie możemy sobie pozwolić na usuniecie danych można rozważyć

przeprowadzenie regularyzacji [Jankowski 2003] danych odstających. Inna sytuacją jest, gdy są one

efektem specjalnej postaci rozkładu wtedy należy stosować klasyfikatory, które są mało podatne na

dane odstające.

2.2.2 Standaryzacja

Przeprowadza się ją w celu „wyrównania” wypływu wartości poszczególnych cech w wektorze,

które w sposób znaczący różnią się pod względem wielkości lub zakresem zmienności [Stąpor 2005].

Taka sytuacja mogłaby zakłócić prace algorytmów klasyfikujących, które mogłyby uznać cechy

o większych wartościach za ważniejsze, choć wcale takie nie muszą być, a pominąć te, które mają małe

wartości, choć potencjalnie mogą być ważniejsze z punktu widzenia danego problemu. Przekształcenie

cechy wejściowej x do x’ przeprowadza się w następujący sposób:

' ij jij

j

x xx

, (1)

gdzie:

ijx - jest j-tą wartością w i-tym wektorze cech,

jx - średnia wartość j-tej cechy,

j - odchylenie standardowe j-tej cechy dane wzorem:

n

ijijj xx

n 1

2

11 . (2)

Takie przekształcenie nazywamy standaryzacją - dane wejściowe posiadają wartość średnią 0

i odchylenie standardowe 1. Natomiast normalizacji dokonuje się wg zależności:

' max

max minij j

ijj j

xx

x

x x, (3)

gdzie:

jxmax - maksymalna wartość z j-tego wektora cech.

jxmin - minimalna wartość z j-tego wektora cech.

ijx - jest j-tą wartością w i-tym wektorze cech.

Dane wyjściowe w takim przypadku są sprowadzone do przedziału <0,1>.

Page 15: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

15

2.2.3 Selekcja cech

Wraz z pojawieniem się terminu „uczenie maszyn” (ang. Machine learning) w latach 50-tych

ubiegłego stulecia zaczęto prowadzić badania na temat analizy i szukania zależności pomiędzy danymi,

z którym związane jest pojęcie selekcji cech (ang. Feature selection). Selekcja cech jest jedną ze

składowych problemu ekstrakcji cech (ang. Feature extraction). Głównym celem selekcji cech jest

wyłonienie ważnych i wartościowych danych np. dla systemów klasyfikujących. Innymi korzyściami

wynikającymi z selekcji cech są [Gyuon Gunn Nikravesh 2006]

Zmniejszenie zbioru danych – dzięki temu zmniejszamy ilość zasobów potrzebnych do

trzymania danych, także zwiększamy prędkość algorytmu przetwarzającego dane.

Zmniejszenie zestawu cech – może to pozwolić na zaoszczędzenie zasobów podczas kolejnych

tur wykonywania pomiarów itp.

Poprawa wydajności – dzięki ograniczeniu zbioru danych klasyfikatory mają mniejsze

tendencje do „przeuczania się”, co za tym idzie posiadają większe zdolności generalizacji

(uogólniania).

Rozumienie danych – pozwala zdobyć wiedzę na temat procesu, w którym dane powstały lub w

prostszy sposób dokonać wizualizacji danych

W procesie selekcji cech istnieją cztery podstawowe etapy:

Określenie punktu startowego w przestrzeni przeszukiwań, jak i kierunku przeszukiwań („w

przód” lub „w tył”).

Określenie strategii przeszukiwania dla odpowiedniego wyboru podzbiorów cech do oceny

[Doak 1992].

o Algorytmy wykładnicze (optymalne).

o Sekwencyjne (suboptynalme).

o Stochastyczne (losowe).

Określenie metody oceniającej wybrany podzbiór:

o Metody filtrujące (ang. Filter methods).

o Metody opakunkowe (ang. Wrappers methods).

o Metody wbudowane (ang. Embedded methods)

Określenie momentu zatrzymania algorytmu.

Page 16: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

16

2.2.3.1 Strategie przeszukiwania przestrzeni cech

2.2.3.1.1 Algorytmy wykładnicze

W tej grupie algorytmów znajdują się algorytmy:

Algorytm przeszukiwania wyczerpującego.

Algorytm branch&bound.

Metody tej grupy z uwagi na swą złożoność rzadko znajdują praktyczne zastosowania.

2.2.3.1.2 Algorytmy sekwencyjne

Przykładami w tej grupie są:

Selekcja w przód (ang. Sequential Forward Selection (SFS)) – proces selekcji zaczyna się od

zbioru pustego, do którego kolejno dodawane są cechy, a następnie przeprowadza się

sprawdzenie czy dana cecha poprawia skuteczność algorytmu uczącego, jeśli tak, dana cecha

zostaje, jeśli nie to odpada.

Eliminacja wsteczna (ang. Sequential Backward Selection (SBS)) – proces rozpoczyna się od

zbioru pełnego, z którego kolejno zostają usuwane kolejne cechy, jeśli algorytm stwierdzi,

że pogarszają wyniki algorytmu uczącego.

Szukanie dwukierunkowe – jest połączeniem dwóch wyżej przedstawionych metod, posiada

dwa ważne parametry L i R, które oznaczają ilość cech dodanych i ilość cech odjętych.

W wypadku, gdy L>R rozpoczynamy przeszukiwanie ze zbiorem pustym, jeśli L<R to ze

zbiorem pełnym.

Algorytmy rankingowe – są najszybszymi metodami selekcji cech. Podstawą tej metody jest

wyznaczenie wartości funkcji kryterialnej )(J , która określa zdolność dyskryminacji lub

zależność pomiędzy cechą f a klasą C. Typowy algorytm rankingowy składa się z czterech

etapów:

1. Zainicjowanie zbioru F, który jest zbiorem cech f oraz zbiór S, który jest zbiorem pustym.

2. Dla wszystkich Ff ,obliczenie wartość funkcji kryterialnej )( fJ .

3. Znalezienie cechy f, która maksymalizuje )( fJ i przenosi ją do }{\},{ fFFfSS .

4. Proces powtarza się dopóki nie zapełni się zbioru S.

W literaturze można spotkać funkcje kryterialne wynikające z teorii informacji i miar

statystycznych, przykładem tego jest współczynnik korelacji liniowej określony zależnością:

Page 17: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

17

1

2 2

1 1

N

i ii

xy N N

i ii i

x yr

x y

x y

x y, (4)

gdzie:

1,1xyr ,

xi i yi są i-tymi wartościami wektorów x i y.

2.2.3.1.3 Algorytmy losowe

Algorytm genetyczny – działanie algorytmów genetycznych zostało opisane w rozdziale

pierwszym. Jednak należy tu wspomnieć, że jeden bit w chromosomie odpowiada jednej z cech,

wartość 1 oznacza, iż cecha przechodzi dalej, a 0 że odpada [Gyuon Gunn Nikravesh 2006]

Symulowane wyżarzanie – metoda ta została zaproponowana przez [Hyakin 1994] jako kolejna

metoda losowej optymalizacji szukania w selekcji cech. W tym podejściu stan układu zmienia

się o małą losową wartość. Nowy stan jest akceptowany, jeśli jest lepszy niż poprzedni lub

akceptowany jest stan pogorszony z prawdopodobieństwem )/exp( TE , gdzie T to

temperatura, a E oznacza stan energii. W przypadku selekcji cech transformacja polega na

dodaniu lub usunięciu danej cechy.

2.2.3.1.4 Strategie oceny wybranych cech

Metoda filtra – U podłoża działania tej metody leży zastosowanie różnych statystyk,

co wymusza estymacje wielowymiarowych rozkładów prawdopodobieństwa. Jest to metoda niezależna

od klasyfikatora, dzięki czemu jest w stanie wygenerować zbiór danych bardziej uniwersalny, który

będzie mógł współpracować z różnymi klasyfikatorami, jest też bardzo szybka, bo jej złożoność

obliczeniowa jest mniejsza niż metod współpracujących z docelowym klasyfikatorem. Jest to metoda

uniwersalna, która może być wykorzystywana do każdego problemu klasyfikacyjnego.

Rys.5 Przykładowy schemat użycia filtra w modelu decyzyjnym wg [Blachnik 2009 b].

Metoda opakunkowa – charakterystyczną cechą tej metody selekcji jest fakt, że do oceny

jakości nowego zbioru cech używamy wyniku klasyfikatora (rysunek 6). Metoda ta jest bardziej

Page 18: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

18

złożona pod względem obliczeniom, lecz daje również lepsze wyniki [John Kohavi Peger 1994].

Tę metodę można wykorzystać do każdego problemu klasyfikacyjnego.

Rys.6 Przykładowy schemat użycia metody opakowanej w modelu decyzyjnym

wg [Blachnik 2009 b].

Metody wbudowane – są to klasyfikatory z wbudowanymi mechanizmami selekcji cech. Zaletą

tej metody jest jej dokładność, ponieważ są one projektowane z myślą o konkretnym algorytmie oraz

szybkość. Przykładem takiego algorytmu jest drzewo decyzyjne [Quinlan 1987].

Możliwe jest także podejście, w którym łączy się wyżej podane metody i gdzie wyniki działania

filtra są oceniane przez klasyfikator, a na tej podstawie następuje adaptacja parametrów wewnętrznych

filtru. Dzięki temu sam klasyfikator ma wpływ na zbiór danych mu dostarczonych, co oczywiście

powoduje, że zbiór ten może być dobry jedynie dla danego klasyfikatora, ale jednocześnie można się

spodziewać poprawy jakości jego działania. Takie podejście określa się mianem frappera.

Rys.7 Przykład możliwej konstrukcji frappera wg [Blachnik 2009 b].

Page 19: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

19

2.2.4 SVM

Model SVM znany również pod nazwą Maszyna wektorów podpierających (lub wspierających)

został przedstawiony przez Vladimira Vapnika, obecnie jest on używany do rozwiązywania problemów

klasyfikacji i regresji, a jego istotą jest stworzenie optymalnej hiperpłaszczyzny (rysunek 8),

która umożliwi odseparowanie danych należących do różnych klas, z możliwie jak największym

marginesem zaufania. Poprzez margines rozumie się tu odległość między płaszczyzną, a najbliższym

jej wektorem.

Rys.8 Optymalna hiperpłaszczyzna [Jankowski 2003].

2.2.4.1 Funkcje jądrowe

Z powodu możliwości wystąpienia liniowej nieseparowalności w przestrzeni wejściowej,

ideą SVM stała się konstrukcja hiperpłaszczyzny w pewnej wysokowymiarowej przestrzeni cech Z,

która jest, nieliniowym iloczynem pewnych funkcji bazowych i(x), określonych w przestrzeni

wejściowej. Wtedy równanie hiperpłaszczyzny

N

ii

Tii byF

1

)( xxx (5)

przyjmuje postać:

Page 20: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

20

bKyaF ii

N

ii

xxx ,)(1

, (6)

gdzie Ki(xi,x) jest jądrem iloczynu skalarnego funkcji bazowych (przestrzeni cech Z) j(x), j=1,2..,m,

ia jest mnożnikiem Lagrange’a, odpowiadającym wadze neuronu w sztucznej sieci

neuronowej, iy przyjmuje wartości 1 lub -1 co jest odzwierciedleniem klasy pierwszej (1) i drugiej (-1),

b jest to odległość hiperpłaszczyzny od środka układu. Iloczyn skalarny może być zdefiniowany jako

')',( xxxxK iT

i . (7)

Dzięki takiemu zabiegowi rozwiązania poszukujemy już w zupełnie innej przestrzeni, w której

poszukiwanie jest znacznie efektywniejsze, można rozwiązywać problemy, które w wejściowej

przestrzeni nie były liniowo separowane. Zgodnie z teorią przestrzeni Hilberta [Luenberg 1974],

funkcje jądrowe K reprezentujące iloczyn skalarny muszą być dodatnio określone:

dxxffdladxdxxfxxK 2,00''', . (8)

Istnieją różne typy funkcji jądrowych, gdzie do najpopularniejszych należą:

Funkcja wielomianowa 1,0,'', RqgdzieK qT xxxx . (9)

Funkcja gaussowska 2

2

', ' exp 0K gdzie

x xx x . (10)

Funkcja tangensa hiperbolicznego .'tanh', xxxx TK (11)

Funkcja wielomianu Vovka NqgdzieK T

qT

'1'1',

xxxxxx (12)

2.2.4.2 Konstrukcja optymalnej hiperpłaszczyzny

Uzyskanie możliwie największego marginesu pomiędzy dwiema klasami wymaga maksymali-

zacji odległości punktów (najbliższych) od hiperpłaszczyzny. Taki cel może być zapisany w

następujący sposób:

,

: 0, 1,...,max min Ti

w bb i N x x w x , (13)

przy czym 0 bxwT to równanie hiperpłaszczyzny, gdzie w to wektor prostopadły do niej, a b to

odległość od środka układu współrzędnych. Stosując kilka przekształceń otrzymujemy funkcję celu

zdefiniowaną jako:

Page 21: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

21

2

,

1min 2b

w

w w , (14)

zakładając że:

.,...,11 Niby iT

i xw (15)

Następnie stosując metodę mnożników Lagrange’a , otrzymujemy lagrangiana zdefiniowanego jako:

N

i

Tiii bybL

1

2 121,, wxww ,

(16)

gdzie 0i są mnożnikami Lagrange’a. W takim wypadku naszym celem staje się maksymalizacja

lagrangiana L ze względu na i i minimalizacje ze względu na w i b. To prowadzi do warunków,

w których pochodne L ze względu na te współczynniki zanikają i otrzymujemy:

N

iiii y

1

xw , (17)

N

iii y

10 . (18)

Należy jednak pamiętać, że rozwiązanie takiego zadania może nie istnieć ze względu na brak liniowej

separowalności. Wektory xi, dla których i >0, nazywane są wektorami podpierającymi bądź

wspierającymi. Zgodnie z twierdzeniem Karush-Kuhn-Thuckera teorii optymalizacji w punkcie

siodłowym lagrangiana L niezerowe są tylko te współczynniki i , dla których mamy:

Niby Tiii ,...,101 wx . (19)

Powyższy wzór pokazuje, iż wektory podpierające leżą dokładnie na marginesie.

Lagrangian L możemy rozpisać jako

N

i

N

i

N

iiiii

Tii

T ybybL1 1 12

1),,( xwwww , (20)

Stosując kolejne przekształcenia i właściwość zanikania pochodnych L eliminujemy zmienną w oraz b

i otrzymujemy dualny problem optymalizacyjny

N

i

N

jij

Tijijii yyW

1 1,21)(max xx

, (21)

z ograniczeniami

0 1,..., ,i i N (22)

1

0.N

i ii

y

(23)

Page 22: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

22

Dzięki temu funkcja klasyfikacyjna przyjmuje postać:

N

ii

Tii bysignF

1

ˆ xxx . (24)

Problem dualny z wykorzystaniem funkcji jądrowej przyjmuje postać

N

i

N

jijijijii KyyW

1 1,

,21max xx

, (25)

w świetle czego funkcja decyzyjna poszukująca rozwiązania w przestrzeni )( ma postać

N

iiii bKysignF

1

,ˆ xxx (26)

i przyjmuje wartości większe od 0 dla jednej z klas i mniejsze dla drugiej.

2.2.4.3 Konstrukcja hiperpłaszczyzny dla przypadków nieseparowalnych

Nieseparowalność oznacza niemożliwość spełnienia warunku

1,...,1T

i i Ny w x b

. (27)

Cortes i Vapnik zaproponowali rozwiązanie polegające na wprowadzeniu zmiennych i rozluźnia-

jących więzi nierówności:

1,...,1 i 0T

i i i ii Ny b

w x (28)

i dopuszczają, by pewne wektory xi (te, dla których 0 ) leżały po niewłaściwej stronie płaszczyzn

określających margines. Jednak by algorytm dobrze generalizował, należy zadbać, aby współczynniki

i były pewnymi karami, czyli klasyfikator powinien kontrolować szerokość marginesu ||w||, jak i

wysokość i i . Powyższe rozważanie prowadzi do nowej funkcji celu:

2

, , 1

12min

N

ib i

C

w

w (29)

z ograniczeniami zaproponowanymi przez Cortesa i Vapnika gdzie C jest parametrem modelu

definiowanym przez użytkownika.

Zgodnie z twierdzeniem Karush-Kuhn-Tuckera lagrangian przyjmie postać:

N

i

N

i

N

iiii

Tiiii byCbL

1 1 1

2 121,,, wxww , (30)

i są mnożnikami Lagrange’a wymuszającymi dodatniość i .

Page 23: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

23

W tym wypadku pochodne L również zanikają, co prowadzi nas do:

N

iiii y

1

xw i

N

iii y

1

0 , (31)

z warunkami

0,,,

iii

CbL

w , (32)

1 0,Ti i iy b w x (33)

0,,,

iii

CbL

w , (34)

0,i (35)

0,i (36)

0,i (37)

1 0,Ti i iy b x w (38)

0ii , (39)

co ostatecznie prowadzi do dualnego problemu optymalizacji:

N

iiii y

1

xw i

N

i

N

jij

Tijijii yyW

1 1,21max xx

, (40)

z ograniczeniami:

0 1,..., ,i C i N

(41)

1

0.N

i ii

y

(42)

Można zauważyć, że postać funkcji jest identyczna jak w przypadku funkcji problemu separowanych,

jednak ograniczenie jest trochę inne.

Page 24: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

24

2.2.4.4 Problem regresji

SVM może być także używany do rozwiązywania problemów regresyjnych. W tym wypadku

ważne jest, aby odpowiednio sformułować funkcję błędu (rysunek 9). Najistotniejszą cechą tej -

niewrażliwej funkcji jest zerowy wpływ przy odpowiednio małym błędzie absolutnym:

xxxx fyfyfyc ,0max,, . (43)

Rys.9 Ilustracja funkcji błędu [Jankowski 2003].

Podobnie jak robi się to w przypadku klasyfikacji, można zawęzić poszukiwania do przypadku

liniowego i poszukiwać rozwiązania problemu regresji liniowej bf T wxx)( poprzez zastosowanie

minimalizacji

N

iii fyC

1

2 )(21

xw . (44)

Podobnie jak to miało miejsce przy konstrukcji hiperpłaszczyzny dla problemów nieseparowalnych

stosuje się tutaj zmienne łagodzące nierówności. Dokładniej dwie ( i * ), jedną dla przypadku

ii yxf )( i drugą, gdy )( ii xfy . Wtedy problem regresji przechodzi w problem

optymalizacji:

N

iii

bw

C1

*2*

,,, 21,,min

*

ww (45)

z ograniczeniami

1,..., ,i i if y i N x (46)

* ,i iy f x (47)

Page 25: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

25

*, 0.i i (48)

Przechodząc do postaci SVM z funkcjami jądrowymi, następnie do postaci dualnego problemu

optymalizacji otrzymujemy:

N

i

N

jijijjiiiii

N

iii KyW

1 1,

***

1

**

,

,21,max

*

xx

(49)

z ograniczeniami:

*0 , 1,..., ,i i C i N (50)

*

1

0.N

i ii

(51)

Funkcja regresji przyjmie postać:

N

iiii bKf

1

* ,xxx . (52)

Page 26: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

26

2.2.4.5 Wieloklasowy SVM Modele SVM do rozwiązywania problemów klasyfikacji wieloklasowej stosuje się tam gdzie liczba

klas przekracza dwie jak zostało to zilustrowane na rysunku 10.

Rys.10 Przykład problemu wieloklasowego.

Całe rozwiązanie problemu wieloklasowego sprowadza się do rozbicia go na problemy dwu-klasowe.

W tym momencie, możemy przeprowadzić rozwiązania na kilka sposobów gdzie dwa

najpopularniejsze to:

„każdy z każdym” (ang. one-vs-one) – ta metoda sprowadza się faktycznie do porównania

„każdy z każdym”, wiec każda klasa jest porównywana z wszystkimi innymi z osobna,

Rys.11 Przykład metody „każdy z każdym”.

„jeden kontra reszta” (ang. one-versus-all) – tutaj klasyfikacja przebiega na zasadzie „jesteś z

nami albo przeciwko nam”, czyli porównanie danej klasy z pozostałymi klasami, a następnie

stwierdzenie czy dany element należy do tej klasy czy nie. W tej metodzie nie stwierdza się,

do której z innych klas należy dany element.

Rys.12 Przykład metody „jeden kontra reszta”.

Page 27: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

27

Oczywiście dla zbiorów danych gdzie liczba klas jest większa niż 3 metoda „każdy z każdym” jest

rozwiązaniem bardziej czasochłonnym, ponieważ rośnie ilość pojedynczych porównań, które należy

przeprowadzić. W przypadku metody „jeden kontra reszta” ilość pojedynczych porównań zawsze jest

równa liczbie klas.

2.2.4.6 Ocena dokładności modelu

Do oceny problemów klasyfikacyjnych używa się współczynnika poprawności

1 errmliczba poprawnie sklasyfikowanych wektorówWPliczba wektorów m

(53)

lub błędu klasyfikacji

1errmliczba niepoprawnie sklasyfikowanych wektorówWB WP

liczba wektorów m , (54)

gdzie m to liczba wszystkich przypadków w zbiorze danych, errm to liczba błędnie oszacowanych

przypadków.

Ważnymi zagadnieniami pojawiającymi się podczas oceny modelów klasyfikujących jest problem

niezbalansowanego zbioru (rysunek 13). Taki zbiór można opisać jako zbiór, w którym ilość

przedstawicieli wszystkich klas nie jest taka sama lub nawet podobna. Oczywiście taka sytuacja

pozwoli klasyfikatorowi na działanie, ale jak wierzyć w wynik testowy, jeśli zbiór uczący składał się w

przeważającej ilości z przypadków należącej do jednej z klas.

Zbiór niezbalansowany

klasa 343%

klasa 417% klasa 1

17%

klasa 223%

Zbiór zbalansowany

klasa 329%

klasa 421% klasa 1

24%

klasa 226%

Rys.13 Przykład zbioru 4-ro klasowego niezbalansowanego i zbalansowanego.

W takiej sytuacji oblicza się wskaźnik błędu zbalansowanego

c

i i

erri

mm

cBErr

1

1, (55)

gdzie c jest to liczba klas, mi to liczba wszystkich przypadków w klasie i, errim to liczba błędnie

oszacowanych przypadków w klasie i.

Page 28: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

28

Miarą błędu dla problemów regresyjnych może być sumaryczny błąd kwadratowy (ang. Sum Squared

Error, SSE) dany wzorem:

n

iii yFSSE

1

2x , (56)

lub częściej używany średni błąd kwadratowy (ang. Mean Squared Error, MSE):

SSEn

MSE 1 , (57)

czy tez pierwiastek średniego błędu kwadratowego (ang. Root Mean Squared Error, RMSE):

MSERMSE . (58)

2.3 Integracja algorytmów genetycznych z optymalizacją modelu

Zadaniem algorytmu genetycznego ma być wybór jednej z podanych powyżej metod dla modeli

składowych modelu CI. Optymalizacji poddano parametry modeli składowych, czyli algorytmu

wstępnego przetwarzania danych, selekcji cech i modelu SVM. W przypadku wstępnego przetwarzania

danych parametrem jest typ metody, jakiej chcemy użyć do standaryzacji danych. Algorytm

genetyczny decyduje o wyborze jednej z czterech metod:

Nie przeprowadzanie wstępnego przetwarzania danych.

Standaryzacja kolumn.

Normalizacja kolumn.

Standaryzacja wierszy.

Aby algorytm genetyczny mógł wybrać pomiędzy czterema opcjami do zakodowania tego parametru

użyto 2 bitów. Po tym następuje selekcja cech. Zastosowany w pracy model selekcji cech opiera się o

algorytm rankingowy wykorzystujący współczynnik korelacji liniowej, który wszystkim cechom

przyporządkowuje pewną rangę. Następnie, na podstawie rankingu cech, tworzony jest nowy zbiór

danych, gdzie wszystkie cechy, które posiadają rangę wyższą od pewnego progu th zostają dodane do

zbioru treningowego, przy czym wartość th jest wartością progu istotności cech i jest optymalizowana

przez algorytm genetyczny. Parametr th jest zapisany na 6 bitach. Kolejnym krokiem po selekcji cech

jest uruchomienie modelu SVM z nowym zbiorem wyselekcjonowanych danych. W modelu SVM

optymalizacji zostały poddane parametry C, oraz parametr funkcji jądrowej . Użytą funkcją

jądrową jest funkcja gaussowska (10). Na podstawie wyniku modelu SVM algorytm genetyczny

dokonuje optymalizacji parametrów poszczególnych części składowych całego modelu inteligencji

obliczeniowej. Dzięki takiemu zabiegowi SVM może ocenić zbiór danych, z którym pracuje, co jest

odwzorowaniem idei frappera, o którym pisano wcześniej. Praca algorytmu genetycznego jest

Page 29: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

29

zatrzymywana, jeśli w obrębie trzech kolejnych populacji wynik nie ulegnie poprawie lub liczba

generacji przekroczy 50. Aby algorytm genetyczny mógł optymalizować parametry modelu SVM,

wstępnego przetwarzania danych i selekcji cech, operacje te i ich parametry zagnieżdżono wewnątrz

funkcji kosztu. W celu uniknięcia zbyt dużych skoków wartości parametrów podanych wcześniej

operacji kod binarny wewnątrz funkcji kosztu został przekształcony do kodu Gray’a. Wyjściem z

funkcji kosztu optymalizowanej przez algorytm genetyczny jest średni błąd klasyfikacji dla wyniku z

pięciokrotnego testu krzyżowego.

Zadanie optymalizacji zostało rozbite na dwa przypadki:

Problem regresji - w którym podstawowy ciąg binarny przenoszący informacje o parametrach

, C i posiada 18 (rysunek 14) znaków oraz dodatkową, zmienną ilość bitów zależną od

użycia odpowiednich zabiegów związanych z wstępnym przetwarzaniem danych. Zastosowanie

zmiennej ilości bitów jest spowodowane faktem, że użytkownik może wykorzystać lub nie

wykorzystać algorytmy wstępnego przetwarzania danych i selekcji cech. Ostatecznie problem

regresji został rozbity na 3 warianty:

o Optymalizacja modelu SVM

o Optymalizacja modelu SVM oraz algorytmu selekcji cech

o Optymalizacja modelu SVM oraz algorytmu selekcji cech i wstępnego przetwarzania

danych.

Rys.14 Postać ciągu binarnego dla problemu regresji.

Problem klasyfikacyjny – podobnie jak problem regresji został rozbity na trzy przypadki.

Jednak jak widać na rysunku 15 w chromosomie dla problemu klasyfikacji nie jest obecny

parametr , więc jest on krótszy o 6 bitów.

Page 30: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

30

Rys.15 Postać ciągu binarnego dla problemu klasyfikacji.

Takie podejście wymagało stworzenia dwóch funkcji kosztu, jednej dla problemu regresji i jednej dla

klasyfikacji. Rys.16 przedstawia uproszczony schemat działania funkcji kosztu.

Rys.16 Uproszczony schemat działania funkcji kosztu.

W trakcie przeprowadzania testów sprawdzono również wariant gdzie zmienne i C zostały poddane

przekształceniom matematycznym, które miały na celu w pewnym stopniu ukierunkowanie pracy

algorytmu:

` 1/ , (59)

CC 2̀ , (60)

gdzie i C są wartościami wydobytymi z chromosomu a ` i C` są wartościami podanymi do

modelu SVM. Model z przekształceniami (59) i (60) w części przedstawiającej wyniki został

oznaczony jako SVM+, a model korzystający z algorytmu przeglądu zupełnego jako gridsel. Przedział

optymalizowanych wartości parametru zawierał się pomiędzy wartościami 0 do v1, przy czym

wartość v1 jest to największa odległość między punktami w zbiorze treningowym. Wartości parametru

C zawierają się w przedziale od 0 do 1000. Natomiast parametr zawierał się w przedziale wartości

większych od 0, aż do wartości v2, gdzie v2 jest równe 80% rozpiętości wartości wyjściowej ze zbioru

Page 31: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

31

treningowego. Optymalizowany przedział wartości parametrów jest typowym przedziałem wartości

stosowanym w modelach SVM.

2.4 Wyniki porównawcze Model inteligencji obliczeniowej oparty o algorytm genetyczny został porównany z podobnym

modelem opartym o algorytm przeszukiwania zupełnego realizującym te same zadania, czyli wstępne

przetwarzanie danych a także selekcje cech. Algorytm przeszukiwania zupełnego pozwala na szukanie

ekstremów globalnych funkcji, dlatego zastosowanie go do porównania wydaje się być rozsądnym

postępowaniem. Algorytmy przeszukiwania zupełnego opierają się na pewnym kroku, z którym

zmieniają swą wartość – w niniejszej pracy krok został dobrany na podstawie ilości wywołań funkcji

kosztu algorytmu genetycznego tak, aby model z algorytmem przeszukiwania zupełnego został

wywołany podobną ilość razy.

2.4.1 Zbiory danych Próby przeprowadzono na czterech zbiorach, które zostały pobrane z repozytorium UCI [2009]:

Cukrzyca (ang. pima indian diabetes) to zbiór określający podejrzenie o cukrzyce według

kryterium Światowej Organizacji Zdrowia. Każdy pacjent jest opisany przy pomocy 8 cech.

Zbiór składa się z 768 pacjentów, gdzie 500 uznano za zdrowych, a 268 jako chorych.

Sonar jest to zbiór, który przedstawia problem klasyfikacji sygnałów sonaru odbitych od skał

oraz obiektów metalowych o cylindrycznych kształtach, które w realnych warunkach mogłyby

być minami głębinowymi. Zbiór składa się z 208 przypadków gdzie 111 to odbicia od

przedmiotów metalowych 97 to odbicia skalne. Każdy z przypadków jest opisany przez 60

cech.

Jonosfera (ang. ionosphere) powstała jako zbiór, którego celem jest możliwość oceny radaru

poprzez jakość uzyskanych obrazów z jonosfery. Zbiór składa się z 351 przypadków opisanych

przez 34 cechy.

Choroby serca (ang. cleveland heart disease) jest opisem pacjentów z chorobami serca.

Oryginalnie posiadał on 76 cech jednak autorzy zdecydowali, że 14 jest najbardziej istotnych,

ponieważ powszechnie służą do testów porównawczych. Zbiór składa się z opisu 303

pacjentów, z czego 164 osoby to zdrowi pacjenci, a 139 to osoby chore.

Page 32: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

32

2.4.2 Wyniki

2.4.2.1 Cukrzyca

Rys.17 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Cukrzyca.

Tab.2 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Cukrzyca.

Rozmiar populacji 10 25 50 75 100

błąd 0,23311 0,24742 0,23963 0,23963 0,24742 gridsel od.std 0,038576 0,0259 0,040255 0,040255 0,031751 błąd 0,23311 0,24857 0,24096 0,24356 0,24096 SVM+ od.std 0,038576 0,039763 0,046262 0,045662 0,047104 błąd 0,24874 0,24486 0,24356 0,24255 0,24613 SVM od.std 0,045626 0,040757 0,042307 0,045821 0,043246

Dla zbioru Cukrzycy nie da się wyłonić jednej najlepszej metody, ponieważ dla różnych rozmiarów

populacji różne metody uzyskiwały najlepszy wynik. Zakres uzyskanych wartości błędu dla wszystkich

3 metod jest podobny jak i zakresy odchyleń standardowych.

Page 33: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

33

2.4.2.2 Sonar

Rys.18 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Sonar.

Tab.3 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Sonar.

Rozmiar populacji 10 25 50 75 100

Błąd 0,13461 0,13473 0,13473 0,13473 0,13473 gridsel od.std 0,043563 0,044312 0,040989 0,040989 0,040989 Błąd 0,15877 0,16341 0,14913 0,14925 0,14925 SVM+ od.std 0,040558 0,051703 0,039917 0,032559 0,036654 Błąd 0,16318 0,18258 0,15401 0,15401 0,14448 SVM od.std 0,084801 0,035563 0,03716 0,040796 0,048819

Dla zbioru Sonar w wyniku przeprowadzonych prób najlepszą metodą optymalizacji wydaje się być

metoda wykorzystująca algorytm przeszukiwania zupełnego. Nie da się jednak nie zauważyć faktu,

że wynik tego modelu ma postać stałej wartości, można przypuszczać, ze jest to spowodowane

charakterystyką zmiennych opisujących dany zbiór. Obie metody oparte o algorytm genetyczny

uzyskały podobne wyniki.

Page 34: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

34

2.4.2.3 Jonosfera

Rys.19 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Jonosfera.

Tab.4 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Jonosfera.

Rozmiar populacji 10 25 50 75 100

błąd 0,056942 0,048491 0,045553 0,045553 0,04837 gridsel od.std 0,00975 0,016412 0,011764 0,011764 0,015938 błąd 0,059799 0,056982 0,071187 0,071187 0,06841 SVM+ od.std 0,027378 0,010108 0,030167 0,028425 0,027565 błąd 0,096861 0,071227 0,079799 0,065513 0,074124 SVM od.std 0,011885 0,022592 0,026038 0,021604 0,027607

Ponownie najlepszą metodą optymalizacji wydaje się być wykorzystanie algorytmu przeszukiwania

zupełnego. Wszystkie 3 metody uzyskały wyniki w różnych przedziałach wartości.

Page 35: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

35

2.4.2.4 Choroby serca

Rys.20 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Chorób serca.

Tab.5 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Chorób serca.

Rozmiar populacji 10 25 50 75 100

błąd 0,16508 0,16859 0,16175 0,16175 0,19192 gridsel od.std 0,04068 0,045654 0,043071 0,043071 0,019234 błąd 0,17175 0,20215 0,19876 0,12803 0,1718 SVM+ od.std 0,030438 0,038379 0,023095 0,035862 0,040107 błąd 0,18876 0,17192 0,17531 0,17181 0,16164 SVM od.std 0,058565 0,044659 0,036237 0,035069 0,030725

Dla zbioru chorób serca również nie można wyłonić najlepszej metody. Wszystkie trzy metody

uzyskały wyniki w podobnych przedziałach wartości.

Page 36: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

36

2.4.3 Wnioski Proponowany w pracy model CI oparty o algorytm genetyczny radził sobie gorzej z zadaniem

klasyfikacji niż podobny model CI oparty o algorytm przeglądu zupełnego. Jednak w dwóch z czterech

wypadków algorytm genetyczny był w stanie dorównać metodzie przeglądowej, co nie pozwala go

spisywać na straty, a każe się zastanawiać, dlaczego akurat w tych wypadkach wyniki były

porównywalne? W świetle tego, co pokazują wyniki (2.4.2) rozsądnym wnioskiem jest, że dla

problemów klasyfikacji systematyczne metody przeszukiwania przestrzeni rozwiązań są lepsze niż

metody stochastyczne (AG). Może być to spowodowane faktem, iż metody stochastyczne na pewnym

etapie lub wręcz na samym początku mogą pominąć pewien obszar rozwiązań i nie wrócić do niego w

trakcie działania algorytmu. Innym problemem jest powtarzalność uzyskanych rozwiązań, który w

przypadku optymalizacji nie jest bez znaczenia. Stosowanie metod systematycznych pozwala

uzyskiwać bardziej powtarzalne wyniki.

Do tej pory przedstawiono wyniki zadań polegających wyłącznie na klasyfikacji w dalszej

części pracy przedstawiono wyniki z prób regresji.

Page 37: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

37

3 Modelowanie danych stalowniczych

3.1 Proces stalowniczy Badany proces jest procesem elektrostalowniczym (rysunek 21), w którym kolejno po sobie

następuje stopienie złomu, dodanie odpowiednich dodatków stopowych, a następnie odlanie stali. I tak

pierwszy etap to etap dobrania wsadu. Podstawą wsadu jest odpowiednio przygotowany i

posortowanym złom stalowy. Sortowanie wykonuje się zgodnie z Polską Normą[PN-85/H-15000],

która rozróżnia złom ze względu na skład chemiczny na złom stalowy stopowy i niestopowy, odpady

produkcyjne, złom poamortyzacyjny, złom niebieski. Definiuje ona również złom wsadowy i nie

wsadowy. Złom dzieli się również na klasy oznaczane symbolami W1-W19 dla złomu niestopowego i

S1-S9 dla stopowego w zależności od jego postaci, wymiarów, masy, stopnia skorodowania oraz

dopuszczalnych zanieczyszczeń. Oprócz klas złom dzieli się też na kategorie, oznaczane np.:

A złom niestopowy o ograniczonej zawartości niektórych pierwiastków.

B złom stopowy z zawartością manganu i/lub krzemu.

C złom stopowy z zawartością chromu.

I inne z zawartością innych pierwiastków.

Kolejnego podziału złomu można dokonać ze względu na stopień skorodowania na: nie zardzewiały,

zardzewiały powierzchniowo i przerdzewiały. Złom jest poddany oględzinom zewnętrznym, badania

chemiczne wykonuje się tylko w wypadku złomów stopowych. Oprócz złomu w procesie

elektrostalownicznym wykorzystuje się:

Topniki – materiały żużlotwórcze(palone wapno i wapno dolomitowe).

Nawęglacze(węgiel, złom elektrod węglowych, koks).

Dodatki stopowe(głównie żelazostopy).

Odtleniacze(glin, żelazokrzem i żelazo-krzemo-mangan).

Spieniacze żużla(rozdrobnione materiały węglowe).

Ładowanie wsadu do pieców łukowych odbywa się przy pomocy koszy. Po umieszczeniu złomu w

piecu łukowym (EAF ang. electric arc furnace) następuje roztopienie materiałów wsadowych,

świeżenie i częściowa rafinacja. Jako wsad stosuje się tu złom niestopowy lub niskostopowy.

Roztapianie wsadu rozpoczyna się po załadowaniu pierwszej partii złomu, przykryciu pieca

sklepieniem, opuszczeniem elektrod i włączeniu prądu. Łuk elektryczny jarzy się miedzy elektrodą,

a metalem. Początkowe etapy procesu topienia wsadu są bardzo dynamiczne z uwagi na fakt, że łuk

elektryczny w tym czasie jest bardzo niestabilny, co jest powodowane zmianami ułożenia wsadu w

Page 38: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

38

piecu – zawalanie się wsadu, powstawanie kraterów w wyniku topienia oraz ich poszerzanie.

Nad stabilnością łuku czuwa system automatycznego sterowania elektrodami. Wraz ze wzrostem ilości

ciekłego metalu w piecu rośnie stabilność łuku elektrycznego. Podczas roztapiania wytwarzają się

tlenki, które powstają przez połączenie roztopionych domieszek z tlenem z powietrza lub tlenem

dodawanym do pieca. Z tych tlenków i wapna (CaO) tworzy się żużel, który chroni kąpiel przez

zagazowaniem. Celem świeżenia jest utlenienie węgla, fosforu, odgazowanie siarki oraz dogrzanie

kąpieli do temperatury odlewania, po czym następuje ściąganie żużla i zlanie metalu do pieco-kadzi

LHF (ang. ladle heat furnace) gdzie przeprowadza się jej rafinację w celu uzyskania pożądanego składu

chemicznego. Dodatki stopowe dodawane w trakcie procesu rafinacji można podzielić na:

Dodatki używane dla każdego gatunku stali takie jak antracyt, węglik krzemu, silikomangan,

żelazomangan, żelazokrzem.

Mikrododatki takie jak żelazoniob, żelazobor, żelazochrom, żelazotytan.

W zależności od etapu procesu rafinacji dodatki wprowadza się:

Na dno kadzi przed spustem.

Na spust.

Na początku wyrabiania.

W środku wyrabiania.

Na koniec wyrabiania.

W trakcie zlewania przy pomocy aluminium przeprowadza się odtlenianie kąpieli. Stal może być

spuszczana przez rynnę spustową lub przez otwór spustowy w trzonie pieca. Pieco-kadź zazwyczaj

wykorzystuje łuk elektryczny do grzania kąpieli. Wsad w pieco-kadzi występuje w stanie ciekłym,

co powoduje, że łuki elektryczne są stosunkowo stabilne. Podczas rafinacji ciekły metal jest mieszany

przy pomocy gazów obojętnych np. argonu. Rolą pieco-kadzi jest:

Uzyskanie żądanego składu chemicznego stali,

Usunięcie niepożądanych pierwiastków i wtrąceń niemetalicznych,

Homogenizacja kąpieli metalowej.

Page 39: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

39

Pokrywa pieco-kadzi dzięki swojej konstrukcji umożliwia między innymi [Lis 2000]:

Wprowadzanie dodatków stopowych.

Wprowadzanie drutu rdzeniowego.

Przedmuchiwanie.

Pomiar temperatury.

Pobieranie próbek.

W związku z tym stanowisko do obróbki poza piecowej musi zapewnić możliwość:

Nagrzewania kąpieli.

Mieszania.

Wprowadzania dodatków stopowych.

Regulacji ciśnienia i składu atmosfery nad powierzchnią kąpieli.

Po otrzymaniu kąpieli o odpowiedniej zawartości dodatków stopowych następuje odlanie stali metodą

ciągłą lub syfonową do wlewnic.

Page 40: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

40

Rys.21 Schemat technologiczny procesu elektrostalowniczego [Pyka 2006].

Osiąganie dokładnych zawartości pierwiastków z jednoczesną homogenizacją składu chemicznego

powoduje zmniejszenie ilości wad spowodowanych nierównomiernym rozkładem pierwiastków tym

samym obniżając liczbę nietrafionych wytopów, co jednocześnie zwiększa uzysk stali i obniża koszty

produkcji [Lis 2000].

Page 41: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

41

3.2 Dane Doświadczalne Dane pochodzą z konkursu ICAISC’08, którego tematem było przewidzenie ilości

poszczególnych pierwiastków z grupy C, Si, Mn, P, S, Al, Cr, Mo, V, Cu, Zn (w kg/Mg stali), która

musi by dodana w trakcie procesu LHF by otrzymać stal o wymaganych parametrach (odpowiedni

gatunek stali). Zbiór danych składał się z 68 zmiennych wejściowych, wśród których znajdowały się

znormalizowany czas procesu EAF i LHF, ilość tlenu w stali, temperatura procesu EAF i LHF,

zawartość procentowa pierwiastków w stali z ostatniej analizy EAF, zawartość procentowa

pierwiastków w stali w trakcie pierwszej analizy LHF i inne. Pełna charakterystyka zbioru danych jest

dostępna na stronie konkursu [ICAISC 2008]. Na potrzeby modelu CI stworzonego w niniejszej pracy

ze zbioru wybrano jeden gatunek stali oznaczony jako 65 odpowiadający stali S235JRG2, pełen zestaw

zmiennych wejściowych i trzy wartości wyjściowe dla 3 pierwiastków C, Si, Mn. Następnie

wykorzystując model CI oparty o algorytm genetyczny i algorytm przeglądu zupełnego wyznaczono

zawartość pierwiastków C, Si, Mn i porównano poprawność wyników obu modeli CI.

Page 42: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

42

3.3 Wyniki

3.3.1 Zawartość C

Rys.22 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zawartości C.

Tab.6 Wartości błędu regresji i jego odchylenia standardowego uzyskane przez poszczególne metody

optymalizacji dla problemu wyznaczenia zawartości C.

Rozmiar populacji 10 25 50 75 100

Błąd 0,032671 0,025264 0,025264 0,021837 0,021837 gridsel od.std 0,018466 0,012589 0,012589 0,009925 0,009925 Błąd 0,009683 0,009844 0,020253 0,006745 0,005342 SVM+ od.std 0,003265 0,006356 0,022496 0,002398 0,003288 Błąd 0,010648 0,007652 0,009853 0,007526 0,005474

C

SVM od.std 0,005367 0,003098 0,00991 0,002873 0,003962

Jak widać obie metody oparte o algorytm genetyczny „pobiły” algorytm przeglądu zupełnego,

a najlepszy wynik uzyskała metoda „czystego” modelu SVM. Można też zauważyć, że wraz ze

wzrostem populacji (oczywiście, poza środkowym pikiem gdzie wielkość populacji wynosi 50), jakość

rozwiązania poprawia się.

Page 43: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

43

3.3.2 Zawartość Mn

Rys.23 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zawartości Mn.

Tab.7 Wartości błędu regresji i jego odchylenia standardowego uzyskane przez poszczególne metody

optymalizacji dla problemu wyznaczenia zawartości Mn.

Rozmiar populacji 10 25 50 75 100

Błąd 0,82232 0,48438 0,30492 0,28118 0,3021 gridsel od.std 0,38278 0,23501 0,13136 0,13281 0,11856 Błąd 0,85943 0,8114 0,88366 0,81791 0,79244 SVM+ od.std 0,32461 0,44247 0,47419 0,43909 0,3989 Błąd 0,96131 0,48438 0,30492 0,28118 0,3021

Mn

SVM od.std 0,54464 0,23501 0,13136 0,13281 0,11856

Ponownie metody oparte o algorytm genetyczny „wygrały”. Tym razem jednak „czysty” algorytm

SVM odniósł znacznie lepszy rezultat. Ponownie obserwujemy jak wraz ze wzrostem populacji

poprawia się wynik. Metoda oparta o algorytm przeglądowy uzyskała podobny wynik do metody

SVM+.

Page 44: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

44

3.3.3 Zawartość Si

Rys.24 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zawartości Si.

Tab.8 Wartości błędu regresji i jego odchylenia standardowego uzyskane przez poszczególne metody

optymalizacji dla problemu wyznaczenia zawartości Si.

Rozmiar populacji 10 25 50 75 100

błąd 0,24538 0,042297 0,044477 0,044477 0,044477 gridsel od.std 0,041446 0,016631 0,01884 0,01884 0,01884 błąd 0,18234 0,035645 0,25426 0,022669 0,023454 SVM+ od.std 0,10383 0,020006 0,010651 0,007125 0,003846 błąd 0,21314 0,025186 0,024488 0,027786 0,024696

Si

SVM od.std 0,19042 0,008936 0,007737 0,010832 0,011173

W tym wypadku wszystkie trzy modele zachowały się bardzo podobnie, jednak nadal górą okazał się

model oparty o algorytm genetyczny. Model oparty o algorytm przeglądowy po początkowym skoku

dokładności ze wzrostem rozmiaru populacji obniżył nieco swoja dokładność. Modele oparte o AG po

początkowym wzroście dokładności również przejawiły skłonności do pogarszania uzyskanego

rezultatu, lecz należy też zauważyć ze ich oscylacja utrzymywała się wokół najlepszego rozwiązania,

co jest w pewien sposób analogiczne do naturalnych procesów ewolucyjnych.

Page 45: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

45

3.4 Wnioski W próbach związanych z regresją algorytm genetyczny radził sobie znacznie lepiej niż algorytm

przeglądu zupełnego, uzyskiwał większą dokładność rozwiązań, która rosła wraz ze wzrostem

populacji. Można zaobserwować, że stochastyczny charakter działania algorytmu genetycznego w

przypadku regresji sprawdził się lepiej niż zorganizowany przebieg przeszukiwania metody

przeglądowej pozwalając znaleźć lepsze rozwiązania. Czy można, zatem powiedzieć ze regresja jest

domeną algorytmów genetycznych? Oczywiście nie. Czy można powiedzieć ze algorytmy genetyczne

sprawdzają się w metalurgii? Pomimo otrzymanych obiecujących rezultatów nie można z całą

pewnością powiedzieć, że „tak”. Jednak uzyskane wyniki pozwalają mieć nadzieję, że jest to dobry

kierunek badań by zainteresować się nim bardziej. Pomimo całej wiedzy o procesach metalurgicznych i

techniki, którą dysponujemy, nie jesteśmy w stanie uniknąć pewnej chaotyczności w ich przebiegu.

Chaos w procesach ewolucyjnych jest dość powszechny, więc możliwe, że to właśnie on pozwolił

uzyskać takie, a nie inne wyniki.

Page 46: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

46

4 Podsumowanie W niniejszej pracy przedstawiono zarys informacji o algorytmach genetycznych, modelu SVM

oraz inteligencji obliczeniowej. Zbudowano 3 modele inteligencji obliczeniowej: 2 oparte o algorytm

genetyczny i jeden oparty o algorytm przeglądu zupełnego, po czym porównano ich skuteczność.

W świetle postawionego celu pracy uzyskane rezultaty nie pozwalają w pełni jednoznacznie określić

czy AG to najlepsze rozwiązanie dla zagadnień optymalizacji problemów o szerokim spektrum jednak

widać, że algorytmy genetyczne mogą okazać się przydatne w modelowaniu procesów stalowniczych.

Algorytmy genetyczne, a także zastosowanie ich w komputerowych modelach obliczeniowych to mimo

wszystko nadal pionierska dziedzina, w której więcej jest pytań niż odpowiedzi. Wyniki badań

przedstawione powyżej pokazują pewne znane prawidłowości jak np. fakt, że ze wzrostem liczebności

populacji ta daje lepsze efekty, stawiając kolejne pytania np. „czy sam algorytm genetyczny jest dobry

do wszystkiego?” i zachęcają do dalszych badań. Na podstawie tego, co przedstawiono w rozdziale 2.4

można by pokusić się o stwierdzenie, że algorytm genetyczny nie jest dla każdego, nie znajdzie

wszędzie zastosowania, wszak sama natura nie pozwoliła na drodze ewolucji by wszystkie gatunki

przetrwały, dla części z nich ewolucja po prostu była zabójcza.

Tak jak to już zostało powiedziane we wstępie optymalizacja to klucz do sukcesu, a uzyskane

wyniki (3.4) pozwalają sądzić, że algorytmy genetyczne znajdą w niej zastosowanie.

W przeprowadzonych próbach pozwoliły lepiej przewidzieć dawkowanie dodatków stopowych,

co jednocześnie pociąga ze sobą:

Zmniejszenie ilości składników stopowych potrzebnych do wytworzenia określonej ilości stali

o danym gatunku.

Zwiększenie ilości trafionych wytopów.

Zmniejszenie zużycia energii.

Wszystkie wymienione wyżej składniki powodują obniżenie kosztu wyrobu końcowego i skrócenie

czasu produkcji, a to jest celem optymalizacji i może być źródłem konkurencyjności.

Page 47: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

47

Literatura [Blachnik 2009.a] Blachnik M. „Metody sztucznej inteligencji i inteligencja obliczeniowa. Wykłady:

Wstęp” 28.05.2009

http://metet.polsl.pl/~mblachnik/lib/exe/fetch.php?media=dydaktyka:zajecia:wyklady:wstep.ppt.

[Blachnik 2009.b] Blachnik M. „Metody sztucznej inteligencji i inteligencja obliczeniowa. Wykłady:

Selekcja Cech”, 28.05.2009

http://metet.polsl.pl/~mblachnik/lib/exe/fetch.php?media=dydaktyka:zajecia:wyklady:metody_selekcji

_cech.ppt.

[Cytowski 1996] Cytowski J. „Algorytmy genetyczne: podstawy i zastosowania” Warszawa PLJ 1996

[Doak 1992] Doak J. „An evaluation of feature selection methods and their application to computer

security.” Technical Report CSE-92-18, University of Kalifornia 1992

[Duch 2009] Duch W. „Inteligencja obliczeniowa wykład 1: Czym zajmuje się inteligencja

obliczeniowa” 28.05.2009 http://www.fizyka.umk.pl/~duch/Wyklady/CI/CI-1.ppt

[Goldberg 1995] Goldberg D. E. „Algorytmy genetyczne i ich zastosowania” WNT 1995

[Gyuon Gunn Nikravesh 2006] Gyuon I. Gunn S. Nikravesh M. “Feature extraction: Foundations and

applications” Springer 2006

[Haykin 1994] Haykin S. „Neural networks.” Macmillan College Publishing Company, Inc, New York

1994

[ICAISC 2008] „ICAISC’08 Competition” 28.05.2009

http://kik.pcz.pl/icaisc/icaisc2008/Competition/competition.htm

[Jankowski 2003] Jankowski N. „Ontogeniczne sieci neuronowe o sieciach zmieniających swoją

strukturę”, Akademicka Oficyna Wydawnicza EXIT 2003

[Jarek 2006] Jarek S. „Hybrydy algorytmów gradientowych i genetycznych w optymalizacji portfela

inwestycyjnego” Agencja artystyczna PARA 2006

[John Kohavi Peger 1994] John H.G. Kohavi R. Peger K. „Irrelevant features and the subset selection

problem.” International Conference on Machine Learning, pages 121-129, 1994

[Lis 2000] Lis T. „Współczesne metody otrzymywania stali”, Wydawnictwo Politechniki Śląskiej,

Gliwice 2000

[Luenberg 1974] Luenberg D. G. „Teoria optymalizacji” PWN 1974

[Quinlan 1987] Quinlan J.R. „Simplifying decision trees.” International Journal of Man-Machine

Studies, 27(3):221-234, 1987

Page 48: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

48

[Pyka 2006] Pyka M. „Analiza procesu wytapiania stali w piecu łukowym i obróbki pozapiecowej z

zastosowaniem hybrydowego systemu ekspertowego” 2006

[Stąpor 2005] Stąpor K. „Automatyczna klasyfikacja obiektów”, Akademicka Oficyna Wydawnicza

EXIT 2005

[UCI 2009] Repository of machine learning databases, 28.05.2009

http://www.ics.uci.edu/pub/machine-learning-databases, Artifcial Intelligence Review.

Page 49: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

49

Spis tabel Tab.1 Przykładowe wartości naturalnego kodu binarnego i odpowiadające im wartości w kodzie

Gray’a. .....................................................................................................................................................7 Tab.2 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Cukrzyca. .......................................................................................32 Tab.3 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Sonar...............................................................................................33 Tab.4 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Jonosfera. .......................................................................................34 Tab.5 Wartości błędu klasyfikacji i jego odchylenia standardowego uzyskane przez poszczególne

metody optymalizacji dla zbioru Chorób serca. .................................................................................35 Tab.6 Wartości błędu regresji i jego odchylenia standardowego uzyskane przez poszczególne metody

optymalizacji dla problemu wyznaczenia zawartości C. ...................................................................42 Tab.7 Wartości błędu regresji i jego odchylenia standardowego uzyskane przez poszczególne metody

optymalizacji dla problemu wyznaczenia zawartości Mn. ................................................................43 Tab.8 Wartości błędu regresji i jego odchylenia standardowego uzyskane przez poszczególne metody

optymalizacji dla problemu wyznaczenia zawartości Si....................................................................44

Page 50: Zastosowanie algorytmów genetycznych do optymalizacji ...mblachnik.pl/lib/exe/fetch.php/dydaktyka/mgr_downloads/2009_galda... · odpowiednich wartości parametrów wstępnych, które

50

Spis rysunków Rys.1 Procedura konwersji pomiędzy naturalnym kodem binarnym, a kodem Gray’a. ............................8 Rys.2 Procedura konwersji pomiędzy kodem Gray’a, a naturalnym kodem binarnym.............................8 Rys.3 Przykładowy schemat działania algorytmu genetycznego. .............................................................11 Rys.4 Schemat przetwarzania danych wg. [Blachnik 2009 a]. ..................................................................12 Rys.5 Przykładowy schemat użycia filtra w modelu decyzyjnym wg. [Blachnik 2009 b]......................17 Rys.6 Przykładowy schemat użycia metody opakowanej w modelu decyzyjnym...................................18 Rys.7 Przykład możliwej konstrukcji frappera wg. [Blachnik 2009 b].....................................................18 Rys.8 Optymalna hiperpłaszczyzna [Jankowski 2003]. .............................................................................19 Rys.9 Ilustracja funkcji błędu [Jankowski 2003]........................................................................................24 Rys.10 Przykład problemu wieloklasowego. ..............................................................................................26 Rys.11 Przykład metody „każdy z każdym”...............................................................................................26 Rys.12 Przykład metody „jeden kontra reszta”...........................................................................................26 Rys.13 Przykład zbioru 4-ro klasowego niezbalansowanego i zbalansowanego. ....................................27 Rys.14 Postać ciągu binarnego dla problemu regresji................................................................................29 Rys.15 Postać ciągu binarnego dla problemu klasyfikacji.........................................................................30 Rys.16 Uproszczony schemat działania funkcji kosztu..............................................................................30 Rys.17 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Cukrzyca. .................................32 Rys.18 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Sonar.........................................33 Rys.19 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Jonosfera. .................................34 Rys.20 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zbioru Chorób serca. ...........................35 Rys.21 Schemat technologiczny procesu elektrostalowniczego [Pyka 2006]. .........................................40 Rys.22 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zawartości C. .......................................42 Rys.23 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zawartości Mn. ....................................43 Rys.24 Rezultaty uzyskane przez model CI oparty na algorytmie genetycznym (zielony i czerwony)

oraz algorytmie przeszukiwania zupełnego (niebieski) dla zawartości Si........................................44