Systemy Uczące się – studium porównawcze

Slides:



Advertisements
Podobne prezentacje
Data Mining w e-commerce
Advertisements

KOMPETENCJE KLUCZOWE W PROJEKCIE EDUKCYJNYM
Planowanie bezkolizyjnego ruchu w środowisku wielu robotów z wykorzystaniem gier niekooperacyjnych OWD
Sieci VLAN.
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
ZAPORY SIECIOWE Firewall – ściana fizycznie oddzielająca silnik od pasażerów w samochodzie Sposób zabezpieczenia komputera/sieci przed osobami niepowołanymi.
przetwarzaniu informacji
Badania operacyjne. Wykład 1
Statystyka w doświadczalnictwie
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Inteligentne Systemy Informacyjne
Piotr Doskocz Aleksandra Lechki Krzysztof Lewicki
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Klasyfikacja Obcinanie drzewa Naiwny klasyfikator Bayes’a kNN
Wzorce projektowe w J2EE
Modele baz danych - spojrzenie na poziom fizyczny
Multimedialne bazy danych
Wykład 2 Cykl życia systemu informacyjnego
Klasyfikacja dokumentów za pomocą sieci radialnych
Inżynieria Oprogramowania
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Metody ilościowe w biznesie Wykład 1
Studium Przypadku (case study)
Sieci bayesowskie Wykonali: Mateusz Kaflowski Michał Grabarczyk.
Modelowanie populacji i przepływu opinii pomiędzy aktorami sztucznej inteligencji za pomocą sieci społecznej Wojciech Toman.
Uczenie w Sieciach Rekurencyjnych
Techniki eksploracji danych
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
SYSTEMY OPERACYJNE Adresowanie IP cz3.
Podstawy teleinformatyki
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych - podstawowe pojęcia
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
1. Współczesne generacje technologii
VI EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
VII EKSPLORACJA DANYCH
Politechniki Poznańskiej
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
Interakcja człowiek – komputer Podstawy metod obiektowych mgr inż. Marek Malinowski Zakład Matematyki i Fizyki Wydz. BMiP PW Płock.
Seminarium licencjackie Beata Kapuścińska
Metoda studium przypadku jako element XI Konkursu Wiedzy Ekonomicznej
Model obiektowy bazy danych
Zarządzanie zagrożeniami
Systemy informatyczne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Modelowanie Kognitywne
niezawodności Z problemem jakości systemów informacyjnych wiąże się problem zapewnienia odpowiedniej niezawodności ich działania.
Dane – informacje - wiadomości Kodowanie danych i problem nadmiarowości.
4 lipca 2015 godz pok września 2015 godz pok. 212.
Powiat Górowski/ Powiatowe Centrum Doskonalenia Nauczycieli i Poradnictwa Psychologiczno-Pedagogicznego w Górze Priorytet III Wysoka jakość systemu oświaty.
Logical Framework Approach Metoda Macierzy Logicznej
BAZY DANYCH MS Access.
Metody Inteligencji Obliczeniowej
Podstawy automatyki I Wykład 1b /2016
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
KNW K Konwencjonalne oraz N Niekonwencjonalne metody W Wnioskowania.
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Metody Inteligencji Obliczeniowej Adrian Horzyk Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii.
Podstawowe rodzaje modeli rozmytych
T. 18. E Proces DGA - Działania (operatorka).
Systemy neuronowo – rozmyte
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Systemy eksperckie i sztuczna inteligencja
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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

Wszyscy się uczymy  Ucząc się zdobywamy takie umiejętności jak: mówienie, czytanie, programowanie, kierowanie samochodem czy pływanie. Uczymy się szacować wiek ludzi na podstawie ich wyglądu, nastrój na podstawie wyrazu twarzy i gestykulacji. Uogólniamy nasze obserwacje i odkrywamy zależności między nimi. Podejmujemy próby i popełniamy błędy, korygowane przez krytycznych instruktorów lub przez nas samych Całe nasze doświadczenie jest przetkane uczeniem się. Całokształt naszych cech psychicznych i intelektualnych jest wynikiem niezliczonej liczby przeplatających się procesów uczenia.

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.

Informacje trenująca cd Inny typy uczenia: Uczenie się na podstawie zapytań – informacja trenująca też pochodzi od nauczyciela, ale ma postać jedynie odpowiedzi na jawnie zadane pytanie. Nauczyciel jest tylko wyrocznią. Uczenie się przez eksperymentowanie – uczeń gromadzi doświadczenie eksperymentując ze swoim środowiskiem uczenie ze wzmocnieniem – informacje trenująca ma w tym przypadku charakter nie instruktażowy, ale wartościujący (mówi jak dobre lub złe jest jego dotychczasowe działanie)

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

Przykład indukcji

Uczenie przez wyjaśnianie

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.

Przykłady praktycznych rozwiązań Odkrywanie wiedzy w bazach danych = indukcyjne uczenie się pojęć Problemy automatycznego sterowania (modele sterowania obiektu, reprezentowanie strategii sterowania) = aproksymatory funkcji Optymalizacja rozwiązywania złożonych problemów (planowanie złożonych operacji dla inteligentnych robotów, szeregowanie zadań w procesach produkcyjnych) = EBL Oprogramowanie sterujące ruchomym robotem w celu bezkolizyjnego poruszania w zamkniętych przestrzeniach = uczenie ze wzmocnieniem

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(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)

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 – skierowany acykliczny 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?

Dokładność klasyfikacji

Szybkość klasyfikacji

Szybkość budowania modelu

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”