Upload
lida
View
57
Download
0
Embed Size (px)
DESCRIPTION
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) - PowerPoint PPT Presentation
Citation preview
Učenje skupa pravilaLearning 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)
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 )
Uvod
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 += 1Primjeri -= pr. točno klasificirani s PravilomPravilo <- LEARN-ONE-RULE(Ciljni_atributi, Atributi, Primjeri)
- Sortiranje naučena_pravila po performansi nad Primjerima
- Vrati naučena_pravila
Sequential Covering AlgorithmsGeneral to Specific Beam Search Sličnost s ID3 algoritmom Pohlepno dodaje nove testove
atributa dok hipoteza ne dostigne prihvatljivi nivo performanse
Sequential Covering Algorithms
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_hipotezaIf (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: IF najbolja_hipoteza THEN predviđ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 AlgorithmsZaključ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
Napokon gotovo?!??!
Guess again
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 redaHorn 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
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)
First Order Inductive Learning
((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
Indukcija kao obrnuta dedukcija
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
Rezolucija prvog 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 rezolucija prvog 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