36
Systemy Uczące się – studium porównawcze Marek Kozłowski [email protected]

Systemy Uczące się – studium porównawcze

Embed Size (px)

DESCRIPTION

Systemy Uczące się – studium porównawcze. Marek Kozłowski [email protected]. Pielgrzymem być . To nie droga jest trudnością… to trudności są drogą. Plan prezentacji. Systemy uczące – wprowadzenie Definicja Motywacja do badań Zastosowania - PowerPoint PPT Presentation

Citation preview

Page 1: Systemy Uczące się – studium porównawcze

Systemy Uczące się – studium porównawcze

Marek Kozł[email protected]

Page 2: Systemy Uczące się – studium porównawcze

Pielgrzymem być

To nie droga jest trudnością… to trudności są drogą

Page 3: Systemy Uczące się – studium porównawcze

Plan prezentacji

Systemy uczące – wprowadzenie Definicja Motywacja do badań Zastosowania

Systemy uczące w teorii – taksonomia Klasyczne kryteria + nowe kryteria

Systemy uczące w praktyce – IDS Testowanie algorytmów

Doskonalenie działania systemów uczących Data preprocessing Hybrydowe rozwiązania

Page 4: Systemy Uczące się – studium porównawcze

Budowanie definicji uczenia się

Podstawowe elementy uczenia się: zmiana – np. zmiana parametrów, zmiana

reprezentacji wiedzy itd.. poprawa – zwiększenie skuteczności, sprawności

systemu w wypełnianiu jego funkcji. Zakładamy przy tym, iż dla każdego systemu istnieje możliwość oceny jakości jego działania.

autonomiczność – system, który się uczy sam zmienia się na lepsze (a nie jest zmieniany przez kogoś lub coś na zewnątrz niego)

doświadczenie – obserwacje lub otrzymywane informacje związane z jego funkcjami, których poprawa sprawności wykonywania jest zewnętrznym znamieniem uczenia się.

Page 5: Systemy Uczące się – studium porównawcze

Definicja systemu uczącego się

System uczący się to taki system, w którym na podstawie doświadczeń zachodzą autonomiczne zmiany prowadzące do poprawy jakości jego działania.

Definicja powyższa jest nieostra (trudno dokonać oceny autonomiczności zmian a jeszcze gorzej z rozstrzyganiem czy nastąpiły na podstawie doświadczeń), co jednak nie tyle świadczy o mankamentach definicji co raczej o naturalnej nieostrości pojęcia uczenia się.

Page 6: Systemy Uczące się – studium porównawcze

Motywacja do uczenia się

Powody, dla których badania nad systemami uczącymi się mają sens i są godne zainteresowania: dla naprawdę złożonych zadań trudno jest sformułować

wprost ustalone, pełne algorytmy ich rozwiązywania (niedeterminizm i zmienność środowiska działania programu).

inteligentne systemy w wielu zastosowaniach powinny być w maksymalnym stopniu autonomiczne.

zbiory dostępnych danych, pochodzących z pomiarów, obserwacji itp. są zbyt duże i skomplikowane aby wyszukiwać w nich zależności w sposób niezautomatyzowany.

Page 7: Systemy Uczące się – studium porównawcze

Kryteria porównawcze systemów uczących się

Metoda reprezentacji wiedzy lub umiejętności

Sposób używania wiedzy lub umiejętności

Źródło i postać informacji trenującej Mechanizm nabywania i doskonalenia

wiedzy lub umiejętności

Page 8: Systemy Uczące się – studium porównawcze

Reprezentacja wiedzy

Metoda reprezentacji wiedzy często wynika z algorytmu uczenia,

który wybieramy. Wśród najczęściej stosowanych są drzewadecyzyjne, reguły, formuły logiki predykatów, rozkładyprawdopodobieństw i automaty skończone.

Często stosowane jest też tradycyjne rozróżnienie na reprezentacje:

Symboliczne - struktury, przechowujące informacje o charakterze symbolicznym, czyli zorganizowane w pewien sposób napisy, którym można przypisać interpretację.

Taka reprezentacja jest czytelna dla człowieka. Subsymboliczne – są to zbiory liczb lub łańcuchy

