• Nie Znaleziono Wyników

Obliczenia w środowisku typu klaster MDC

W dokumencie Index of /rozprawy2/10003 (Stron 48-53)

W procesie uczenia sztucznej sieci immunologicznej jest realizowane obliczanie odległości związane z miarą powinowactwa pomiędzy antygenami i przeciwcia-łami. Proces uczenia sztucznej sieci immunologicznej został przeprowadzony w środowisku rozproszonym o nazwie klaster MATLAB Distributed Comput-ing (MDC). W skład tego środowiska wchodzą pakiety MATLAB Distributed Computing Engine oraz MATLAB Distributed Computing Toolbox. Pierwszy z nich (MDCE) odpowiedzialny jest za zarządzanie zadaniami w uruchamianych programach wielozadaniowych oraz za zapewnienie komunikacji między nimi w środowisku rozproszonym. Drugi (MDCT), to zestaw funkcji i poleceń umożli-wiający użytkownikowi korzystanie z MDCE. Rysunek 3.3

Rysunek 3.4: Środowisko "Interactions of Distributed Computing Sessions"

Licencja ewaluacyjna obejmowała korzystanie z jednego pakietu MDCT oraz z pakietu MDCE na ośmiu procesorach, osiem licencji dla maszyn typu worker. Praca (ang. job) jest operacją, którą użytkownik wykonuje podczas działania sesji Matlab. Praca dzieli się na segmenty zwane zadaniami (ang. tasks). Zadanie jest to najmniejsza porcja operacji, wykonywana na danym komputerze. Zadania są rozpraszane na poszczególne jednostki obliczeniowe zwane workerami. Są to kom-putery realizujące zadania. Klient to jednostka komputerowa, z której użytkownik żąda realizacji obliczeń. JobManager jest to część pojęcia nazwanego "rozpro-szoną maszyną obliczeniową środowiska Matlab". JobManager zarządza pracami. Głównym zadaniem JobManagera jest rozproszenie zadań na poszczególne kom-putery. Komputer liczący (ang. worker) to komputer, w którym uruchamiana jest sesja Matlaba. Głównym zadaniem workerów, jest przyjmowanie i wykonywanie zadań przydzielanych przez JobManagera. Wyniki obliczeń są przekazywane do JobManagera, który przekazuje wyniki do klienta. Zadania rozproszone nie są od siebie zależne i nie ma między nimi komunikacji. Każdy worker pracuje w przy-bliżeniu tak samo jak zwykła sesja MATLAB’a. Należy pamiętać o niewielkiej stracie czasu związanej z samym uruchomieniem i zatrzymaniem workera na przy-dzielonym węźle klastra. Konfiguracja rozproszona, ze względu na swoje przez-naczenie, spełnia się najlepiej w przypadku kilku dużych zadań obliczeniowych, wymagających długiego czasu pracy. Współpraca między klientem, a JobMan-agerem oraz workerem jest przedstawiona na rysunku 3.4. Plan pracy Matlab Distributed Computing rozpoczyna się gdy użytkownik uruchamia sesję Matlaba na komputerze klienta. Za pomocą polecenia użytkownik wyszukuje JobManagera wraz z dostępnymi workerami, które są przypisane do JobManagera. Użytkownik tworzy pracę, którą rejestruje Job Manager. Po utworzeniu pracy użytkownik tworzy zadania w nowo utworzonej pracy. JobManager zleca wykonanie zadań workerom. Rezultaty pracy workerów są zwracane do JobManagera a następnie do klienta.

Metoda wektorów nośnych

-Support Vector Machines SVM

