• Nie Znaleziono Wyników

2 Ekstrakcja wiedzy ze źródła internetowego

2.4 Eksploracja danych

Metody eksploracji danych (data mining) służą do odkrywania ukrytych wzorców, powiązań i trendów przez przeszukiwanie dużych ilości danych z wykorzystaniem odpowiednich metod statystycznych.

Wyróżniamy dwa główne podejścia do data mining: uczenie kontrolowane i ucze-nie ucze-niekontrolowane. To drugie obejmuje szukaucze-nie zależności w samych danych. Do celów podejmowania decyzji dużo ważniejsze jest jednak pierwsze podejście, któ-re pozwala na zbudowanie modelu decyzyjnego.

Można wskazać cztery podstawowe problemy rozwiązywane z wykorzystaniem metod data mining [Berry2000]. Pierwszy z nich to dokonywanie wyborów, czyli kla-syfikacje, dla których szczególne zastosowanie mają drzewa decyzyjne [Quin-lan1986]. Drugi problem to tworzenie prognoz, czyli przybliżanie nieznanej przyszłej wartości. Tutaj rozwiązania opierają się na budowie numerycznych modeli predykcyj-nych przybliżających postać określopredykcyj-nych funkcji. Użyteczne są tu m.in. metody ucze-nia sztucznych sieci neuronowych, metody ewolucyjne, czy też analiza regresji. Z punktu widzenia problemu naukowego niniejszej pracy zagadnienie tworzenia ta-kich modeli predykcyjnych jest szczególnie istotne. Trzeci problem to odkrywanie relacji w danych (np., analiza skupień [Bramer2007]), a czwarty to usprawnianie pro-cesów87

.

2.4.1 Regresja

Regresja jest metodą statystyczną służącą do tworzenia matematycznych modeli opisujących zbiory danych przez określenie związku pomiędzy ich wyodrębnionymi podzbiorami. Odkrycie tych związków umożliwia predykcję wartości jednych wielko-ści na podstawie znanych wartowielko-ści pozostałych wielkowielko-ści.

W przypadku stosowania regresji parametrycznej88 zakłada się posiadanie pewnej

wiedzy a priori o procesie generującym dane. Posiadając taką wiedzę, możliwe jest stosowanie tzw. modeli parametrycznych, w których postać modelu jest dana z góry,

87

Te zagadnienia nie są istotne dla dalszych rozważań.

39

natomiast ustaleniu – estymacji – podlegają same parametry. Postać takiego modelu przedstawia się następująco:

( ) . (1)

Celem zastosowania metody jest jak najlepsze przybliżenie nieznanej funkcji f za pomocą estymatora f’. W praktyce odbywa się to przez dostosowanie wektora współczynników B tak, aby dla zbioru uczącego funkcja błędu przyjmowała wartość minimalną. Najczęściej stosowaną i zarazem jedną z prostszych w zastosowaniu funk-cji błędu jest miara sumy kwadratów różnic między wartościami teoretycznych i empi-rycznymi89.

Do najczęściej stosowanych modeli parametrycznych zaliczyć należy: regresję li-niową, regresję nieliniową oraz uogólnione modele liniowe (GLM).

2.4.2 Programowanie genetyczne

Na wysokim poziomie abstrakcji algorytmy ewolucyjne określić można jako sy-mulację operującą na zbiorze bytów określanym jako populacja. Każdy byt – osobnik znajdujący się w przetwarzanym zbiorze – populacji, stanowi możliwy rezultat dla rozwiązywanego problemu. Problem ten określa konstrukcję i specyfikę środowiska, w którym osobniki funkcjonują oraz sposób opisu (kodowania) bytów. Ze względu na to środowisko istnieje charakterystyczna funkcja przyporządkowująca każdemu osobnikowi wartość liczbową. Wartość ta odzwierciedla jakość rozwiązania skojarzo-nego z danym osobnikiem i nazywamy ją przystosowaniem osobnika. Natomiast

funkcja, która tę wartość przypisuje, stanowi funkcję przystosowania90

.

Kluczowymi pojęciami zaczerpniętymi przez analogię z nauk biologicznych