binarne, które łącznie reprezentują pewną wiedzę, lecz wiedza ta nie może być bezpośrednio wyrażona w postaci zrozumiałej dla człowieka.

Page 9: Systemy Uczące się – studium porównawcze

Sposób używania wiedzy

Sposób używania wiedzy jest na ogół determinowany przez metodę reprezentacji wiedzy i cel, czyli stojące przed

systememzadanie.Do najbardziej typowych zadań należą: Klasyfikacja – ustalenie przynależności obiektów do

kategorii Aproksymacja – odwzorowanie obiektów na zbiór liczb

rzeczywistych Grupowanie – samodzielne tworzenie kategorii w

oparciu o podobieństwoDo mniej typowych należą: Sekwencyjne podejmowanie decyzji Modelowanie środowiska Przedstawienie zebranej wiedzy w czytelny dla

użytkownika sposób

Page 10: Systemy Uczące się – studium porównawcze

Informacja trenująca

Klasyczny podział: Uczenie z nadzorem – uczeń otrzymuje informację

określającą pożądane odpowiedzi dla pewnego zbioru wektorów wejściowych jako przykłady zachowania jakie się od niego oczekuje

Uczenie się bez nadzoru – instruktażowa informacja trenująca nie jest dostępna, podawane są jedynie wektory wejściowe i uczeń ma się nauczyć właściwych odpowiedzi wyłącznie obserwując ich sekwencje.

Page 11: Systemy Uczące się – studium porównawcze

Mechanizm nabywania wiedzy

Mechanizm, zgodnie z którym dokonuje się nabywania lub doskonalenia wiedzy, jest najczęściej wyznaczany

jednoznacznieprzez metodę reprezentacji wiedzy oraz postać informacjitrenującej. Indukcja – uogólnianie jednostkowej informacji

trenującej w celu uzyskania ogólnej wiedzy Dedukcja - dojście do określonego wniosku na

podstawie wcześniej określonego zbioru prawdziwych przesłanek

EBL – explanation based learning – informacja trenująca nie jest uogólniana, ale służy do konkretyzacji wiedzy wrodzonej

Analogical reasoning

Page 12: Systemy Uczące się – studium porównawcze

Fundamenty Machine Learning

Teoria prawdopodobieństwa – aparat do analizy algorytmów uczenia, podstawa mechanizmów wnioskowania probabilistycznego

Teoria informacji – decyduje o wyborze hipotezy, na problem indukcyjnego uczenia się patrzymy jak na problem odpowiedniego kodowania informacji trenującej

Logika formalna – podstawa wielu symbolicznych metod reprezentacji wiedzy, bezpośrednie zastosowanie w EBL i indukcyjnym programowaniu logicznym

Statystyka – wykorzystywanie narzędzi statystycznych do analizy danych trenujących i wyciągania wniosków przydatnych w procesie uczenia (charakteryzowanie błędów, testy statystycznej wiarygodności hipotez)

Page 13: Systemy Uczące się – studium porównawcze

Fundamenty Machine Learning

Teoria sterowania – sterowanie adaptacyjne (nie znamy modelu sterowanego obiektu, dopuszcza się jego zmienność w czasie), pewne wyniki teorii sterowania inspirują badania nad systemami uczącymi( uczenie ze wzmocnieniem)

Psychologia – korzenie psychologiczne ma uczenie ze wzmocnieniem (wartościująca informacja trenująca przypomina badania nad uczeniem się zwierząt)

Neurofizjologia – subsymboliczne systemy uczące się (sieci neuronowe)

Page 14: Systemy Uczące się – studium porównawcze

Zastosowania systemów uczących się Odkrycia w bazach danych (Data Minning) –

najczęstsze rozwiązanie to : komunikacja z relacyjną bazą i poszukiwanie w przechowywanych rekordach zależności. Np.: ocena wiarygodności klientów w bankach, diagnostyka medyczna.

Inteligentne sterowanie – uczenie się modelu zachowania sterowanego obiektu, który jest następnie używany do znalezienia strategii sterowania

Robotyka – adaptacyjność pozwalająca na przezwyciężenie takich problemów jak złożoność, niepewność i zmienność środowiska. Np.: roboty przemysłowe, eksploracyjne.

