Post on 27-Feb-2019
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
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
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.
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.
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.
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.
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.
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
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.
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.
11
Rys.3 Przykładowy schemat działania algorytmu genetycznego.
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
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
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>.
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.
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ą:
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
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].
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ć:
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:
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)
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 .
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.
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)
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)
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”.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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.
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].
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.
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ę.
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+.
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.
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.
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.
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
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.
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
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