w przypadku algorytmów ewolucyjnych są pojęcia genotypu oraz fenotypu91.

Geno-typem jest informacja skojarzona z każdym pojedynczym osobnikiem, stanowiąca

przedmiot przetwarzania przez czynniki dostosowawcze w algorytmie. Postać genoty-pu determinuje fenotyp, czyli zespół cech danego osobnika. Cechy te wpływają

89

Ma ona tę wadę, że jest czuła na elementy danych istotnie odstających.

90 Z punktu widzenia symulacji „środowisko” często redukowane jest praktycznie wyłącznie do właściwie zdefiniowanej funkcji przystosowania. Funkcja taka może mieć dowolną postać, dodatkowo może ulegać zmianom w trakcie działania algorytmu lub zawierać czynniki losowe.

91

W uproszczonych symulacjach w szczególnych przypadkach wprowadza się równoważność pomiędzy genotypem osobników a ich fenotypami. Jest to kwestia kodowania tych informacji w określonej implementacji.

40

pośrednio na ocenę osobnika z punktu widzenia środowiska w postaci wartości funkcji przystosowania.

Informacja zapisana w genotypach osobników ma charakter ustrukturyzowany. Składają się na nią chromosomy oraz geny, przy czym chromosom jest zbiorem ge-nów natomiast cały genotyp jest zbiorem chromosomów. Geny są traktowane jako niepodzielna jednostka dziedziczonej informacji. Dziedziczenie to odbywa się w cy-klach. Każdy cykl polega na przekształceniu populacji zastanej w populację potomną tak, że populacja potomna staje się jednocześnie populacją zastaną w kolejnym cyklu wykonywania algorytmu. Algorytm ewolucyjny nie ulega zatrzymaniu, chyba że zo-stanie osiągnięty subiektywnie zdefiniowany warunek stopu.

Generowanie populacji potomnej odbywa się przez wybór osobników z populacji zastanej oraz zastosowanie na ich genotypach określonych operatorów genetycznych.

Operatorami tymi klasycznie są: mutacja i krzyżowanie92.

Algorytmy ewolucyjne podzielić można na algorytmy genetyczne [Arabas2001], strategie i programowanie ewolucyjne oraz programowanie genetyczne. Wszystkie one zakładają wykorzystanie mechanizmów symulowanego doboru naturalnego i dziedziczenia dla tworzenia potencjalnej przestrzeni rozwiązań. Pionierem klasycz-nych zastosowań dla algorytmów genetyczklasycz-nych jest A. Fraser [Fraser1957]. Koncep-cja programowania genetycznego rozwinięta została przez J. Kozę [Koza1994]. Obec-nie częstym zabiegiem jest wykorzystaObec-nie dla reprezentacji programów pseudokodu

maszynowego (metoda AIM [Nordin1999])93.

2.4.3 Sztuczne sieci neuronowe

Sztuczne sieci neuronowe są strukturami, które przekształcają sygnały wejściowe na sygnały wyjściowe przez mechanizm symulowanego przesyłania i modyfikowania sygnałów pomiędzy numerycznymi odpowiednikami komórek nerwowych. Podsta-wową cechą charakterystyczną omawianych struktur jest zdolność uczenia i rozpo-znawania wzorców. Zasadniczo sieci neuronowe różnią się pomiędzy sobą: rodzajami i poziomem szczegółowości symulowanych neuronów [Osowski2000], liczbą

92 ang. cross-over, [Ahmed2010]

93 Może to dotyczyć zarówno natywnych języków maszynowych procesorów, ale również języków, w których przechowywany jest kod dla maszyn wirtualnych (Java, CLI). Oprogramowanie, wykorzystane do badań opisanych w rozdziale 7 korzysta z takiego rozwiązania.

41

nów, konfiguracjami połączeń pomiędzy neuronami [Miller1989] oraz metodami uczenia [Montana1989]. Różnice te są szczególnie istotne ze względu na konkretne zastosowania poszczególnych implementacji sieci.