Inżynieria oprogramowania – konstruowanie inteligentnych interfejsów użytkownika – programowanie przez demonstrację, szacowania czasochłonności i zasobów, diagnostyka błędów oprogramowania

Page 15: Systemy Uczące się – studium porównawcze

Zastosowania systemów uczących cd

Wykrywanie nadużyć – program uczący się, który na podstawie analizy historycznych danych dotyczących dobrych i złych autoryzacji/transakcji określi pewne cechy pozwalające na maksymalnie wiarygodne ich odróżnienie np. włamania w sieciach wewnętrznych, rozmowy na cudzy rachunek, transakcje na rachunkach bankowych.

Klasyfikowanie dokumentów oraz innych zasobów sieci WWW – zautomatyzowane metody klasyfikacji i filtrowania

Nawigacja w środowisku biurowym – ruchome roboty pozwalające na sprawne poruszanie się po wielopiętrowych budynkach z sieciami korytarzy.

Page 16: Systemy Uczące się – studium porównawcze

IDS – intrusion detection systems

Systemy wykrywania włamań – mechanizm nadzorowania bezpieczeństwa pozwalający na wykrywanie nieautoryzowanych dostępów do systemów lub sieci. IDS jest zdolny do wykrywania wszystkich typów wrogiego ruchu sieciowego i użycia komputerów.

Przykłady wykrywanych nadużyć: Ataki sieciowe na rożnego rodzaju podatne usługi Data-driven attacks – wirus zakodowany w niewinnie

wyglądających danych Host-based attacks – privilege escalation,

nieautoryzowane logowania Malware – trojany, dialery, backdoor i wiele innych…

Page 17: Systemy Uczące się – studium porównawcze

Podział IDS Misuse Detection Systems –

wykrywanie oparte o sygnatury ataków Anomaly Detection Systems –

wykrywanie oparte o indentyfikacje odchyleń od normalnego działania

Compound Detection Systems – systemy hybrydowe

Ontology Detection Systems – wykorzystanie silnych ontologii zamiast prostych taksonomii

Page 18: Systemy Uczące się – studium porównawcze

Podział IDS – Misuse Detection

Misuse Detection – wykrywanie włamań oparte na predefiniowanym zbiorze sygnatur ataków.

Przeglądając wyspecyfikowane wzorce nadużyć system porównuje nadchodzące pakiety lub sekwencje komend do sygnatur znanych ataków.

Wiedza wbudowana o ataku jest konfrontowana ze śladami jakie zostawia intruz w systemie.

Wzorce ataków są najczęściej przechowywane w odpowiednio pogrupowanych zbiorach reguł, lub w postaci diagramów przejść.

Page 19: Systemy Uczące się – studium porównawcze

Misuse Detection - cd

Zalety: Wysoka skuteczność wykrywania znanych

ataków Rozpoczyna ochronę zaraz po

zainstalowaniuWada: Kłopoty z sygnaturami obejmującymi wiele

pakietów Konieczność stałego updatowania bazy

sygnatur Każdy atak, a nawet jego specjalizacja

wymaga odpowiedniego wzorca w bazie

Page 20: Systemy Uczące się – studium porównawcze

Podział IDS – Anomaly Detection

Anomaly Detection – najpierw tworzy bazowy profil normalnej systemowej lub sieciowej aktywności. Następnie każde działanie odbiegające istotnie od profilu traktuje jako możliwe włamanie.

Zalety: Możliwość wykrywania wewnętrznych nadużyć System oparty na pełnej personalizacji profili, tym

samym brak wspólnych słabych punktów Zdolność do wykrywania dotąd nieznanych atakówWady: występowanie fazy tworzenia „normalnego

profilu”, wysoki współczynnik „false alarms”

Page 21: Systemy Uczące się – studium porównawcze

Anomaly detection cd.

Można wyróżnić dwie fazy: Treningu – formułowanie normalnego profilu Testowania – weryfikacja nauczonego profilu z

napływającymi danymiEfekty działania Anomaly Detection:1. Intrusive but not anomalous – FalseNegatives2. Not intrusive but anomalous – FalsePositives3. Not intrusive and not anomalous –

