Inteligencja Obliczeniowa Indukcja reguł - przestrzenie wersji. Wykład 24 Włodzisław Duch Uniwersytet Mikołaja Kopernika
Co było Odkrywanie wiedzy metodami neuronowymi Stosowanie reguł Drzewa decyzji
Co będzie Indukcja reguł Przestrzenie wersji
Uczenie się koncepcji Przykład: –obserwacje występowania rekacji alergicznych po zjedzeniu posiłku: RestauracjaPosiłekDzieńKoszt Reakcja DS. 1śniadaniePiątektaniaTak KosmoslunchPiątek drogaNie DS. 1lunchSobotatania Tak Sedesśniadanie NiedzielataniaNie DS. 1śniadanie Niedziela drogaNie –W jakich warunkach pojawia się reakcja alergiczna ??
Problem ogólnie Zbiór możliwych zdarzeń: – Przykład: RestauracjePosiłkiDni Koszty 3 X 3 X 7 X 2 = 126 Reakcja: Restauracja X Posiłek X Dzień X Koszt ==> Tak/Nie Na tym zbiorze zdefiniowana jest funkcja logiczna. – Przykład: Zadanie: sformułuj koncepcję zgodną z przypadkami pozytywnymi i negatywnymi. Wartości tej funkcji znane są tylko dla nielicznych kombinacji argumentów.
Przykład - obrazek Mamy zbiór możliwych zdarzeń. Mając dane przykłady Znajdź koncepcję, która pokrywa wszystkie przypadki pozytywne i żadnego negatywnego.
Przestrzeń wersji Metoda uczenia się koncepcji oparta na precyzowaniu wersji danej koncepcji na podstawie przykładów. Dane: przestrzeń hipotez H zbiór przykładów S Znajdź: wszystkie hipotezy h H 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.
Niejednoznaczność problemu Można to zrobić na wiele sposobów! Zbiór możliwych zdarzeń Który wybrać ?
Zły wybór Koncepcja: – DS.1 i śniadanie i Piątek i tania lub –DS.1 i lunch i sobota i tania Nie uogólnia żadnych przykładów! RestauracjaPosiłekDzieńKoszt Reakcja DS. 1śniadaniePiątektaniaTak KosmoslunchPiątek drogaNie DS. 1lunchSobotatania Tak Sedesśniadanie NiedzielataniaNie DS. 1śniadanie Niedziela drogaNie
Rysunek - zły wybór Pokrycie tylko pozytywnych przykładów. Zbiór możliwych zdarzeń
Inny zły wybór Hipoteza: wszystko byle nie: –Kosmos i lunch i Piątek i droga i – Sedes i śniadanie i Niedziela i tania i – DS. 1 i śniadanie i Niedziela i droga RestauracjaPosiłekDzieńKoszt Reakcja DS. 1śniadaniePiątektaniaTak KosmoslunchPiątek drogaNie DS. 1lunchSobotatania Tak Sedesśniadanie NiedzielataniaNie DS. 1śniadanie Niedziela drogaNie
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 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) RestauracjaPosiłekDzieńKoszt Reakcja DS. 1śniadaniePiątektaniaTak KosmoslunchPiątek drogaNie DS. 1lunchSobotatania Tak Sedesśniadanie NiedzielataniaNie DS. 1śniadanie Niedziela drogaNie
Hipotezy i zbiór możliwych zdarzeń Zdarzenia x2 x1 x1 = x2 = h1 = [?, lunch, Poniedz, ?] h2 = [?, lunch, ?, tania] h3 = [?, lunch, ?, ?] Ogólne Specyf. Hipotezyh2 h3 h1
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 Możliwości języka hipotez Koniunkcja indywidualnych własności. Hipoteza = kompleks selektorów.
Hierarchiczność języka hipotez Przykład: kolory obiektów. czerwony : + Przykłady czerwony : + purpurowy : - niebieski : + dowolny-kolor kolor-czysty kolor mieszany czerwony niebieski zielony pomarańczowy purpurowy Język hipotez: od pojęć ogólnych do specyficznych
Uczenie koncepcji Mając: Zbiór X możliwych zdarzeń: Jedzenie: Nieznaną funkcję c: X => {, +} np. reakcje: Jedzenie => {, +} Język hipotez H np. koniunkcje: [ ?, lunch, Poniedziałek, ?] Zbiór przykładów treningowych D, i ich oceny c np. (,+), … Znajdź: Hipotezę h w H taką by dla wszystkich x w zbiorze D:Jeśli x pokryte jest przez h c(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 := Inicjalizacja: h := Dla każdego pozytywnego przykładu x z D Do: If h nie pokrywa x Zastąp h minimalną generalizacją h pokrywającą x Return h
Przykład alergii Początkowo h = h = Przykład 1 h = [DS.1, śniadnie, Piątek, tania] minimalna generalizacja = indywidualne zdarzenia Przykład 2 h = [DS.1, ?, ?,tania] Generalizacja = zamień coś na ? nie ma więcej pozytywnych przykładów: return h RestauracjaPosiłekDzieńKoszt Reakcja DS. 1śniadaniePiątektaniaTak KosmoslunchPiątek drogaNie DS. 1lunchSobotatania Tak Sedesśniadanie NiedzielataniaNie DS. 1śniadanie Niedziela drogaNie
Własności naiwnego algorytmu Bolek Jasiu Aleks HakerNaukowiecPiłkarz H Niejednoznaczność: – Może być wiele minimalnych generalizacji: Bolek może być minimalnie uogólniony do koncepcji obejmującej Jasia.
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 : Bolek Aleks Jasiu +-+ BolekJasiuAleks HakerNaukowiecPiłkarz H Złe uogólnienie ?
Własności (3) Nie wykrywa błędów w danych, np: D : BolekJasiuBolek ++- JasiuAleks Naukowiec HBolek Nie informuje, że jezyk H nie wystarcza by się nauczyć koncepcji. D : BolekJasiuBolek +-+
Własności Find-S: Nie musi pamiętać poprzednich przykładów. Jeśli h pokryło 20 pierwszych przypadków, to h również je pokrywa. h XH –Jeśli poprzednia hipoteza h uwzględniła już pewne przypadki to jej minimalna generalizacja również. h
Algorytm specjalizujący Inicjalizuj: h := [ ?, ?,.., ?] Dla każdego negatywnego przykładu x z D Do: Jeśli h pokrywa x Zamień h na minmalną specjalizację h które nie pokrywa x Return h
Przykład z alergiami: RestauracjaPosiłekDzieńKoszt Reakcja DS. 1śniadaniePiątektaniaTak KosmoslunchPiątek drogaNie DS. 1lunchSobotatania Tak Sedesśniadanie NiedzielataniaNie DS. 1śniadanie Niedziela drogaNie Początkowo h = [ ?, ?, ?, ?] Przykład 1: h= [ ?, śniadanie, ?, ?] Przykład 2: h= [ DS. 1, śniadanie, ?, ?] Przykład 3: h= [ DS. 1, śniadanie, ?, tania]
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
Przestrzenie wersji: inicjalizacja Przestrzenie G i S są 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 = { }
x = przykłady negatywne Zamień maksymalnie ogólną hipotezę (wszystko możliwe) na te specjalizacje, które nie pokrywają przypadków negatywnych. Tylko hipotezy bardziej specyficzne niż G są możliwe: takie, które nie pokrywają przykładów negatywnych S = { } G = { [ ?, ?, …, ?] } G = {h1, h2, …, hn}
x = przykłady pozytywne Zamień maksymalnie szczegółową hipotezę na najmniejsze generalizacje pokrywające przykłady pozytywne. Tylko hipotezy bardziej ogólne niż te w S są możliwe: powinny pokrywać przypadki pozytywne G = {h1, h2, …, hn} S = { } S = {h1, h2, …,hm }
x = przykład negatywny Z kolejnych węzłów, które pokrywają przykłady negatywne dokonujemy specjalizacji. Tylko hipotezy bardziej specyficzne niż te w G są możliwe: takie hipotezy nie pokrywają przykładów negatywnych S = {h1, h2, …,hm } G = {h1, h2, …, hn} G = {h1, h21, h22, …, hn}
x = przykład pozytywny Zamieniamy hipotezy z S na wszystkie minimalne genralizacje, które pokrywają następne przypadki pozytywne. Tylko hipotezy bardziej ogólne niż te w S są możliwe: powinny pokrywać przypadki pozytywne. G = {h1, h21, h22, …, hn} S = { h1, h2, …,hm } S = { h11, h12, h13, 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 G = {h1, h21, …, hn} S = { h1, h2, …,hm } … są bardziej ogólne niż...
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 z G. G = {h1, h21, h22, …, hn} S = { h13, h2, …,hm } … jest bardziej specyficzna niż...
Obcinanie: przykłady negatywne Nowy przykład negatywny można również użyć do wyciecia wszystkich hipotez z S, które pokrywają ten przykład negatywny. G = {h1, h21, …, hn} S = { h1, h3, …,hm } Uwzględnij ostatni przykład negatywny!
Obcinanie: przykłady pozytywne Nowy przykład pozytywny można użyć do przycinania hipotez z G nie pokrywających tego przykładu. G = {h1, h21, …, hn} S = { h1, h3, …,hm } Węzły, które nie pokrywają nowego pozytywnego przykładu.
Usuń zbędne hipotezy Jeśli jakaś hipoteza z G jest bardziej specyficzna od innej hipotezy z G można ją wyeliminować! G = {h1, h21, …, hn} S = {h1, h3, …,hm } Bardziej specyficzna niż inna, ogólna hipoteza Dlaczego? Nic powyżej G nie jest dopuszczalne. Najbardziej ogólne hipotezy z G definiują prawdziwą granicę. Podobnie jest dla S
Konwergencja: Jeśli G i S mają wspólny element, to Przestrzeń Wersji zbiegła się do jednego rozwiązania. Należy sprawdzić, czy jest ono zgodne z wszystkimi znanymi przykładami. G = {h1, h21, h22, …, hn} S = {h13, h2, …,hm }
Przykład z reakcjami Inicjalizacja [ ?, ?, ?, ?] Max.ogólne Max.specyficzne
x= [DS.1, śniadanie, Piątek, tania]: + Przykład pozytywny: minimalna generalizacja [ ?, ?, ?, ?] [] [DS.1, śniadanie, Piątek, tania]
x=[Kosmos, lunch, piątek, droga]: - Przykład negatywny: minimalna specjalizacja możliwa na 15 sposobów !! [DS.1, ?, ?, ?] [Kosmos, ?, ?, ?] [Sedes, ?, ?, ?] [?, śniadanie, ?, ?] [?, lunch, ?, ?] [?, obiad, ?, ?] [?, ?, poniedziałek, ?] [?, ?, wtorek, ?] [?, ?, środa, ?] [?, ?, czwartek, ?] [?, ?, piątek, ?] [?, ?, sobota, ?] [?, ?, niedziela, ?] [?, ?, ?, tania] [?, ?, ?, droga] Pasuje do negatywnego przykładu X X X X Nie uogólnia specyficznego modelu Specyficzny model: [DS.1, śniadanie, piątek, tanie] X X X X X X X X Pozostają
Po drugim przykładzie [ ?, ?, ?, ?] [DS.1, śniadanie, piątek, tanie] [DS.1, ?, ?, ?] [?, śniadanie, ?, ?] [?, ?, ?, tania]
x = [DS.1, lunch, sobota, tania]: + Przykład pozytywny: minimalna generalizacja modeli szczegółowych. [DS.1, śniadanie, piątek, tania] [DS.1, ?, ?, ?] [?, śniadanie, ?, ?] [?, ?, ?, tania] [DS.1, ?, ?, tania] nie pasuje do nowego przykładu
x = [Sedes, śniadanie, niedziela, tania]: - Minimalna specjalizacja modelu ogólnego: [DS.1, ?, ?, ?] [?, ?, ?, tania] [DS.1, ?, ?, tania] Jedna specjalizacja jest od razu usuwana bo jest bardziej specyficzna niż inna hipoteza ogólna.
[DS.1, śniadanie, niedziela, droga]: - Przykład negatywny: minimalna specjalizacja [DS.1, ?, ?, ?] [DS.1, ?, ?, tania] Ta sama hipoteza!!! Tanie jedzenie w DS.1 wywołuje alergiczne reakcje!
Algorytm Przestrzeni Wersji Inicjalizacja: G := { hipoteza maksymalnie ogólna} S := { } S := { } Dla każdego nowego przykładu pozytywnego: Uogólniaj hipotezy z S które nie pokrywają tego przypadku, ale pamiętaj by: - Wprowadzać tylko zmiany minimalne do hipotez. - Wprowadzać tylko zmiany minimalne do hipotez. - Każda nowa hipoteza szczegółowa była - Każda nowa hipoteza szczegółowa była specjalizacją jakiejś hipotezy ogólnej. specjalizacją jakiejś hipotezy ogólnej. - Żadna nowa hipoteza szczegółowa nie - Żadna nowa hipoteza szczegółowa nie była generalizacją innej hipotezy szczegółowej. była generalizacją innej hipotezy szczegółowej. Wytnij wszystkie hipotezy z G które nie pokrywają danego przykładu.
Algorytm Przestrzeni Wersji (2) Dla każdego nowego przypadku negatywnego: Specjalizuj hipotezy z G pokrywające ten przypadek, ale pamiętaj by: ale pamiętaj by: - Wprowadzać tylko zmiany minimalne do hipotez. - Wprowadzać tylko zmiany minimalne do hipotez. - Każda nowa hipoteza ogólna była generalizacją - Każda nowa hipoteza ogólna była generalizacją jakiejś specyficznej hipotezy. jakiejś specyficznej hipotezy. - Żadna nowa hipoteza ogólna nie była specjalizacją - Żadna nowa hipoteza ogólna nie była specjalizacją jakiejś innej hipotezy ogólnej. jakiejś innej hipotezy ogólnej. Wytnij wszystkie hipotezy z S które pokrywają ten przypadek. Do zakończenia prezentacji danych: wypisz S i G lub jeśli S lub G będzie puste: klęska!
Własności PW Symetria: –przypadki pozytywne i negatywne traktowane są symetrycznie, w dualny sposób. Nie musi pamiętać poprzednich przypadków. Szum w danych: – PW nie 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 !
Kryterium stopu Jeśli algorytm PW zatrzyma się z braku danych [DS.1, ?, ?, ?] [?, ?, poniedziałek,?] [DS.1, ?, poniedziałek, tania] [DS.1, ?, ?, tania] [?, ?, poniedz, tania] [DS.1, ?, poniedz, ?] To wszystkie hipotezy końcowe i pośrednie są nadal poprawnym, uzasadnionym opisem danych.
Stop (2) Jeśli stop ponieważ S lub G jest puste to: Dane treningowe nie są spójne (szum, błędy?) lub: Hipoteza nie daje się wyrazić w języku H. [DS.1, śniadanie, ?, tania] [DS.1, lunch, ?, tania] Przykład: – szukana hipoteza: – dane przykłady:
Który przykład ? PW może zadecydować, który przykład będzie najbardziej użyteczny, domagając się określonych informacji. [DS.1, ?, ?, ?] [?, ?, poniedz, ?] [DS.1, ?, poniedz, tania] [DS.1, ?, ?, tania] [?, ?, poniedz, tania] [DS.1, ?, poniedz, ?] ocena negatywna - 3 hipotezy ocena pozytywna - 3 hipotezy przykład niosący najwięcej informacji
Hipotezy częściowo nauczone Przykład: [DS.1, ?, ?, ?] [?, ?, poniedz,?] [DS.1, ?, poniedz, tania] [DS.1, ?, ?, tania] [?, ?, poniedz, tania] [DS.1, ?, poniedz, ?] może być sklasyfikowany jako pozytywny jest zgodny ze wszystkimi poprzednimi hipotezami. Wystarczy sprawdzić, czy jest zgodny z hipotezami S ! Pozostałe są ich uogólnieniami.
Częściowo nauczone (2) Przykład: [DS.1, ?, ?, ?] [?, ?, poniedz,?] [DS.1, ?, poniedz, tania] [DS.1, ?, ?, tania] [?, ?, poniedz, tania] [DS.1, ?, poniedz, ?] może być sklasyfikowany negatywnie nie jest pokrywany przez pozostałe hipotezy ogólne Wystarczy sprawdzić, że nie jest pokrywany przez żadną hipotezę ogólną z G ! Pozstałe są ich specjalizacjami.
Częściowo nauczone (3) Przykład: [DS.1, ?, ?, ?] [?, ?, poniedz,?] [DS.1, ?, poniedz, tania] [DS.1, ?, ?, tania] [?, ?, poniedz, tania] [DS.1, ?, poniedz, ?] nie może być sklasyfikowany jest zgodny z 3, niezgodny z 3 hipotezami nie wiadomo nie wiadomo
Częściowo nauczone (4) Przykład: [DS.1, ?, ?, ?] [?, ?, poniedz,?] [DS.1, ?, poniedz, tania] [DS.1, ?, ?, tania] [?, ?, poniedz, tania] [DS.1, ?, poniedz, ?] Szansa 1:6, że należy do koncepcji + klasyfikacja częściowa jest możliwa zgodny z 1, niezgodny z 5 hipotezami
Obciążenie (bias) - wybór H Język hipotez H nie potrafi wyrazić niektórych koncepcji. –Np. koniunkcji dwóch hipotez: [DS.1, śniadanie, ?, tania] [DS.1, lunch, ?, tania] Język bardziej ekspresywny H –koniunkcje (jak poprzednio) –oraz alternatywy i negacje Przykład: –Restauracja = DS.1 ~(Dzień = poniedz)
Obciążenie (2) H pozwala wyrazić dowolny podzbiór zdarzeń z przestrzeni X RestauracjaPosiłekDzieńKoszt 3 X 3 X 7 X 2 = 126 W naszym przykładzie X ma 126 elementów. Istnieje możliwych hipotez! Trudno o efektywny algorytm; jeszcze gorzej dla pełnej logiki pierwszego rzędu.
Obciążenie (3) Przestrzenie wersji z H RestauracjaPosiłekDzieńKoszt Reakcja DS. 1 śniadaniepiątektania Tak De Moetelunchpiątek drogaNie DS. 1 lunchsobotataniaTak SedesśniadanieniedzielataniaNie DS. 1 śniadanieniedzieladrogaNie ? {~[Kosmos. Lunch, piątek, droga] ~[Sedes, śniadanie, niedziela, tania]} {~[Kosmos. Lunch, piątek, droga] ~[Sedes, śniadanie, niedziela, tania] ~[DS. 1, śniadanie, niedziela, droga]} ~[DS. 1, śniadanie, niedziela, droga]} {~[Kosmos, Lunch, piątek, droga]} {[DS. 1, śniadanie, piątek, tania] [DS. 1, lunch, sobota, tania]} {[DS. 1, śniadanie, piątek, tania]}
Uczenie z językiem H Przestrzenie wersji G = {~[Kosmos. Lunch, piątek, droga] ~[Sedes, śniadanie, niedziela, tania] ~[Sedes, śniadanie, niedziela, tania] ~[DS. 1, śniadanie, niedziela, droga]} ~[DS. 1, śniadanie, niedziela, droga]} S = {[DS. 1, śniadanie, piątek, tania] [DS. 1, lunch, Saturday, tania]} [DS. 1, lunch, Saturday, tania]} PW nie nauczyła się niczego nowego –hipotezy zapisują tylko przypadki pozytywne i negatywne! Uczenie wymaga założeń, indukcyjnego obciążenia, np: –poszukiwaną koncepcję wyrazić można w postaci kompleksu selektorów (koniukcji cech)
Koniec wykładu 24 Dobra jeszcze nie noc !