Metoda SVM została zastosowana do oceny ryzyka zgonu pacjenta. Zbiór danych można podzielić na dwa podzbiory. Elementy należące do pierwszego podzbioru otrzymają etykietę 1, a elementy należące do drugiego podzbioru otrzymają etykietę -1. U podstaw metody wektorów nośnych (Support Vector Machines - SVM) [20, 13] leży koncepcja przestrzeni decyzyjnej, którą dzieli się budując granice separujące obiekty o danej na etapie uczenia i oczekiwanej na etapie testowania przynależności do określonej klasy. Przykład podziału przedstawiono na rysunku 4.1. Mamy dwie klasy graficznie obrazowane przez znak kółka i znak gwiazdki. Linia graniczna rozdziela je wyraźnie. Nowy, nieznany obiekt, jeżeli znajdzie się po prawej stronie granicy zostanie zaklasyfikowany jako kółko, a w przeciwnym wypadku jako gwiazdka.

Rysunek jest ilustracją bardzo prostego przykładu klasyfikatora liniowego, dzielącego obszar klasyfikowany na dwie części za pomocą prostej. Większość praktycznych zadań klasyfikacyjnych jednak nie jest tak łatwa do rozdzielenia za pomocą prostej. Do poprawnego klasyfikowania potrzebne są bardziej skompli-kowane formy niż linia prosta. Przykładem może być rysunek 4.2, który porów-nany z poprzednim jasno wskazuje, że do rozdzielenia różnych znaków potrzebna jest krzywa separująca. Krzywa, podobnie jak prosta są przykładami klasy-fikatorów hiperpłaszczyznowych w przestrzeniach wielowymiarowych. Tego typu klasyfikatory otrzymujemy stosując metodę SVM. Rysunki 4.2 i 4.3 ilustrują główną ideę metody SVM. Oryginalne parametry zamieszczone na rysunku 4.2 zostały przetransformowane za pomocą funkcji jądrowej w przestrzeń przedsta-wioną na rysunku 4.3. W nowej przestrzeni dwie klasy są separowalne.

Rysunek 4.3: Zastosowanie funkcji jądrowej Φ

Metoda wektorów nośnych SVM realizuje zadania klasyfikacyjne konstruując w wielowymiarowej przestrzeni hiperpłaszczyzny oddzielające przypadki należące do różnych klas. Możemy również wykonać regresję, dla wielu zmiennych ciągłych i skategoryzowanych. Dla każdej zmiennej skategoryzowanej tworzony jest zestaw zmiennych z kodami określającymi przynależność każdego przypadku albo -1 albo 1. Na przykład zmienna przyjmująca trzy wartości: A, B i C reprezentowana będzie przez trzy zmienne o wartościach, odpowiednio:

A : 100, B : 010, C : 001.

Optymalną hiperpłaszczyznę separującą buduje się w iteracyjnym algorytmie uczącym, minimalizującym zadaną funkcję błędu.

Modele SVM dzieli się według typu funkcji błędu. Wyróżniamy cztery grupy modeli:

Klasyfikacyjny typ 1 (klasyfikacja C-SVC) Klasyfikacyjny typ 2 (klasyfikacja ν -SVC) Regresyjny typ 1 (regresja -SVR)

Regresyjny typ 2 (regresja ν -SVR)

Poniżej, krótkie omówienie wyszczególnionych typów.

4.1 Klasyfikacja SVM typu 1

Przy tym typie klasyfikacji, w trakcie uczenia modelu minimalizowana jest funkcja błędu w postaci 1 2w T · w + C i=N X i=1 ξi (4.1) podlegająca ograniczeniom yi(wTΦ(xi) + b) ≥ 1 − ξi gdy ξi ≥ 0, dla i = 1, 2, ..., N (4.2)

gdzie C jest stałą, która jest nazywana pojemnością, w jest wektorem współczyn-ników, zwany też wektorem wag, b jest stałą, a ξi parametr adresowany do poszczególnego przypadku. Indeks i numeruje N przypadków zastosowanych w procesie uczenia SVM. yi ∈ (−1; 1) są etykietami klas, a xi to zmienne niezależne. Funkcja jądrowa Φ przekształca dane wejściowe do nowej przestrzeni cech. C ma wpływ na błąd i wartość tego parametru dobierana musi być precyzyjnie, ze względu na problem nadmiernego dopasowania modelu.

W dokumencie Index of /rozprawy2/10003 (Stron 48-53)

Powiązane dokumenty