TrueNegative4. Intrusive and anomalous - TruePositive

Page 22: Systemy Uczące się – studium porównawcze

Podział IDS – Compound Detection

Compound Detection – jest połączeniem techniki sygnaturowej z wykrywaniem anomalii.

Hybrydowość przejawia się w mechaniźmie decyzyjnym, który bazuje na analizie normalnego zachowania systemu i jednoczesnym badaniu znanych wzorców włamań.

Anomaly detection pomaga w wykrywaniu nowych, nieznanych ataków, podczas gdy misuse detection wykrywa znane nadużycia, oraz próby „złego wytrenowania” systemu.

Zalety: znacznie redukuje liczbę „false alarms” (FP) rośnie automatycznie też liczba positive alarms (TP)

Page 23: Systemy Uczące się – studium porównawcze

Podział IDS – Ontology detection

Ontologia jest to katalog typów rzeczy, które zakłada sie, że istnieją w rozważanej domenie D z perspektywy osoby, która używa języka L do opisu D [Sowa, 2000].

Ontologia dostarcza zbioru termów i relacji, przy pomocy których można zamodelować dziedzinę dla ktorej budujemu IDS aplikacje.

Wyrażanie IDS w kontekście pojęć zrozumiałych dla zwykłego użytkownika – większa intuicyjność

Tworzenie IDS staję się prostsze – z wiedzy zawartej w ontologii dziedziny można wyprowadzić niskopoziomowe właściwości

Inteligentne wnioskowanie – wykorzystanie relacji między obiektami na bazie struktury ontologii

Page 24: Systemy Uczące się – studium porównawcze

KDD Cup 99 W 1998 DARPA(Defense Advanced Research Projects

Agency) zleciła MIT Lincoln Labs opracowanie programu oceny wykrywania włamań

Lincoln Labs stworzył środowisko, które przez 9 tygodni zbierało surowe dane TCP z lokalnej sieci symulujące U.S. Air Force LAN, która poddana była wielkiej ilości ataków

Surowe dane treningowe 6GB skompresowanych binarnych danych TCP = 7 mln połączeniowych rekordów

Połączenie jest sekwencją TCP pakietów zaczynających się i kończących w ściśle określonych momentach czasu (pomiędzy którymi dane przepływają do i z źródłowego adresu IP do docelowego adresu)

Page 25: Systemy Uczące się – studium porównawcze

KDD Cup 99 cd Połączenia jest reprezentowane za pomocą rekordów

połączeniowych, gdzie każdy jest etykietowany jako normalny lub atak (z podaniem określonego typu ataku)

Każdy połączeniowy rekord składa się z około 100 bajtów Ataki są zaliczane do jednej z 4 kategorii: DOS (denial of

service), R2L (unauthorized access from remote machine), U2R (unauthorized access to local superuser) i Probing (próbkowanie/skanowanie portów)

Dane testowe nie pochodzą z tego samego rozkładu probabilistycznego jak dane treningowe – zawierają specyficzne ataki, których nie ma w danych treningowych

Page 26: Systemy Uczące się – studium porównawcze

KDD Cup 99 – rekord połączeniowy

W celu rozróżnienia połączeń normalnych od nadużyć zostały zdefiniowane wysokopoziomowe cechy:

Cechy typu „same host” – badają tylko połączenia z ostatnich 2 sekund, które mają ten sam docelowy host jak aktualne połączenie

Cechy typu „same service” – badają tylko połączenia z ostatnich 2 sekund, które mają tą samą usługę co aktualne połączenie

Cechy oparte na hoście – w oparciu o okno 100 połączeń do tego samego adresu

Cechy oparte na wiedzy ekspertów (content features) – podejrzewane zachowania w porcjach danych np. number of failed

login attempts  Przykładowy rekord

0,tcp,http,SF,334,1684,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,9,0.00,0.00,0.00,1.00,0.00,0.33,0,0,0.00,0.00,0.00,0.00,0.00,0.00,normal

Page 27: Systemy Uczące się – studium porównawcze

Eksperyment praktyczny

