360 likes | 481 Views
Systemy Uczące się – studium porównawcze. Marek Kozłowski M.Kozlowski@stud.elka.pw.edu.pl. Pielgrzymem być . To nie droga jest trudnością… to trudności są drogą. Plan prezentacji. Systemy uczące – wprowadzenie Definicja Motywacja do badań Zastosowania
E N D
Systemy Uczące się – studium porównawcze Marek Kozłowski M.Kozlowski@stud.elka.pw.edu.pl
Pielgrzymem być To nie droga jest trudnością… to trudności są drogą
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
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ę.
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ę.
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.
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
Reprezentacja wiedzy Metoda reprezentacji wiedzy często wynika z algorytmu uczenia, który wybieramy. Wśród najczęściej stosowanych są drzewa decyzyjne, reguły, formuły logiki predykatów, rozkłady prawdopodobień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.
Sposób używania wiedzy Sposób używania wiedzy jest na ogół determinowany przez metodę reprezentacji wiedzy i cel, czyli stojące przed systemem zadanie. 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ństwo Do mniej typowych należą: • Sekwencyjne podejmowanie decyzji • Modelowanie środowiska • Przedstawienie zebranej wiedzy w czytelny dla użytkownika sposób
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.
Mechanizm nabywania wiedzy Mechanizm, zgodnie z którym dokonuje się nabywania lub doskonalenia wiedzy, jest najczęściej wyznaczany jednoznacznie przez metodę reprezentacji wiedzy oraz postać informacji trenują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
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)
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)
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
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.
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…
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
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ść.
Misuse Detection - cd Zalety: • Wysoka skuteczność wykrywania znanych ataków • Rozpoczyna ochronę zaraz po zainstalowaniu Wada: • 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
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ów Wady: występowanie fazy tworzenia „normalnego profilu”, wysoki współczynnik „false alarms”
Anomaly detection cd. Można wyróżnić dwie fazy: • Treningu – formułowanie normalnego profilu • Testowania – weryfikacja nauczonego profilu z napływającymi danymi Efekty działania Anomaly Detection: • Intrusive but not anomalous – FalseNegatives • Not intrusive but anomalous – FalsePositives • Not intrusive and not anomalous – TrueNegative • Intrusive and anomalous - TruePositive
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)
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
KDD Cup 99 • W 1998 DARPA(DefenseAdvanced 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)
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
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
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
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 – skierowanyacykliczny graf, w którym wierzchołki reprezentują zdarzenia, a łuki związki przyczynowe pomiędzy zdarzeniami
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)
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.
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?
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
Dziękuję za uwagę -> Przecież i ja ziemi tyle mam,Ile jej stopa ma pokrywa,Dopókąd idę!... C.Norwid „Pielgrzym”