310 likes | 521 Views
Učenje skupa pravila. Learning sets of rules. Fakultet Elektrotehnike i Računarstva Predmet: Strojno Učenje Gospodnetić Luka, 0036375942. Uvod. If – then rules Stablo odluka (decision tree) Genetički algoritmi Pravila prvog reda (first order rules)
E N D
Učenje skupa pravila Learning sets of rules Fakultet Elektrotehnike i Računarstva Predmet: Strojno Učenje Gospodnetić Luka, 0036375942
Uvod • If – then rules • Stablo odluka (decision tree) • Genetički algoritmi • Pravila prvog reda (first order rules) • Sekvencijalno pokrivajući algoritmi (sequential covering algorithms)
Uvod • Primjer skupa pravila prvog reda: • IF Parent(x,y) THEN Ancestor(x,y) • IF Parent(x,y) Ancestor(z,y) THEN Ancestor(x,y) • Horn clauses
Uvod • Sistemi za učenje bazirani na pravilu prvog reda: • Koja je kemijska struktura zadužena za produciranje mutirajućih genetičkih aktivnosti (kancerogene tvari) • Koja kemijske veze fragmentiraju u spektometrima masa (don’t ask )
Sequential Covering Algorithms • Osnovna ideja • Pohlepnost • Najrašireniji način učenja disjunktivnih skupova pravila
Sequential Covering Algorithms • SEQUENTIAL-COVERING (Ciljni_atributi, Aributi, Primjeri, Prag) - naučena_pravila <- {} - Pravilo <- LEARN-ONE-RULE(Ciljni_atribut, Atribut, Primjeri) - WHILE PERFORMANSA(Pravilo,Primjeri) > Prag DO naučena_pravila += 1 Primjeri -= pr. točno klasificirani s Pravilom Pravilo <- LEARN-ONE-RULE(Ciljni_atributi, Atributi, Primjeri) • Sortiranje naučena_pravila po performansi nad Primjerima • Vrati naučena_pravila
Sequential Covering Algorithms General to Specific Beam Search • Sličnost s ID3 algoritmom • Pohlepno dodaje nove testove atributa dok hipoteza ne dostigne prihvatljivi nivo performanse
Sequential Covering Algorithms • neoptimalni izbor • Beam search: pretraživanje u kojem algoritam održava listu k najboljih kandidata u svakom koraku
Sequential Covering Algorithms • Algoritam za LEARN-ONE-RULE(ciljni_atribut, Atributi,Primjeri, K) • general_to_specific greedy beam search vođen sa PERFORMANSNOM metrikom
Sequential Covering Algorithms • Inicijaliziraj Najbolja_hipoteza na najopćenitiju • Inicijaliziraj Najbolja_hipoteza na Kandidat_hipoteza • While • Kandidat_hipoteza nije prazna • Do • Generiraj sljedeću specifićniju kandidat_hipotezu • Sva_ograničenja <- skup svih ograničenja oblika a = v, gdje je a član Atributa a v je vrijednost od a koja se pojavljuje u trenutnom skupu primjera • Nova_kandidat_hipoteza <- za svaki h u kandidat_hipoteza, za svaki c u sva_ograničenja napravi specijalizaciju od h dodavajući ograničenje c
Sequential Covering Algorithms - Izbaci iz nova_kandidat_hipoteza sve duple, nekonzistentne te hipoteze koje nisu najspecifičnije - Update najbolja_hipoteza - za sve h u nova_kandidat_hipoteza If (PERFORMANSA(h,Primjeri,ciljni_atribut) > PERFORMANSA(najbolja_hipoteza, Primjeri,ciljni_atribut)) Then najbolja_hipoteza <- h - Update kandidat_hipoteza - kandidat_hipoteza <- k naboljih članova nova_kandidat_hipoteza gledajući performansu - Vrati: IFnajbolja_hipoteza THENpredviđjanje - predviđanje je najčešća vrijednost ciljni_atribut među primjerima koji odgovaraju najbolja_hipoteza
Sequential Covering Algorithms - PERFORMANSA(h,Primjeri,ciljni_atributi) - h_primjeri <- podskup od Primjeri koji odgovaraju h - vrati – Entropija(h_primjeri) gdje se entropija odnosi na ciljni_atribut
Sequential Covering Algorithms Zaključak • Uči se jedno pravilo za razliku od ID3 koji uči cijeli skup istovremeno • Količini podataka? • Koristiti general-to-specific ili specific-to-general (FIND-S)? • Varijacije
Učenje pravila prvog reda • Propozicijska pravila (variable-free) • induktivno logičko programiranje (ILP) - automatski izvedivi Prolog programi iz primjera • Prolog – opće namjenski, ekvivalent Turingu, programski jezik, programi su kolekcija Horn klauzula (Horn clauses)
Učenje pravila prvog reda Horn Klauzule Prvog Reda • Učenje jednostavnog ciljnog koncepta Kćer(x,y) • Atributi: ime, majka, otac, muško, žensko ( Ime1 = Stella, Majka1 = Alka, Otac1 = Nikša, Muško1 = False, Žensko1 = True, Ime2 = Nikša, Majka2 = Lovorka, Otac2 = Damjan, Muško2 = True, Žensko2 = False, Kćer1,2 = True ) • IF (Otac1 = Nikša) (Ime2 = Nikša) (Žensko1 = True) THEN Kćer1,2 = True
Učenje pravila prvog reda • Klauzula je bilo koja disjunkcija literala (predikat ili negacija predikata primjenjen na bilo koji termin), gdje su sve varijable univerzalno kvantificirane • Horn klauzula je klauzula koja sadrži najviše jedan pozitivan literal npr. H ~L1 … ~Ln gdje je H pozitivan literal a ~L1… ~Ln negativni literali • H (~L1 … ~Ln) • IF L1 … Ln THEN H
First Order Inductive Learning FOIL • Hipoteze naučene FOIL-om su skupovi pravila prvog reda gdje je svako pravilo slično Hornovoj klauzuli • Ograničenija pravila • Ekspresivnija pravila
First Order Inductive Learning • Sličnost s sekvencijalno pokrivajućim algoritmom (vanjska petlja specific to general search) • Vlastita performansna mjera: Foil_Gain • Kompliciranija specijalizacija
First Order Inductive Learning • Specijalizacija • 3 tipa novih literala • Q(x1,...,xn): barem jedan xi se već morao pojaviti u pravilu • Equal(xi,xj) (obje su već u pravilu) • Negacije gore navedenih • Primjer: Unuka(x,y)
First Order Inductive Learning • Foil_Gain(Literal,Rule) t · ( log2 p1 / (p1+n1) - log2 p0 / (p0+n0) ) • p,n: pozitivna / negativna spajanja • p0 prije, p1 poslije dodavanja Literala • t: # zajedničkih pozitivnih vezanja nakon spajanja • Primjer: Unuka(Victor,Sharon), Father( Sharon,Bob), Father(Tom,Bob), Female(Sharon), Father(Bob,Victor)
First Order Inductive Learning • Moguća rekuzija • Opasnost od beskonačne rekurzije IF Parent(x,y) THEN Ancestor(x,y) IF Parent(x,z) Ancestor(z,y) THEN Ancestor(x,y)
Indukcija kao obrnuta dedukcija • ((xi, f(xi)) D) (B h xi) |-- f(xi) • X |-- Y => “Y slijedi deduktički iz X” xi: Muško(Nikša), Žensko(Sanja), Otac(Sanja,Nikša) f(xi): Dijete(Nikša, Sanja) B: Roditelj(u, v) Otac(u, v) • Primjer dvije hipoteze koje zadovoljavaju gornje ograničenje: h1: Dijete(u, v) Otac(v, u) h2 Dijete(u, v) Roditelj(v, u) • Konstruktivna indukcija
Indukcija kao obrnuta dedukcija • O(B, D) = h t.d. ((xi, f(xi)) D) (B h xi) |-- f(xi) • Mane: • Podaci s šumom => nekonzistentna ograničenja na h • Veliki broj hipoteza koje zadovoljavaju izraz
Inverzna rezolucija • Rezolucijsko pravilo u propozicijskoj formi (intuitivno) • Algoritam rezolucije • Inverzna rezolucija • Nedeterministička • Algoritam inverzne rezolucije • Algoritmi za učenje temeljeni na inveznoj rezoluciji?
Inverzna rezolucija Rezolucijaprvog reda • Unificirana supstitucija • Definicija: je unificirana supstitucija dva literala L1 i L2 akko L1 = L2 • Generaliziranje nalaska L koji se nalazi u dvije klauzule (C1, C2) • C = (C1 - {L1} (C2 - {L2} • Algoritam rezolucije prvog reda
Inverzna rezolucija Inverzna rezolucijaprvog reda • = 12 • Moguće jer C1 i C2 uvijek počinju s određenim imenima varijabli (univerzalno kvantificirane) • C = (C1 - {L1}1 (C2 - {L2}2 • L2 = ¬L11 2-1 => C2 = (C –(C1 - {L1}1) 2-1 {¬L11 2-1} • Nedeterministička
Inverzna rezolucija • Generate-and-test search (FOIL) Vs. Inverse resolution rule
Dosta više... • Autograme dijelim poslije predavanja... • Molim ne slikati jer sam sramežljiv... • Donacije prosljediti na žiro račun 245-5567-3289