Wybrałem 3 klasyczne algorytmy uczenia: Naive Bayes, Bayesian Net, ID3 (C.4.5)

Zbiór danych testowych – KDD Cup 99 Rola preprocessingu w uczeniu –

feature selection Dokładność klasyfikacji vs szybkość

działania Hybrydowość pomiędzy algorytmami

Page 28: Systemy Uczące się – studium porównawcze

Stosowane algorytmy uczenia

ID3 – drzewa decyzyjne – w każdym węźle umieszczony jeden atrybut, każda krawędź jest etykietowana jedną z

możliwych wartości atrybutu rodzica, liściem jest wartość ze zbioru kategorii

Naive Bayes –

Bayesian Net – skierowany acykliczny graf, w którym wierzchołki reprezentują zdarzenia, a łuki związki przyczynowe pomiędzy zdarzeniami

Page 29: Systemy Uczące się – studium porównawcze

Preprocessing - Feature reduction

Metody redukcji cech polegają na ograniczaniu zbioru atrybutów do najbardziej istotnych w procesie klasyfikacji:

Filter – uniwersalne metody oparte na specyficznych metrykach do oceny i wyboru cech np. CorrelationFS, ConsistancyFS

Wrapper – ocenia jakość atrybutów używając konkretnego algorytmu ML (tak otrzymany zbiór cech jest szyty pod dany alg.uczenia np. ID3)

Page 30: Systemy Uczące się – studium porównawcze

Feature reduction Correlation Based Feature Evaluator – algorytm

dokonujący oceny jakości kolejnych podzbiorów cech używający heurystyki oceny korelacji między cechami oraz kategorią. Wysokie noty są przypisywane do zbiorów, które charakteryzują się wysokim skorelowaniem z kategorią a niską wewnętrzną korelacją.

Do generowania podzbiorów cech można używać wielu algorytmów przeszukiwania np: genetic search, random, race search, best first czy greedy.

Używam Best first search – tworzy nowe zbiory bazując na dodawaniu lub usuwaniu cech. Zdolność do nawracania aby odkrywać nowe mozliwości, gdy obecna ścieżka nie daje żadnej poprawy.

Page 31: Systemy Uczące się – studium porównawcze

Feature reduction Zastosowanie CFS + forward best

first search zoptymalizowało zbiór cech z 41 do 17.

Mniejsza liczba cech to szybsza realizacja budowy modelu i jego użycia do klasyfikacji.

Z drugiej strony takie dość znaczne ograniczenie zbioru atrybutów musi wpływać na dokładność klasyfikacji?

Page 32: Systemy Uczące się – studium porównawcze

Dokładność klasyfikacjiBadanie dokładności klasyfikacji dla pełnych i

ograniczonych cech

70

75

80

85

90

95

100

C.4.5 B.Net N.Bayes

klasyfikatory

do

kład

no

ść

Full

CFS

Page 33: Systemy Uczące się – studium porównawcze

Szybkość klasyfikacji Badanie szybkości klasyfikacji zadanego zbioru

testujacego

0

0,2

0,4

0,6

0,8

1

1,2

C.4.5 B.Net N.Bayes

klasyfikatory

szyb

kość

Full

CFS

Page 34: Systemy Uczące się – studium porównawcze

Szybkość budowania modelu

Badanie szybkości budowania klasyfikatora

0

0,2

0,4

0,6

0,8

1

1,2

C.4.5 B.Net N.Bayes

klasyfikatory

czas

bu

do

wan

ia m

od

elu

Full

CFS

Page 35: Systemy Uczące się – studium porównawcze

Hybrydowe rozwiązania

Scalanie algorytmów uczenia w ramach tej samej techniki uczenia np. Naive Bayes + ID3 + indukcje reguł Podejście wagowe – wagami są

indywidualne średnie dokładności klasyfikacji specyficznych zbiorów przykładów

Scalanie różnych technik uczenia – indukcja + dedukcja

Page 36: Systemy Uczące się – studium porównawcze

Dziękuję za uwagę ->

Przecież i ja ziemi tyle mam,Ile jej stopa ma pokrywa,

Dopókąd idę!...

C.Norwid „Pielgrzym”