600 likes | 789 Views
Inteligencja Obliczeniowa Indukcja reguł - przestrzenie wersji. Wykład 24 Włodzisław Duch Uniwersytet Mikołaja Kopernika. Odkrywanie wiedzy metodami neuronowymi Stosowanie reguł Drzewa decyzji. Co było. Indukcja reguł Przestrzenie wersji. Co będzie. Uczenie się koncepcji. Przykład:
E N D
Inteligencja ObliczeniowaIndukcja reguł - przestrzenie wersji. Wykład 24 Włodzisław Duch Uniwersytet Mikołaja Kopernika
Odkrywanie wiedzy metodami neuronowymi Stosowanie reguł Drzewa decyzji Co było
Indukcja reguł Przestrzenie wersji Co będzie
Uczenie się koncepcji • Przykład: • obserwacje występowania rekacji alergicznych po zjedzeniu posiłku: Restauracja Posiłek Dzień Koszt Reakcja DS. 1 śniadanie Piątek tania Tak Kosmos lunch Piątek droga Nie DS. 1 lunch Sobota tania Tak Sedes śniadanie Niedziela tania Nie DS. 1 śniadanie Niedziela droga Nie + - + - - • W jakich warunkach pojawia się reakcja alergiczna ??
RestauracjePosiłki Dni Koszty 3 X 3 X 7 X 2 = 126 Reakcja: Restauracja X Posiłek X Dzień X Koszt ==>Tak/Nie Zadanie: sformułuj koncepcję zgodną z przypadkami pozytywnymi i negatywnymi. Problem ogólnie • Zbiór możliwych zdarzeń: • Przykład: • Na tym zbiorze zdefiniowana jest funkcja logiczna. • Przykład: • Wartości tej funkcji znane są tylko dla nielicznych kombinacji argumentów.
Mając dane przykłady + + + - + - - - Znajdź koncepcję, która pokrywa wszystkie przypadki pozytywne i żadnego negatywnego. Przykład - obrazek Mamy zbiór możliwych zdarzeń.
Metoda uczenia się koncepcji oparta na precyzowaniu wersji danej koncepcji na podstawie przykładów. Przestrzeń wersji Dane: przestrzeń hipotez H zbiór przykładów S Znajdź: wszystkie hipotezy hH zgodne z przykładami S. Przestrzeń wersji: zbiór {h} Jak to zrobić? Relacja większej ogólności: bardziej ogólna hipoteza pokrywa większy zbiór przykładów niż mniej ogólna.
Zbiór możliwych zdarzeń + + + - + - - - Niejednoznaczność problemu • Można to zrobić na wiele sposobów! • Który wybrać ?
+ - + - - Zły wybór Restauracja Posiłek Dzień Koszt Reakcja DS. 1 śniadanie Piątek tania Tak Kosmos lunch Piątek droga Nie DS. 1 lunch Sobota tania Tak Sedes śniadanie Niedziela tania Nie DS. 1 śniadanie Niedziela droga Nie • Koncepcja: • DS.1 i śniadanie i Piątek itanialub • DS.1 i lunch i sobota i tania • Nie uogólnia żadnych przykładów!
Rysunek - zły wybór • Pokrycie tylko pozytywnych przykładów. + + + - + - - - Zbiór możliwych zdarzeń
+ - + - - Inny zły wybór Restauracja Posiłek Dzień Koszt Reakcja DS. 1 śniadanie Piątek tania Tak Kosmos lunch Piątek droga Nie DS. 1 lunch Sobota tania Tak Sedes śniadanie Niedziela tania Nie DS. 1 śniadanie Niedziela droga Nie • Hipoteza: wszystko byle nie: • Kosmosilunch iPiątekidrogai • Sedes iśniadanieiNiedzielaitaniai • DS. 1iśniadanieiNiedzielaidroga
Rysunek - negatywne • Koncepcja: wszystko co nie jest złe jest dobre. + + + - + - - - Zbiór możliwych zdarzeń
Język hipotez • Język pozwalający na opis możliwych hipotez. = przestrzeń hipotez • Koncepcja - jedna z hipotez wyrażalnych w tym języku • unika się problemu konkluzji „bez sensu” • wymusza generalizację/indukcję reguł pokrywających większe obszary niż tylko dane przykłady.
Reakcje - hipotezy Restauracja Posiłek Dzień Koszt Reakcja DS. 1 śniadanie Piątek tania Tak Kosmos lunch Piątek droga Nie DS. 1 lunch Sobota tania Tak Sedes śniadanie Niedziela tania Nie DS. 1 śniadanie Niedziela droga Nie + • W tym przykładzie hipotezy to 4-ki: • najbardziej ogólna hipoteza: [ ?, ?, ?, ?] • najbardziej specyficzna, np.[Sedes, lunch, Poniedziałek, tania] • kombinacje ? i wartości, np. [DS.1, ?, ?, droga] • [ ?, lunch, ?, ?] • Hipoteza pusta (na dole = nie ma przykładów) - + - -
Zdarzenia Hipotezy Ogólne h3 x2 h2 h1 x1 Specyf. x1 = < Kosmos, lunch, Poniedz, droga> x2 = < Sedes, lunch, Niedz, tania> h1 = [?, lunch, Poniedz, ?] h2 = [?, lunch, ?, tania] h3 = [?, lunch, ?, ?] Hipotezy i zbiór możliwych zdarzeń
Możliwości języka hipotez • Koniunkcja indywidualnych własności. • Hipoteza = kompleks selektorów. • Przykład: • [?, lunch, Poniedz, ?] : Posiłek = lunch Dzień=Poniedz • [?, lunch, ?, tani] : Posiłek = lunch Koszt = tani • [?, lunch, ?, ?] : Posiłek = lunch • Dwie specjalne hipotezy: • [ ?, ?, ?, ?] : cokolwiek • : nic
Przykładyczerwony: + purpurowy : - niebieski : + dowolny-kolor kolor mieszany kolor-czysty czerwonyniebieskizielonypomarańczowypurpurowy Hierarchiczność języka hipotez • Przykład: kolory obiektów. • Język hipotez: od pojęć ogólnych do specyficznych
Uczenie koncepcji • Mając: • ZbiórXmożliwych zdarzeń: • Jedzenie: <Restauracja, Posiłek, Dzień, Koszt> Nieznaną funkcję c: X => {-, +} • np. reakcje: Jedzenie=> {-, +} • Język hipotez H • np. koniunkcje: [ ?, lunch, Poniedziałek, ?] • Zbiór przykładów treningowychD, i ich ocenyc • np. (<DS.1, lunch, Piątek, tania>,+) , … • Znajdź: • Hipotezę h wH taką by dla wszystkich x w zbiorze D: Jeśli xpokryte jest przezhc(x) = + Indukcja: jeśli działa dobrze dla dostatecznie dużej liczby przykładów to będzie działało i dla nowych.
Algorytm naiwny(Find-S) Inicjalizacja:h := Dla każdegopozytywnego przykładuxzDDo: Ifhnie pokrywax Zastąphminimalną generalizacją hpokrywającą x Returnh
Przykład 2 h = [DS.1, ?, ?,tania] h = [DS.1, śniadnie, Piątek, tania] Przykład 1 h = Początkowo Przykład alergii Restauracja Posiłek Dzień Koszt Reakcja DS. 1 śniadanie Piątek tania Tak Kosmos lunch Piątek droga Nie DS. 1 lunch Sobota tania Tak Sedes śniadanie Niedziela tania Nie DS. 1 śniadanie Niedziela droga Nie + - + - - nie ma więcej pozytywnych przykładów: return h Generalizacja = zamień coś na ? minimalna generalizacja = indywidualne zdarzenia
Bolek może być minimalnie uogólniony do koncepcji obejmującej Jasia. Własności naiwnego algorytmu • Niejednoznaczność: • Może być wiele minimalnych generalizacji: H Haker Naukowiec Piłkarz Bolek Jasiu Aleks
+ - + D : Bolek Aleks Jasiu H Haker Naukowiec Piłkarz Bolek Jasiu Aleks Złe uogólnienie ? Własności (2) • Może wybrać niewłaściwą hipotezę - nie sprawdza czy wybrana hipoteza nie może być również uogólnieniem przypadków negatywnych.
+ + - + - + D : D : Bolek Jasiu Bolek Bolek Jasiu Bolek H Naukowiec Bolek Jasiu Aleks Własności (3) • Nie wykrywa błędów w danych, np: • Nie informuje, że jezyk Hnie wystarcza by się nauczyć koncepcji.
X H h’ h Własności Find-S: • Nie musi pamiętać poprzednich przykładów. • Jeśli poprzednia hipotezahuwzględniła już pewne przypadki to jej minimalna generalizacja również. Jeśli h pokryło 20 pierwszych przypadków, to h’ również je pokrywa.
Inicjalizuj:h := [ ?, ?, .., ?] Dla każdego negatywnego przykładuxzD Do: Jeślihpokrywax Zamieńhna minmalną specjalizację hktóre nie pokrywax Returnh Algorytm specjalizujący
Restauracja Posiłek Dzień Koszt Reakcja DS. 1 śniadanie Piątek tania Tak Kosmos lunch Piątek droga Nie DS. 1 lunch Sobota tania Tak Sedes śniadanie Niedziela tania Nie DS. 1 śniadanie Niedziela droga Nie + - + - - h = [ ?, ?, ?, ?] Początkowo Przykład 1: h= [ ?, śniadanie, ?, ?] Przykład 2: h= [ DS. 1, śniadanie, ?, ?] Przykład 3: h= [ DS. 1, śniadanie, ?, tania] Przykład z alergiami:
Algorytm Przestrzeni Wersji • Połącz specjalizowanie i generalizowanie: • Generalizuj dla przykładów pozytywnych • Specjalizuj dla przykładów negatywnych • Ale: nie wybieraj jednej generalizacji lub specjalizacji w każdym kroku • tylko: pamiętaj wszystkie generalizacje i specjalizacje
G = { [ ?, ?, …, ?] } S = { } Przestrzenie wersji: inicjalizacja • PrzestrzenieGiSsą początkowo hipotezą najbardziej ogólną i hipotezą pustą. • Przykłady negatywne pozwalają na specjalizację G. • Przyłady pozytywne pozwalają na generalizację S.
G = { [ ?, ?, …, ?] } S = { } Tylko hipotezy bardziej specyficzne niż Gsą możliwe: takie, które nie pokrywają przykładów negatywnych x = przykłady negatywne • Zamień maksymalnie ogólną hipotezę (wszystko możliwe) na te specjalizacje, które nie pokrywają przypadków negatywnych. G = {h1, h2, …, hn}
G = {h1, h2, …, hn} S = {h1’, h2’, …,hm’ } S = { } Tylko hipotezy bardziej ogólne niż te wSsą możliwe: powinny pokrywać przypadki pozytywne x = przykłady pozytywne • Zamień maksymalnie szczegółową hipotezę na najmniejsze generalizacje pokrywające przykłady pozytywne.
G = {h1, h2, …, hn} G = {h1, h21, h22, …, hn} S = {h1’, h2’, …,hm’ } Tylko hipotezy bardziej specyficzne niż te w G są możliwe: takie hipotezy nie pokrywają przykładów negatywnych x = przykład negatywny • Z kolejnych węzłów, które pokrywają przykłady negatywne dokonujemy specjalizacji.
G = {h1, h21, h22, …, hn} S = {h11’, h12’, h13’, h2’, …,hm’ } S = {h1’, h2’, …,hm’ } Tylko hipotezy bardziej ogólne niż te wSsą możliwe: powinny pokrywać przypadki pozytywne. x = przykład pozytywny • Zamieniamy hipotezy z S na wszystkie minimalne genralizacje, które pokrywają następne przypadki pozytywne.
G = {h1, h21, …, hn} S = {h1’, h2’, …,hm’ } Optymalizacja dla negatywnych • Mając przykład negatywny dokonuj specjalizacji, ale rozważaj tylko te hipotezy z G, które są bardziej ogólne niż specyficzne hipotezy z S … są bardziej ogólne niż ...
G = {h1, h21, h22, …, hn} S = {h13’, h2’, …,hm’ } Optymalizacja dla pozytywnych • Mając przykład pozytywny rozważaj tylko te generalizacje elemenów S, które są nadal bardziej specyficzne niż hipotezy ogólne zG. … jest bardziej specyficzna niż ...
G = {h1, h21, …, hn} Uwzględnij ostatni przykład negatywny! S = {h1’, h3’, …,hm’ } Obcinanie: przykłady negatywne • Nowy przykład negatywny można również użyć do wycieciawszystkich hipotez z S, które pokrywają ten przykład negatywny.
G = {h1, h21, …, hn} Węzły, które nie pokrywają nowego pozytywnego przykładu. S = {h1’, h3’, …,hm’ } Obcinanie: przykłady pozytywne • Nowy przykład pozytywny można użyć do przycinania hipotez z Gnie pokrywających tego przykładu.
G = {h1, h21, …, hn} S = {h1’, h3’, …,hm’ } Dlaczego?Nic powyżej Gnie jest dopuszczalne. Najbardziej ogólne hipotezy zGdefiniują prawdziwą granicę. Usuń zbędne hipotezy • Jeśli jakaś hipoteza zGjest bardziej specyficzna od innej hipotezy zGmożna ją wyeliminować! Podobnie jest dlaS Bardziej specyficzna niż inna, ogólna hipoteza
G = {h1, h21, h22, …, hn} S = {h13’, h2’, …,hm’ } Konwergencja: • JeśliGiSmają wspólny element, toPrzestrzeń Wersjizbiegła się do jednego rozwiązania. • Należy sprawdzić, czy jest ono zgodne z wszystkimi znanymi przykładami.
Max. ogólne [ ?, ?, ?, ?] Max. specyficzne Przykład z reakcjami • Inicjalizacja
[ ?, ?, ?, ?] [DS.1, śniadanie, Piątek, tania] x= [DS.1, śniadanie, Piątek, tania]: + • Przykład pozytywny: minimalna generalizacja
[DS.1, ?, ?, ?] [Kosmos, ?, ?, ?] [Sedes, ?, ?, ?] [?, śniadanie, ?, ?] [?, lunch, ?, ?] [?, obiad, ?, ?] [?, ?, poniedziałek, ?] [?, ?, wtorek, ?] [?, ?, środa, ?] [?, ?, czwartek, ?] [?, ?, piątek, ?] [?, ?, sobota, ?] [?, ?, niedziela, ?] [?, ?, ?, tania] [?, ?, ?, droga] Pasuje do negatywnego przykładu X Nie uogólnia specyficznego modelu X X X X X Pozostają X X X Specyficzny model: [DS.1, śniadanie, piątek, tanie] X X X x=[Kosmos, lunch, piątek, droga]: - • Przykład negatywny: minimalna specjalizacja możliwa na 15 sposobów !!
[ ?, ?, ?, ?] [DS.1, ?, ?, ?] [?, śniadanie, ?, ?] [?, ?, ?, tania] [DS.1, śniadanie, piątek, tanie] Po drugim przykładzie
[DS.1, ?, ?, ?] [?, śniadanie, ?, ?] [?, ?, ?, tania] nie pasuje do nowego przykładu [DS.1, ? , ? , tania] [DS.1, śniadanie, piątek, tania] x = [DS.1, lunch, sobota, tania]: + • Przykład pozytywny: minimalna generalizacja modeli szczegółowych.
[?, ?, ?, tania] [DS.1, ?, ?, ?] [DS.1, ?, ?, tania] [DS.1, ? , ? , tania] x = [Sedes, śniadanie, niedziela, tania]: - • Minimalna specjalizacja modelu ogólnego: Jedna specjalizacja jest od razu usuwana bo jest bardziej specyficzna niż inna hipoteza ogólna.
[DS.1, ?, ?, ?] [DS.1, ?, ?, tania] Ta sama hipoteza!!! [DS.1, ? , ? , tania] [DS.1, śniadanie, niedziela, droga]: - • Przykład negatywny: minimalnaspecjalizacja Tanie jedzenie w DS.1 wywołuje alergiczne reakcje!
Algorytm Przestrzeni Wersji Inicjalizacja: G := { hipoteza maksymalnie ogólna} S := {} Dla każdego nowego przykładupozytywnego: Uogólniajhipotezy zSktóre nie pokrywają tego przypadku, ale pamiętaj by: - Wprowadzać tylko zmiany minimalne do hipotez. - Każda nowa hipoteza szczegółowa była specjalizacją jakiejś hipotezy ogólnej. - Żadna nowa hipoteza szczegółowa nie była generalizacją innej hipotezy szczegółowej. Wytnijwszystkie hipotezy z Gktóre nie pokrywają danego przykładu.
Algorytm Przestrzeni Wersji (2) Dla każdego nowego przypadkunegatywnego: Specjalizujhipotezy z Gpokrywające ten przypadek, ale pamiętaj by: - Wprowadzać tylko zmiany minimalne do hipotez. - Każda nowa hipoteza ogólna była generalizacją jakiejś specyficznej hipotezy. - Żadna nowa hipoteza ogólna nie była specjalizacją jakiejś innej hipotezy ogólnej. Wytnijwszystkie hipotezy zSktóre pokrywają ten przypadek. Do zakończenia prezentacji danych:wypiszSiG lub jeśliSlubGbędzie puste: klęska!
Szum w danych: • PWnie radzą sobie z szumem. • Jeśli przez pomyłkę przypadek pozytywnypojawi się jako negatywny PW może wyeliminować właściwą hipotezę z przestrzeni hipotez G ! WłasnościPW • Symetria: • przypadki pozytywne i negatywne traktowane są symetrycznie, w dualny sposób. • Nie musi pamiętać poprzednich przypadków.
[DS.1, ?, ?, ?] [?, ?, poniedziałek,?] [DS.1, ?, ?, tania] [DS.1, ?, poniedz, ?] [?, ?, poniedz, tania] [DS.1, ?, poniedziałek, tania] Kryterium stopu • Jeśli algorytm PW zatrzyma się z braku danych To wszystkie hipotezy końcowe i pośrednie są nadal poprawnym, uzasadnionym opisem danych.
Dane treningowe nie są spójne (szum, błędy?) lub: • Hipoteza nie daje się wyrazić w języku H. Stop (2) • Jeśli stop ponieważSlubG jest puste to: • Przykład: • szukana hipoteza: • dane przykłady: [DS.1, śniadanie, ?, tania] [DS.1, lunch, ?, tania] <DS.1, obiad, niedziela, tania> - < DS.1, śniadanie, niedziela, tania> + < DS.1, lunch, niedziela, tania> +