Logika Stosowana Wykład 10 - Wnioskowanie indukcyjne Część 3 Indukcja reguł i ILP Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27
Plan wykładu 1 Wydobywanie reguł z danych Reguły decyzyjne Reguły asocjacyjne 2 ILP - Inductive Logic Programming Marcin Szczuka (MIMUW) Logika Stosowana 2017 2 / 27
Zadanie wyuczania się reguł Indukcyjne wyszukiwanie reguł na podstawie posiadanych danych jest jednym z najczęściej stosowanych podejść w takich dziedzinach jak systemy uczące się (Machine Learning) i eksploracja danych (Data Mining). Reguły są popularnym sposobem reprezentacji wiedzy wydobytej z danych ze względu na swoją czytelności bezpośrednie powiązanie z intuicjami. Niestety, wydobycie dobrej reguły lub zbioru reguł z danych nie jest proste, ze względu na duży koszt obliczeniowy i pamięciowy. Rozważane przez nas reguły będą postaci: IF warunki THEN wniosek co zwykle będziemy reprezentować jako: warunki wniosek Marcin Szczuka (MIMUW) Logika Stosowana 2017 3 / 27
Rodzaje reguł Wśród reguł, jakie możemy wydobyć (wyuczyć) z danych, wyróżniamy kilka rodzajów. W dalszej części wykładu omówimy dwa przypadki szczególne, reguły decyzyjne i reguły asocjacyjne. Reguły decyzyjne W przypadku danych zadanych przez tablicę (system informacyjny) z wyróżnionym atrybutem decyzyjnym interesują nas reguły postaci: warunki decyzja Na przykład (patrz tabelka z poprzedniego wykładu): (Temp = hot) & (Humid=high) (EnjoySpt=no) Zgodnie z postulatami Ryszarda Michalskiego, interesuje nas znajdowanie reguł, które są zgodne z danymi, kompletne, łatwe do wyliczenia (przy stosowaniu) i zrozumiałe. Marcin Szczuka (MIMUW) Logika Stosowana 2017 4 / 27
Plan wykładu 1 Wydobywanie reguł z danych Reguły decyzyjne Reguły asocjacyjne 2 ILP - Inductive Logic Programming Marcin Szczuka (MIMUW) Logika Stosowana 2017 5 / 27
Generowanie reguł decyzyjnych Procedura generowania reguł decyzyjnych dla zadanego zbioru treningowego T powinna spełniać następujące warunki: 1 Generować reguły, które mają wysokie wsparcie (support). Liczba przykładów spełniających warunki w poprzedniku reguły powinna stanowić istotny odsetek całej znanej populacji (całego T ). 2 Generować reguły, które mają wysoki stopień ufności (confidence). Liczba przykładów w spełniających warunki w poprzedniku i następniku (zgodna decyzja) reguły powinna stanowić istotny odsetek przykładów spełniających warunki w poprzedniku. 3 Generować jak najprostsze i najogólniejsze reguły. Interesują nas krótkie, proste reguły (mało warunków w poprzedniku), które mają wysokie wsparcie i zaufanie. 4 Generować możliwie najmniejszy zbiór reguł, które wspólnie pokrywają wszystkie przypadki występujące w T. Marcin Szczuka (MIMUW) Logika Stosowana 2017 6 / 27
Algorytmy generowania zbioru reguł Najczęściej stosowanym podejściem do generowania reguł decyzyjnych jest metoda oddziel i rządź. Zarys metody zupełnej oddziel i rządź Dany jest zbiór przykładów treningowych T. 1 Znajdź jedną regułę, która dobrze (najlepiej) pasuje do aktualnych danych treningowych. 2 Usuń z T wszystkie przykłady pokrywane (pasujące do poprzednika) przez skonstruowaną regułę. 3 Jeżeli T, powtórz od początku. W praktyce warunek stopu w punkcie 3 jest często osłabiany, aby zapobiec generowaniu słabych szczątkowych reguł w ostatnich krokach procedury. Mówimy wtedy o pragmatycznej metodzie oddziel i rządź. Technikę opartą na podejściu oddziel i rządź nazywa się także metodą pokryciową generowania reguł decyzyjnych. Marcin Szczuka (MIMUW) Logika Stosowana 2017 7 / 27
Znajdowanie dobrych reguł W procedurze z poprzedniego slajdu główna trudności leży we właściwym wykonaniu kroku 1 (generowanie reguły). Przez lata badacze dopracowali się wielu praktycznych i skutecznych algorytmów generowania reguł. Zagadnienie szukania najlepszej reguły jest zwykle przedstawiane jako zadnie przeszukiwania przestrzeni możliwych rozwiązań. Wyróżniamy tu kilka podejść: Metody od ogółu do szczegółu (general-to-specific search), np. algorytmy CN2 i PRISM. Metody od ogółu do szczegółu w zadanym kierunku (directional general-to-specific search), np. rodzina algorytmów AQ. Metody wyszukiwania z przycinaniem (pruned search), np. algorytm RIPPER. Metody redukcyjne (reduct based) rodem z teorii zbiorów przybliżonych - np. LEM2. Metody przeszukiwania ewolucyjnego takie jak algorytmy genetyczne, mrówkowe, rojowe et consortes. Marcin Szczuka (MIMUW) Logika Stosowana 2017 8 / 27
Rozstrzyganie konfliktów Gdy przychodzi do stosowania reguł wyuczonych z danych dla nowych, wcześniej nie widzianych przypadków, możemy się spotkać z sytuacją, w której dwie reguła stosują sie do niego, ale wskazują na rożne (sprzeczne) decyzje. Mówimy wtedy o konflikcie. Najczęściej stosowane podejścia do zagadnienia konfliktów: Wprowadzenie preferencji. Niektóre reguły są preferowane ze względu na wskazywaną klasę decyzyjną, ogólność/sczegółowość, łatwość wyliczania, stosowalność, intuicyjność, itp. Część algorytmów znajdujących reguły jest zdolna nadawać preferencje regułom w trakcie ich konstruowania. Głosowanie. Reguły stosujące się do danego przypadku oddają głosy na poszczególne wartości decyzji. Głosowanie może być proste (jedna reguła jeden głos) lub ważone za pomocą wartości różnych numerycznych charakterystyk dla poszczególnych reguł. Modyfikacja zbioru reguł. Przeważnie kosztowna i skomplikowana. Polega na badaniu podzbiorów reguł w celu eliminacji potencjalnych konfliktów. Marcin Szczuka (MIMUW) Logika Stosowana 2017 9 / 27
Plan wykładu 1 Wydobywanie reguł z danych Reguły decyzyjne Reguły asocjacyjne 2 ILP - Inductive Logic Programming Marcin Szczuka (MIMUW) Logika Stosowana 2017 10 / 27
Reguły asocjacyjne Dziedzina eksploracji danych, szczególnie w swoich początkach, często była utożsamiana z wyliczaniem reguł asocjacyjnych (skojarzeniowych). Tym razem nie mamy wyróżnionego atrybutu decyzyjnego. Dla uproszczenia przyjmiemy, że wszystkie atrybuty (cechy, kolumny) w danych są binarne, tzn. reprezentują występowanie jakiejś cechy (lub jej brak) w badanym obiekcie. Często używa się terminologii rodem z analizy koszykowej, w której występowanie poszczególnych cech (wartość 1 atrybutu) utożsamia się z występowaniem produktu (item). Reguły asocjacyjne Reguła asocjacyjna to wyrażenie typu p q, gdzie p, q są zbiorami (występujących) atrybutów (itemsets) tj. koniunkcjami warunków (literałów) odpowiadających atrybutom. Na przykład: (Status Open = Y es) (Gender Male = Y es) (Age Y oung = Y es) (Active = Y es) (ClientT ype N = Y es) Marcin Szczuka (MIMUW) Logika Stosowana 2017 11 / 27
Częste wzorce i reguły W praktycznych zastosowaniach nie możemy sobie pozwolić na żadne skomplikowane metody znajdowania reguł. Zgrubne oszacowanie pokazuje, że dla n atrybutów może teoretycznie istnieć O(3 n ) reguł. Trochę bardzie rzeczywiste oszacowanie O(n 2 n 1 ) też niewiele pomaga, bo z założenia chcemy się zajmować dużymi zbiorami danych. W większości praktycznych algorytmów znajdowania reguł asocjacyjnych proces ten składa się z dwóch kroków: 1 Znajdź zbiór częstych wzorców (frequent itemsets) dla tablicy danych (transakcji). 2 Na podstawie zbioru częstych wzorców wyznacz zbiór dobrych reguł asocjacyjnych. Częsty wzorzec (frequent itemset) można rozumieć jako regułę asocjacyjną bez następnika, tj. koniunkcję warunków na występowanie atrybutów (items). Marcin Szczuka (MIMUW) Logika Stosowana 2017 12 / 27
Znajdowanie częstych wzorców Interesuje nas znalezienie rodziny częstych wzorców, czyli takich które mają wsparcie (support) powyżej ustalonego progu min_supp. Ponieważ chcemy minimalizować liczbę kroków i częstość sięgania do danych które mogą być olbrzymie, staramy się jak najoszczędniej gospodarować zasobami. Najbardziej znany algorytm znajdowania wzorców Apriori wykorzystuje w tym celu tzw. podejście kaskadowe. Apriori bazuje na pewnej bardzo ważnej obserwacji: Każdy podwzorzec częstego wzorca jest częsty. W algorytmie Apriori najpierw wyznacza się bezpośrednio z danych zbiór częstych 1-wzorców i 2-wzorców, a następnie sprytnie wykorzystując powyższą własność tworzy się kandydatów na dłuższe częste wzorce z wcześniej wyznaczonych krótszych. Na koniec sumuje się zbiory uzyskane w kolejnych krokach otrzymując ostateczny wynik. Marcin Szczuka (MIMUW) Logika Stosowana 2017 13 / 27
Generowanie reguł z wzorców W generowaniu częstych wzorców chcieliśmy by poziom wsparcia był powyżej założonego min_supp. W generowaniu reguł będziemy wymagali by poziom zaufania (confidence) dla tworzonej reguły był powyżej założonego progu min_conf. Poziom zaufania dla reguły jest wyznaczony przez stosunek liczby obiektów w danych, które spełniają regułę do liczby obiektów, które spełniają następnik. Czyli dla reguły p q liczymy ile obiektów pasuje do wzorca p q i dzielimy przez liczbę spełniających p. Mając dany częsty wzorzec s możemy z niego uzyskać 2 s 1 rożnych reguł, ale nie wszystkie warto badać. Dla efektywnego wyznaczania reguł ponownie posłużymy się podejściem kaskadowym (Apriori). Tym razem jednak skorzystamy z następującej własności. Każda podreguła reguły akceptowalnej o tym samym poprzedniku, a krótszym następniku jest akceptowalna. Oznacza to, że jeśli reguła która ma taki sam poprzednik a krótszy (ale tożsamy) następnik nie przekracza progu min_conf, to dłuższa reguła nie może być akceptowalna. Marcin Szczuka (MIMUW) Logika Stosowana 2017 14 / 27
Inne metody wyznaczania reguł Ponieważ wyznaczanie reguł asocjacyjnych jest bardzo istotną częścią współczesnej analizy danych (Data Science) rozwinięto wiele algorytmów, które pozwalają je efektywnie wyliczać. Oryginalny algorytm Apriori Agrawala został rozszerzony na na bardziej skomplikowane (niebinarne) typy atrybutów, a także uzupełniony o metody radzenia sobie z danymi rzadkimi, wielkimi (np. AprioriTID) i niekompletnymi. Wiele współcześnie stosowanych algorytmów wyznaczania wzorców i reguł, aby ograniczyć przebiegi przez całe dane, tworzy zaawansowane pomocnicze struktury danych takie jak grafy, TRIE, rozszerzone BST itp. Należą do nich np. często stosowane w praktyce metody FP-Tree i ECLAT. Istnieje także wiele metod opartych na innych podejściach do zagadnienia szukania reguł, np. oparte o zbiory przybliżone. Co najmniej jeden algorytm do generowania reguł asocjacyjnych można znaleźć w każdym szanującym się systemie oprogramowania do analizy danych. Marcin Szczuka (MIMUW) Logika Stosowana 2017 15 / 27
Plan wykładu 1 Wydobywanie reguł z danych Reguły decyzyjne Reguły asocjacyjne 2 ILP - Inductive Logic Programming Marcin Szczuka (MIMUW) Logika Stosowana 2017 16 / 27
Motywacja Techniki uczenia maszynowego i eksploracji danych tradycyjnie wykorzystują reprezentację obiekt-atrybut-wartość. To zapewnia nam: Prostotę reprezentacji. Efektywność i (względną) łatwość przetwarzania. Możliwość wykorzystania wielu metod uwzględniania niedoskonałości danych. Możliwość wykorzystania wielu metod i algorytmów uczenia się. Niestety, ta reprezentacja ma ograniczenia: Ubogi język reprezentacji. Brak możliwości wyrażenia relacji między obiektami i/lub ich częściami. Bardzo ograniczona możliwość uwzględniania wiedzy dziedzinowej (background/domain knowledge). Marcin Szczuka (MIMUW) Logika Stosowana 2017 17 / 27
Motywacja c.d. Przypuśćmy że chcemy się nauczyć co powoduje, że pociąg podąża na wschód, jak w klasycznym przykładzie Ryszarda Michalskiego. Marcin Szczuka (MIMUW) Logika Stosowana 2017 18 / 27
Motywacja c.d. Przypuśćmy że chcemy się nauczyć na podstawie tekstów naukowych z dziedziny biologii komórkowej, gdzie występują (na poziomie komórki), określone białka. Na przykład dla tekstu: chcielibyśmy umieć wyekstrahować relację: subcellullar-localization(collagen, endoplasmic-reticulum) Za: M. Craven & J. Kumlien (1999). Constructing Biological Knowledge Bases by Extracting Information from Text Sources. ISMB 99. Marcin Szczuka (MIMUW) Logika Stosowana 2017 19 / 27
Indukcyjne programowanie w logice (ILP) Dla wzbogacenia języka i zwiększenia ekspresywności dokonano rozszerzania paradygmatu programowania w logice na zadanie uczenia się (wnioskowania indukcyjnego). W ten sposób powstała dziedzina znana jako Indukcyjne Programowanie w Logice (ILP). Podstawą reprezentacji w ILP jest logika predykatów. Dzięki tej reprezentacji możemy używać zmiennych. Uczenie się w wersji ILP polega na znajdowaniu formuły (formuł) logicznej opisującej pojęcie docelowe w oparciu o inne (zdefiniowane) relacje w dziedzinie. Najczęściej tak pojęcie docelowe jak i wiedza dziedzinowa są opisane zbiorami klauzul. Dzięki wykorzystaniu języka logiki predykatów zyskujemy wyrażalność i regularność. Dzięki wykorzystaniu silnika (Prolog et consortes) programowania w logice zyskujemy narzędzia do praktycznego wnioskowania indukcyjnego z danych. Trzeba jednak pamiętać, że ILP ma liczne ograniczenia. Marcin Szczuka (MIMUW) Logika Stosowana 2017 20 / 27
Zadanie ILP Dane: 1 Zbiór przykładów pozytywnych (positive Evidence) E +. Dany jako koniunkcja literałów. 2 Zbiór przykładów negatywnych (negative Evidence) E. Dany jako koniunkcja literałów. 3 Wiedza dziedzinowa (background knowledge) B. Najczęściej wiedza dziedzinowa składa się z definicji predykatów opisujących domyślne (default/background) zależności w przestrzeni którą badamy. Szukane: Formuła (hipoteza) logiczna h spełniająca następujące warunki na pełność, spójność i nietrywialność. UWAGA: E = E + E - zbiór wszystkich przykładów (collective evidence). Marcin Szczuka (MIMUW) Logika Stosowana 2017 21 / 27
Zadanie ILP - warunki na hipotezę Formuła (hipoteza) logiczna h zwrócona przez ILP powinna spełniać następujące warunki: 1 Pełność (completeness/sufficiency) - B h = E + - wszystkie przykłady pozytywne można wyprowadzić z wiedzy dziedzinowej przy przyjęciu hipotezy. 2 Spójność (słaba spójność - weak consistency) - φ E B h φ - żaden przykład negatywny nie da się wyprowadzić przy przyjęciu hipotezy. 3 Zgodność (silna spójność - consistency) - B h - hipoteza jest zgodna z wiedzą dziedzinową, nie można przy jej przyjęciu doprowadzić do sprzeczności. 4 Nietrywialność (necessity) - B E + - przykładów pozytywnych nie da się wyprowadzić (wyjaśnić) z wiedzy dziedzinowej bez przyjęcia hipotezy. Marcin Szczuka (MIMUW) Logika Stosowana 2017 22 / 27
Przykład - klasyfikator w ILP Wróćmy do przykładu z klasyfikacją pociągów jadących na wschód. Marcin Szczuka (MIMUW) Logika Stosowana 2017 23 / 27
Przykład - klasyfikator w ILP Dla przedstawionego na obrazku przykładu możemy wziąć: B - zbiór definicji relacji określających własności (atrybuty) pociągów (np. has_car(x,y), after(x,y)) i wagonów (np. lenght(x,y), roof(x,y), shape(x,y) ). E - zbiór przykładów (u nas 10) pociągów. Ponieważ interesuje nas znajdowanie tych jadących na wschód (east(x)), bierzemy po 5 przykładów z E do E + i E, odpowiednio. Interesuje nas znalezienie T - teorii pozwalającej wyrazić klasyfikator east(), przy czym ta teoria powstaje jako koniunkcja hipotez h. Przykładowa hipoteza h: east(t) :- has_car(t,c), length(c,short), roof(c,_). Marcin Szczuka (MIMUW) Logika Stosowana 2017 24 / 27
ILP w praktyce Przez lata powstały liczne podejścia (metody, algorytmy) do praktycznego rozwiązywania zadania ILP. Większość z nich opiera się na wspólnym schemacie przeszukiwania przestrzeni możliwych odpowiedzi. Generyczna metoda znajdowania hipotez (reguł) 1 Initialize(Rules,Examples): Zainicjalizuj zbiór hipotez (reguł) na podstawie przykładów, aby mieć punkt startowy przeszukiwania. 2 Select(Rules,Examples): wybierz najbardziej obiecującą hipotezę (regułę) R. 3 Refine(R,Examples): wygeneruj sąsiadów (hipotezy podobne do) R wykorzystując uogólnienie (generalization) lub uszczegółowienie (specialisation). 4 Reduce(Rules,Examples): usuń nadmiarowe, nie przynoszące poprawy teorie (grupy hipotez). Na przykład przy przeszukiwaniu typu hill-climbing zostaje tylko jedna, przy przeszukiwaniu best-first nie usuwamy nic. Marcin Szczuka (MIMUW) Logika Stosowana 2017 25 / 27
ILP w praktyce Dwa najbardziej znane podejścia (algorytmy) do poszukiwania reguł w ILP to: FOIL (Quinlan & Cameron-Jones, 1993) Uczy się (wyszukuje) reguł pierwszego rzędu bez negacji w literałach występujących w głowie reguły. Progol (Muggleton, 1995) Uczy się (wyszukuje) reguł w postaci klauzul Horna bez negacji (ani w głowie ani w ciele klauzuli). Inne przykłady to: Golem (Muggleton & Feng, 1992), LINUS (Lavrac & Dzeroski, 1994), Aleph ( Progol), Tilde. Metody różnią sie przede wszystkim sposobami wyboru kandydatów i kryteriami odcinania nadmiarowych hipotez. Marcin Szczuka (MIMUW) Logika Stosowana 2017 26 / 27
ILP - wybrane zastosowania Bioinformatyka i farmacja: predykcja mutagenności związków chemicznych, projektowanie nowych związków chemicznych (np. leków), klasyfikacja i predykcja funkcji i struktury białek. Mechanika i projektowanie: metoda elementów skończonych (tzw. mesh), analiza sterowania procesami technologicznymi. Ochrona środowiska: klasyfikacja wody w rzekach, predykcja biodegradacji związków chemicznych. Przetwarzanie języka naturalnego: automatyczna konstrukcja parserów języka naturalnego, tłumaczenie zapytań w jęz. naturalnym do dedukcyjnych baz danych, uczenie się form obocznych (np. past tense) czasowników w języku angielskim, analiza morfologiczna języka naturalnego (także lematyzacja). Text-mining / Web-mining. Marcin Szczuka (MIMUW) Logika Stosowana 2017 27 / 27