Pierwsze matematyczne modele neuronów powstały w latach 40. [McCul-loch1943]. Modele te od tego czasu są systematycznie ulepszane, uwzględniając spe-cyficzne cechy funkcjonowania komórek nerwowych. W 1958 roku powstał percep-tron [Rosenblatt1958], który był pierwszą symulowaną na komputerze siecią neuro-nową. Jednak dopiero w 1986 roku pojawił się przełom w badaniach w tym obszarze za sprawą pracy [Rumelhart1986]. Rozwinięto w niej metodę uczenia z propagacją błędu, co było istotnym krokiem na drodze do stworzenia jednokierunkowych sieci wielowarstwowych.

Sztuczne sieci neuronowe mają szereg zastosowań praktycznych, takich jak:

zada-nia klasyfikacyjne, redukowanie zakłóceń94, prognozowanie szeregów liczbowych

oraz aproksymacja funkcji. Ostatnie z wymienionych zastosowań jest szczególnie istotne z punktu widzenia niniejszej pracy.

Masters [Masters1993] rozważa kilka szczególnych przypadków zadania przybli-żania funkcji. Jednocześnie podając przykłady, konfrontuje wykorzystanie sztucznych sieci neuronowych z alternatywnymi lub tradycyjnymi metodami.

Dwa ze wskazanych we wspomnianej książce przypadków zadania przybliżania funkcji są bezpośrednio związane z poruszanym w niniejszej pracy zagadnieniem. Mianowicie są to modelowanie odwrotne oraz regresja wieloraka. W ramach modelo-wania odwrotnego rozważany jest przypadek, gdzie oryginalny model jest tradycyjny oraz stochastyczny. Sztuczne sieci neuronowe sprawują się dobrze w obu wariantach przy założeniu dostarczenia zbioru treningowego o odpowiedniej wielkości. Liczeb-ność tego zbioru zdaniem autora „zależy od problemu i trudno odpowiedzieć z góry bez starannego przetestowania sieci”, jaka powinna być. Z kolei w przypadku regresji wielorakiej Masters zauważa, że podejście statystyczne obarczone jest wadą związaną z liniowością relacji pomiędzy zmiennymi niezależnymi a zależnymi. W szczególnych przypadkach możliwa jest linearyzacja, niemniej w ogólności przy zależnościach nie-liniowych metody statystyczne nie dają dobrych efektów. Stosowanie sieci połączeń

42

funkcjonalnych [Pao1989] polecane jest dla modeli, w których znany jest

przynajm-niej przeważający charakter nieliniowości95. W przypadkach, gdy wiedza a priori

o modelu nie istnieje, dobre rezultaty dają tradycyjne sieci z ukrytymi warstwami.

2.4.4 Drzewa decyzyjne

Pojęcie drzewa decyzyjnego odnosi się po pierwsze do stosowanego od lat 60. na-rzędzia wspierającego analizę decyzji, przede wszystkim w biznesie [Magee1964, He-spos1965]. Po drugie - do stworzonej na bazie tego narzędzia metody wykorzystującej drzewa decyzyjne jako modele predykcyjne.

Drzewa decyzyjne tworzą struktury zbliżone do diagramów przepływu. Każdy wierzchołek reprezentuje uszczegółowienie klasy wyniku, podczas gdy krawędzie obejmują wynik testu przeprowadzanego na elementach wierzchołka. Drzewa

decy-zyjne dobrze radzą sobie z zadaniami klasyfikacji96, ale także można stosować

je do zadań regresji97.

Istnieje szereg metod uczenia drzew na podstawie danych złożonych z wektorów zmiennych niezależnych oraz wartości zmiennej zależnej. Do najpopularniejszych

z tych metod zaliczyć można: algorytm C4.5[Quinlan1996] i kontynuatorów, CART

[Breiman1984], CHAID[Kass1980] czy CIT[Strobl2009].

95

Pozwala to wyeliminować warstwy ukryte sieci i może spowodować istotny wzrost tempa uczenia. Z drugiej strony upodabnia metodę zastosowania sztucznej sieci neuronowej o takiej konstrukcji do specjalnego zastosowania regresji wielomianowej.

96 Mowa wówczas o drzewach klasyfikujących. W takich przypadkach zakłada się, że zmienna wynikowa (zależna) ma charakter dyskretny.

43