Presentation is loading. Please wait.

Presentation is loading. Please wait.

Strojno učenje (engl. machine learning)

Similar presentations


Presentation on theme: "Strojno učenje (engl. machine learning)"— Presentation transcript:

1 Strojno učenje (engl. machine learning)
Algoritmi strojnog učenja - 2

2 Strojno učenje (engl. machine learning)
Pripremio: Prof.dr.sc. Nikola Bogunović Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Temeljem izvornih dokumenata (autori zadržavaju sva prava): I.H.Witten, E.Frank DATA MINING, Practical Machine Learning Tools and Techniques Morgan Kaufmann, 2005. T.Michell MACHINE LEARNING McGraw Hill, 1997 Jiawei Han and Micheline Kamber DATA MINING: CONCEPS ABD TECHNIQUES Morgan Kaufmann, 2001,

3 Probabilistički algoritmi – Naivni Bayes

4 Probabilistički algoritmi – Naivni Bayes
Temeljem tablice primjera za igru tenisa računamo statistiku. Vrijeme Temperatura Vlažnost Vjetrovito Igrati Sunčano Topla Visoka Ne Da Oblačno Kišovito Blaga Hladno Normalna

5 Probabilistički algoritmi – Naivni Bayes
Probabilistički postupak u otkrivanju znanja dodjeljuje vjerojatnost klasifikaciji primjera u pojedini razred. U primjeru igranja tenisa postupak može generirati pravilo: (AKO strana pravila ne postoji u skupu primjera) Ako Vrijeme.sunčano i Temperatura.hladno i Vlažnost.visoka i Vjetrovito.Da, tada Igrati.DA (0.2) i Igrati.NE (0.8). gdje je 0.2 vjerojatnost za Igrati DA, a 0.8 vjerojatnost za Igrati NE. U ovom primjeru radi se o binarnoj klasifikaciji. Suma vjerojatnosti za Igrati.DA i za Igrati.NE je jednaka 1. Vjerojatnosti se određuju frekvencijskom interpretacijom i promatranjem svakog atributa nezavisno. To je pretpostavka “naivnosti”.

6 Probabilistički algoritmi – Naivni Bayes
Vrijeme: Temperatura: Vlažnost: DA NE DA NE DA NE Igrati Sunčano Topla Visoka Oblačno Blaga Norm Kišovito Hladno Visoka 3/9 4/5 Sunčano 2/9 3/5 Topla 2/9 2/5 Norm. 6/9 1/5 Oblačno /9 0/5 Blaga 4/9 2/5 Kišovito /9 2/5 Hladno 3/9 1/5 Vjetrovito: Igrati: DA NE DA NE Da Ne / /14 Da /9 3/5 Ne 6/9 2/5

7 Probabilistički algoritmi – Naivni Bayes
Za traženo pravilo (ranije navedeni primjer): Ako Vrijeme.sunčano i Temperatura.hladno i Vlažnost.visoka i Vjetrovito.Da, tada Igrati.DA (?) i Igrati.NE (?). množimo vjerojatnosti (konjunkcija i pretpostavka nezavisnosti) koje rezultiraju u izglednosti (engl. likelihood). Za Igrati.DA izglednost je: 2/9 x 3/9 x 3/9 x 3/9 x 9/14 = Za Igrati.NE izglednost je: 3/5 x 1/5 x 4/5 x 3/5 x 5/14 = Nakon normalizacije slijede vjerojatnosti: Vjer. za Igrati.DA = / ( ) = 0.205 Vjer. za Igrati.NE = / ( ) = 0.795

8 Probabilistički algoritmi – Naivni Bayes
Teorijska osnovica probabilističkog rasuđivanja Vjerojatnost hipoteze H uz evidenciju (dokaz) E: Pr(H | E) Uporaba Bayesovog pravila: Pr(H | E) = Pr(E | H) Pr(H) / Pr(E) Neka je u našem primjeru hipoteza: H = (Igrati.DA) E = evidencija (vrijednosti svih 4 atributa): E1, E2, E3, E4 Supstitucijom slijede zajedničke (engl. joint) vjerojatnosti: Pr(H | E1, E2, E3, E4) = Pr(E1, E2, E3, E4 | H) Pr(H) / Pr(E1, E2, E3, E4) Izračun je eksponencijalne složenosti pa uvodimo pretpostavku nezavisnosti atributa ("Naïvni Bayes"): Pr(H | E) = [ Pr(E1 | H) x Pr(E2 | H) x Pr(E3 | H) x Pr(E4 | H) ] x Pr(H) / Pr(E) Pr(H) = Pr(Igrati.DA) je prethodna (apriorna) vjerojatnost (ništa još nije poznato o obilježjima dana – evidenciji). U primjeru tenisa: 9/14. Uz uvođenje evidencije: Pr(Igrati.DA | E) = [ 2/9 x 3/9 x 3/9 x 3/9 ] x 9/14 x 1/Pr(E) Vjerojatnost Pr(E) nestaje pri normalizaciji.

9 Probabilistički algoritmi – Naivni Bayes
Problem probabilističkog rasuđivanja (1/2) Neke vrijednosti atributa se ne pojavljuju uz jedan ili više razreda. Primjerice neka se vrijednost atributa Vrijeme.sunčano pojavljuje samo uz Igrati.NE, a nikad uz Igrati.DA. Pri tome je : Pr(Igrati.DA | Vrijeme.sunčano) = 0 i množi sve ostale vjerojatnosti u izračunu izglednosti za pravilo koje sadrži Vrijeme.sunčano. Rješenje: Laplaceov estimator – korekcija tablice frekvencija Izvorna tablica Korigirana tablica: Vrijeme i Igrati.DA Vrijeme i Igrati.DA Sunčano 2/ Sunčano 3/12 Oblačno / Oblačno /12 Kišovito /9 Kišovito /12 Dodaje se +1 u brojnike, a to se kompenzira s +3 u nazivnike. Time se osigurava da frekvencija nikada nije nula.

10 Probabilistički algoritmi – Naivni Bayes
Problem probabilističkog rasuđivanja (2/2) Općenito, možemo dodati bilo koju malu konstantu  (ne samo +1): (2 + /3) / (9 + ) (4 + /3) / (9 + ) (3 + /3) / (9 + ) za raniji primjer:  = 3 Nema nekog posebnog razloga za raspodjelu  u 3 jednaka dijela. Umjesto toga možemo koristiti: (2 + p1 ) / (9 + ) (4 + p2 ) / (9 + ) (3 + p3 ) / (9 + ) gdje  pi = 1, pi su apriorne vjerojatnosti atributa: p1 = Pr(Vrijeme.sunčano) = 5/14 - pojava u 5 primjera od 14 p2 = Pr(Vrijeme.oblačno) = 4/ pojava u 4 primjera od 14 p3 = Pr(Vrijeme.kišovito) = 5/ pojava u 5 primjera od 14 Najčešća heuristika: Inicijaliziraj sve vrijednosti za brojanje frekvencija na 1 (umjesto 0), t.j pojavljuju se barem jedanput uz svaki razred.

11 Probabilistički algoritmi – Naivni Bayes
Problem nedostajućih vrijednosti Jednostavno se izostave te vrijednosti u izračunu izglednosti. Omjeri za vjerojatnost temelje se samo na postojećim vrijednostima. Numeričke vrijednosti atributa (1/3) Najprije se izračuna srednja vrijednost i standardna devijacija n numeričkih vrijednosti pojedinog atributa (tzv.  i  uzoraka). Srednja vrijednost  =  /n Std. dev.  = [  (x - )2 /(n -1) ]1/ = [ varijanca ]1/2 Ukoliko postoji dovoljno velik skup numeričkih vrijednosti nekog atributa pretpostavljamo Gaussovsku (normalnu) razdiobu tih vrijednosti uz parametre  i  uzoraka. Funkcija gustoće razdiobe vjerojatnosti za normalnu razdiobu je:

12 Probabilistički algoritmi – Naivni Bayes
Numeričke vrijednosti atributa (2/3) Neka su dane neke vrijednosti atributa za svaki razred: Temperatura (ºF): Vlažnost: DA NE DA NE Igrati (ciljni atribut, klasifikacija) … … … … Izračunamo: Srednja vr Std. Dev Uz uporabu odgovarajuće (za određen  i ) funkcije gustoće razdiobe f(x) : f (Temperatura=66 | Igrati.DA) = 0.034 f (Vlažnost=90 | Igrati.DA) = 0.021 Funkcija f(x) aproksimira vjerojatnosti.

13 Probabilistički algoritmi – Naivni Bayes
Numeričke vrijednosti atributa (3/3) f(x) ipak nije jednaka vjerojatnosti, jer: Vjerojatnost da vrijednost neke veličine leži unutar intervala (x - /2) i (x + /2) je:  f(x) Budući da se  nalazi u svakoj izglednosti, to se u normalizaciji gubi. Za primjer: Vrijeme.sunčano i Temperatura=66 i Vlažnost=90 i Vjetrovito.Da Izračun vjerojatnosti je (atributi su nominalni i numerički): Izglednost (Igrati.DA) = 2/9 x x x 3/9 x 9/14 = Izglednost (Igrati.NE) = 3/5 x x x 3/5 x 5/14 = Pa je normalizirano na vjerojatnosti: Pr(Igrati.DA) = / ( ) = 0.209 Pr(Igrati.NE) = / ( ) = 0.791 što je vrlo slično ranijim zaključcima.

14 Probabilistički algoritmi – Naivni Bayes
Sažetak o probabilističkom algoritmu (Naivni Bayes): Naivni Bayes je jednostavan i vrlo uobičajen. Ima dobru semantiku za predstavljanje probabilističkog znanja. Pokazano uspješniji od mnogih složenijih pristupa. Pretpostavka o nezavisnosti atributa može unositi pogreške (Npr. dva stupca istog atributa multiplicira njegov utjecaj, te je potrebno pažljivo odabrati atribute, posebice ako ih ima mnogo). Pretpostavka normalne razdiobe može se relaksirati uvođenjem druge razdiobe koje bolje opisuje primjere ili se može koristiti procedura "estimacije jezgre" (koja ne pretpostavlja jednu definiranu razdiobu).

15 Pravila pridruživanja
(engl. association rules)

16 Pravila pridruživanja
Pravila pridruživanja u osnovici daju vezu između atributa. Npr. za igranje tenisa: AKO (Temperatura.Hladno) TADA (Vlažnost.Normalna) Pravila pridruživanja imaju širi cilj: “Pronalaženje čestih uzoraka, asocijacija, korelacija, ili uzročnih struktura u skupu objekata u transakcijskim i relacijskim bazama, te drugim repozitorijima podataka.” Primjena: Analiza tržišta (engl. market-basket), oblikovanje kataloga, grupiranje, … Opći oblik induciranog znanja (pravila): AKO (Tijelo_pravila) TADA (Glava_pravila) [ potpora, uvjerenost] potpora (engl. support) – vjerojatnost svih elemenata pravila ( u tijelu i glavi) u cijelom skupu primjera (podataka). uvjerenost (engl. confidence) – vjerojatnost posljedice (glave pravila) ako uvjet (tijelo pravila). To je uvjetna vjerojatnost.

17 Pravila pridruživanja
Primjer 1 (sintaksa slijedi formalizam predikatne logike): kupuje(x, pelene)  kupuje( x, pivo) [ 5%, 60% ] Potpora: 5 % svih kupaca kupilo je pelene i pivo. Uvjerenost: vjer. "pivo ako pelene" = P(pivo | pelene) Pivo je kupilo 60% kupaca od onih koji su kupili pelene. Primjer 2: studira(x, računarstvo)  sluša(x, formalne_postupke)  srednja_ocjena_barem(x, 4) [ 1%, 75% ] Potpora: 1% svih studenata studira računarstvo i sluša formalne postuple i ima srednju ocjenu barem 4. Uvjerenost: srednju ocjenu barem 4 ima 75 % studenata od onih koji studiraju računarstvo i slušaju formalne postupke. Pravila pridruživanja koja zadovoljavaju minimalnu zadanu potporu i minimalnu zadanu uvjerenost nazivaju se jaka pravila (engl. strong rules).

18 Pravila pridruživanja
Terminologija u domeni pravila pridruživanja: Skup transakcija – korespondira skupu podataka. Transakcija (engl. Itemset, basket) – sadrži skup elemenata, korespondira terminu primjer u području obradbe podataka. Element (engl. item) – postoji ili ne u pojedinoj transakciji. Svaka transakcija daje informaciju koji elementi se pojavljuju zajedno u toj transakciji. Transakcije se tipično razlikuju u broju elemenata. Transakcija se može vizualizirati kao izdani račun s popisom elemenata (artikala) nakon plaćanja na blagajni trgovine. Primjer skupa od 5 transakcija: Elementi u pojedinim transakcijama

19 Pravila pridruživanja
Temeljem prikazanog skupa od 5 transakcija možemo primjerice izračunati potporu i uvjerenost za pravilo: Potpora (support) je broj transakcija koje sadrže sve elemenate u pravilu (Diaper, Milk, Beer) prema ukupnom broju transakcija (ovdje 5). Uvjerenost (confidence) je uvjetna vjerojatnost: P(glava | tijelo) = P(glava i tijelo) / P(tijelo) P(Beer | Diaper, Milk) = P(Beer, Diaper, MIlk) / P(Diaper, Milk) = = (2/5) / (3/5) = 2 /3 = 0.66 Vjerojatnosti se računaju preko frekvencija. tijelo glava

20 Pravila pridruživanja
Pravila pridruživanja mogu se primijeniti na mnoge probleme Itemsets (baskets) = rečenice Items = dokumenti koji sadrže te rečenice Items koji se pojavljuju zajedno mogu ukazivati na plagijarizam. Napomena: items ne moraju biti u itemsets Itemsets (baskets) = pacijenti Items = lijekovi i popratni efekti Pronaći kombinacije lijekova koja uzrokuje popratni efekt Napomena: mora se uzeti u obzir kako izostanak itema kao i prisutnost Itemsets (baskets)= čvorovi Items = izlazni susjedi Pronaći društvo iz informacijskog grafa

21 Pravila pridruživanja
Problem: Izračun frekvencija podskupova elemenata u bazi transakcija. Npr.: Za 1000 različitih elemenata broj podskupova s tri elementa je Izračun frekvencija i mjera kvalitete za skupove elemenata s pet ili više elemenata vrlo lako može biti potpuno vremenski neizvedivo. Računalna složenost izračuna za sustav od n transakcija i m elemenata je eksponencijalna: O(n x m x 2m ). Potrebno je pronaći postupak smanjena složenosti u pretraživanju i generiranju podskupova  Aprori algoritam.

22 Pravila pridruživanja
Apriori algoritam Definicija: Skup elemenata koji zadovoljava unaprijed zadanu minimalnu potporu naziva se: čest_ skup elemenata (engl. frequent set). Svi podskupovi čestog skupa moraju biti česti. Ključni koraci Apriori algoritma: Iterativno nađi česte skupove elemenata (frequent skupove) s kardinalnošću 1 do k. Uporabi uređene česte skupove kardinalnosti k-1 i operaciju “join” da bi našao skupove s k elemenata. Smanji skup s k elemenata uvjetom da svaki podskup mora biti čest skup. Ostaju kandidati za česte skupove. Npr.: ako je {A, B} čest skup, to moraju biti {A} i {B}. Pretraživanjem baze selektiraj stvarne česte skupove. Iskoristi česte skupove za generiranje pravila. Selektiraj jaka pravila (engl. strong rules).

23 Pravila pridruživanja
Apriori algoritam Primjer vrlo male baze transakcija: Za zadanu potporu S (npr. min S = 3) generiraju se svi česti podskupovi elemenata. Započinje se s podskupovima s jednim elementom. Podskupovi koji zadovoljavaju uvjet potpore (nalaze se u bazi barem 3 puta) su: Bread, Milk, Beer, Diaper. Podskupovi Coke i Eggs ne zadovoljavaju potporu pa nisu česti i ne sudjeluju u daljnjem generiranju čestih podskupova. Značenje: Podskup se pojavljuje u barem 3 transakcije.

24 Pravila pridruživanja
Prikaz Apriori principa, (žuto su označeni podskupovi za koje vrijedi S  3 , i oni sudjeluju u daljim koracima generiranja). Koliko puta se pojavljuje u bazi transakcija join join {Milk, Diaper, Beer} nije, jer {Milk, Beer} nije čest.

25 Pravila pridruživanja
Primjer generiranja čestih skupova za S  2 (Ci su kandidati):

26 Pravila pridruživanja
Objašnjenje generiranja čestog podskuoa od tri elemenata: Česti podskupovi od 2 elementa: Operacijom “Join” slijede podskupovi od 3 elementa: {1, 2, 3} – nije kandidat jer podskup {1, 2} nije čest. {1, 3, 5} – nije kandidat jer podskup {1, 5} nije čest. {2, 3, 5} – to je jedini kandidat za česti skup od 3 elemenata. Provjerom u bazi slijedi da je taj kandidat doista i čest podskup (pojavljuje se 2 puta u transakcijama).

27 Pravila pridruživanja
Primjer generiranja čestog podskupa APRIORI postupkom Promatramo raniji primjer: Ranije pokazani postupak generira: {1, 2, 3}, {1, 3, 5}, {2, 3, 5}, Rezanjem (provjerom svih njihovih podskupova da li su česti) ostaje samo {2, 3, 5} kao kandidat za provjeru minimalne potpore ponovnim skeniranjem baze. APRIORI: S obzirom na leksičku uređenost generiramo uzimajući u obzir a_priori podskupove od 2 elementa koji zadovoljavaju minimalnu potporu: Prvi član “1” ne daje niti jedan podskup s 3 elementa jer "1" nije u paru s nijednim daljnjim elementom (leksička uređenost) u skupu čestih podskupova s 2 elementa. {1, 2, 3} nismo generirali jer {1, 2} nije na popisu. To je a-priori poznato jer "1" počinje s {1, 3}. Jednako za {1, 3, 5}, jer nema {1, 5}. Prvi član “2” daje {2, 3, 5}. Umjesto 3 generiran je samo jedan podskup kao kandidat.

28 Pravila pridruživanja
Primjer generiranja čestog podskupa APRIORI postupkom Neka su na razini k=3 elementi leksički uređeni i čine česte podskupove: L3={abc, abd, acd, ace, bcd} 1. Korak: Self-joining: L3*L3 Uz jednaka prva dva elementa (leksička uređenost) tražimo kandidate: Iz abc i abd slijedi abcd, a iz acd i ace slijedi acde. Nema drugih mogućnosti. Npr. acd i bcd nije potrebno razmatrati jer su već u generiranom abcd. 2. Korak: rezanje (engl. pruning) – provjera da li su svi podskupovi česti acde je maknut jer ade nije u L3 3. Korak: Kandidat za k=4 čest skup je (i on se provjerava u bazi da li je stvarno čest) C4={abcd}

29 Pravila pridruživanja
Pseudo kod APRIORI algoritma:

30 Pravila pridruživanja
Generiranje jakih pravila iz čestog (engl. frequent ) skupa Neka je nađen čest skup od k=3 elementa: L = {L1, L2, L5} 1. korak - tvore se svi neprazni podskupovi s 1 do k-1 elemenata: {L1, L2}, {L1, L5}, {L2, L5}, {L1}, {L2}, {L5} 2. korak - generiraju se sva moguća pravila s podskupovima iz 1. koraka i računa uvjerenost (engl. confidence) za svako pravilo L1  L2 = L5 Conf = … L1  L5 = L2 Conf = … L2  L5 = L1 Conf = … L1 = L2  L5 Conf = … L2 = L1  L5 Conf = … L5 = L1  L2 Conf = … 3. korak – primjenom praga zadane minimalne uvjerenosti selektiraju se jaka pravila.

31 Pravila pridruživanja
Poteškoće u generiranju pravila pridruživanja Jezgra APRIORI algoritma Uporabi česte (k – 1)-itemsetove da bi generiralo kandidate čestog k-itemseta. Postupak skenira bazu podataka i traži slaganje uzoraka kako bi izbrojio kandidate. Usko grlo APRIORI algoritma: genriranje kandidata Veliki skupovi kandidata: 104 čestih 1-itemset generira 107 kandidata 2-itemsets. Za otkrivanje čestog uzorka veličine 100, npr. {a1, a2, …, a100}, potrebno je generirati sve podskupove:  1030 kandidata. Višestruko skeniranje baze podataka: Potrebno (n +1 ) prolaza, gdje je n duljina najduljeg uzorka.

32 Pravila pridruživanja
Postupci efikasnijeg generiranje pravila Uporaba hash funkcije u generiranju adresa tablice s čestim podskupovima Tijekom prebrojavanju 1-elem čestih, stvara se niz (što više) hash košarica za 2-elem. U daljnje prebrojavanje 2-elem uzimaju se samo košarice koje zadovoljavaju minimalnu potporu (minimalan broj 2-elem u košarici i naravno oba elementa u 2-elem su česti). Reduciranje broja transakcija Transakcija koja nema k-1 česte podskupove se izostavlja u daljnjem ispitivanju (beskorisna je). Dijeljenje skupa transakcija u particije Traže se česti podskupovi u pojedinim particijama (lokalni podskupovi). Svi lokalni skupovi spoje se u globalni skup. U drugom prolazu iz globalnog skupa izdvajaju se stvarni česti podskupovi. Slučajan izbor manjeg skupa transakcija iz velike baze Vjerojatno je da se neki podskupovi ne pronađu, snizuje se prag potpore. Dinamičko brojanje Česti podskupovi se izdvajaju tijekom prolaza po dijelovima, a ne prije cijelog prolaza kroz bazu kao kod Apriori algoritma.

33 Pravila pridruživanja - vizualizacija
Prikaz tablicom

34 Pravila pridruživanja
Vizualizacija planarnim grafom

35 Pravila pridruživanja
Vizualizacija U ORACLE sustavu

36 Pravila pridruživanja
Prikaz pravila u sustavu za analizu Agrokor

37 Pravila pridruživanja
Rezultati analize uz vrlo malu potporu i uvjerenost (ovdje pouzdanost i značaj)

38 Pravila pridruživanja
Višerazinska pravila pridruživanja Elementi (proizvodi) često čine hijerarhiju. Elementi na nižoj razini očekivano imaju manju potporu. Umjesto uniformne potpore koristi se reducirana potpora na nižim razinama. Transakcijska baza se može kodirati prema razinama. Mogu se istraživati pridruživanja Razinu po razinu nezavisno Pojedini elementi kroz razine Podskupovi elemenata kroz razine Food bread milk skim Sunset Fraser 2% white wheat

39 Pravila pridruživanja
Postupci generiranja višerazinskih pravila pridruživanja “Od vrha prema dolje” tako da se prvo traže pravila više razine: milk ® bread [20%, 60%]. a zatim pravila niže razine (slabija pravila): 2% milk ® wheat bread [6%, 50%]. Varijacije generiranja višerazinskih pravila pridruživanja: Međurazinska pravila pridruživanja: 2% milk ® Wonder wheat bread Pravila pridruživanja s više hijerarhijskih opcija: 2% milk ® Wonder bread smanjenje

40 Pravila pridruživanja
Taksonomija pravila pridruživanja Jedno-dimenzijska pravila (jedan predikat u pravilu): buys(X, “milk”)  buys(X, “bread”) Više-dimenzijska pravila (2 ili više dimenzije predikata) Inter-dimenzijska pravila (nema ponavljajućih predikata) age(X,”19-25”)  occupation(X,“student”)  buys(X,“coke”) Hibridno dimenzijska pravila (ponavljajući predikati) age(X,”19-25”)  buys(X, “popcorn”)  buys(X, “coke”) Kategorički atributi - predikati Konačan broj mogućih vrijednosti, ne postoji uređenost između vrijednosti Kvantitativni atributi - predikati Numerički, implicitna uređenost vrijednosti

41 Pravila pridruživanja
Budući pravci istraživanja Booleova i kvantitativna pridruživanja Pridruživanja diskretnih i kontinuiranih podataka Od pravila pridruživanja prema korelacijskoj analizi i analizi uzroka i posljedica Pridruživanje ne mora nužno implicirati korelacijsku ili uzročno-posljedičnu vezu Od intra-transakcijskih do inter-transakcijskih pridruživanja Napušta se granica pojedine transakcije Od analize pridruživanja do klasifikacije i grupiranja (engl. clustering) Grupiranje pravila pridruživanja

42 (engl. instance based learning)
Pohranjeni primjeri Učenje i klasifikacija temeljena na pohranjenim primjerima (engl. instance based learning)

43 Pohranjeni primjeri Ovaj postupak temelji se na pohranjenim primjerima za koje je poznata pripadnost razredu. Primjer nepoznate klasifikacije ulazi u sustav i pridružuje se razredu kojem pripada jedan “najbliži” pohranjeni primjer. Algoritam je “lijen” (ništa ne radi sve do dolaska nepoznatog primjera). Temeljni problem: Definicija funkcije udaljenost do pohranjenog primjera (t.j. određivanje “najbližeg” primjera). Funkcije udaljenosti Većina sustava koristi tzv. Euklidsku udaljenost. Neka jedan primjer, označeno (1), ima vrijednosti atributa: a1(1), a2(1), …, ak(1) Drugi primjer (2) ima vrijednost atributa: a1(2), a2(2), …, ak(2) (gdje k predstavlja broj atributa)

44 Pohranjeni primjeri Euklidska udaljenost je definirana:
Striktno gledano nije potrebno računati korijen već se mogu usporediti sume kvadrata razlika vrijednosti atributa. kvadrata. Alternativa Euklidskoj udaljenosti jest Manhattan mjera, gdje se razlika između atributa ne kvadrira već samo zbraja. Druge mogućnosti su više potencije razlika koje povećavaju utjecaj većih razlika u odnosu na manje. Euklidska udaljenost predstavlja najbolji kompromis. Problem: Različiti atributi mjereni su u različitim mjerilima. Rješenje: uobičajeno je normalizirati vrijednosti atributa na skalu od 0 do 1:

45 Nominalne vrijednosti atributa
Pohranjeni primjeri Normalizacija vrijednosti atributa: gdje i predstavlja vrijednost atributa i, a maksimum i minimum su izračunati temeljem svih vrijednosti pohranjenih primjera. Dosadašnji izrazi pretpostavljali su numeričke vrijednosti atributa. Nominalne vrijednosti atributa Za različite vrijednosti razlika = 1. Za jednake vrijednosti razlika = 0. Nije potrebno normalizirati vrijednosti.

46 Problem nedostajućih vrijednosti
Pohranjeni primjeri Problem nedostajućih vrijednosti Nominalni atributi: Nedostaje jedna ili obje: razlika = 1. Numerički atributi: Obje vrijednosti nedostaju: razlika = 1. Jedna vrijednost nedostaje: razlika se uzima kao normalizirana veličina druge postojeće vrijednosti (ili jedan minus ta normalizirana veličina – ovisno što je veće). Pri nedostajućim vrijednostima razlika je najveća moguća (pesimističan pristup).

47 Shema učenja temeljena na pohranjenim primjerima
Pohranjeni primjeri Shema učenja temeljena na pohranjenim primjerima Implicitno se pretpostavlja da se nepoznati primjer uspoređuje sa svima pohranjenima i odlučuje se za klasifikaciju jednaku kao jedan njemu “najbliži susjed”. Problemi: Kod velikih skupova podataka sporo se izvodi jer se za svaki novi primjer mora pretražiti cijeli skup pohranjenih primjera. Složenost je proporcionalna s brojem pohranjenih testnih primjera. Daje loše rezultate kad u podacima ima šuma jer je razred novog primjera određena pomoću samo jednog najbližeg susjeda koji može bit korumpiran šumom. Loše rezultate daje također i u slučajevima kada različiti atributi imaju različiti utjecaj na rezultat (posebice u ekstremnim slučajevima gdje su neki atributi potpuno nebitni), jer u formuli udaljenosti svi atributi imaju jednak utjecaj.

48 Povećanje efikasnosti pretraživanja primjera 1/3
Pohranjeni primjeri Povećanje efikasnosti pretraživanja primjera 1/3 Pohranjeni primjeri u memoriji predstavljeni su kao stablo (kD-stablo, engl. kD-tree). To je binarno stablo koje dijeli ulazni prostor hiper-ravninom (dimenzije ovisno o broju atributa k) tako da se rekurzivno cijepa. Npr. za k=2 (atributi a1 i a2 ) i 4 pohranjenih primjera:

49 Povećanje efikasnosti pretraživanja primjera 2/3
Pohranjeni primjeri Povećanje efikasnosti pretraživanja primjera 2/3 Izgradnja stabla: Prvi primjer (7,4) je korijen stabla i dijeli prostor horizontalno (a2 = 4). Primjer (2,2) pada ispod horizontalne podjele pa predstavlja list. Primjer (6,7) dijeli dalje prostor vertikalno. Primjer (3,8) je list jer je lijevo od vertikalne podjele. U svakoj regiji nalazi se samo jedan (list) ili nijedan primjer. Pretraživanje kD-stabla danog na slici: Novi primjer je označen zvijezdom. List te regije je označen crno. To nije nužno najbliži, ali je prva dobra aproksimacija. Svaki bliži bi morao biti unutar crtkanog kruga. Potraga za bližim prvo se odnosi na sestrinski prostor (označen sivo). Primjer u tom prostoru nije unutar kruga pa nije bliži. Pretraga se vraća na roditeljski čvor i njegov sestrinski prostor (sve iznad horizontalne crte). Lijevi primjer nije unutar kruga a desni je. Algoritam je bitno brži od postupka ispitivanja svih primjera. Potrebno je uočiti da se ne traži udaljenost prema granicama nego i dalje prema pohranjenom primjeru.

50 Ostale metode povećanja efikasnosti pretraživanja 3/3
Pohranjeni primjeri Ostale metode povećanja efikasnosti pretraživanja 3/3 Umjesto pamćenja svih testnih primjera, primjeri se mogu komprimirati u regije predstavljene samo jednim karakterističnim primjerom. Povećanjem inicijalnog broja pohranjenih testnih primjera temeljem kojih se stvara regija povećava se preciznost klasifikacije. Postupak je osjetljiv na šum jer pohranjeni podaci sa šumom kontinuirano utječu na krivo klasificiranje. Opći postupak pohranjuje nove primjere povećavajući skup primjera u kojem se traži najbliži susjed. Nije potrebno pamtiti sve do sada viđene primjere. Postoji nekoliko tehnika redukcije skupa. Postupak s intervalnim vrijednostima Pregledaju se sve vrijednosti svih atributa testnih primjera i stvore intervali tih vrijednosti za pojedini razred. Novi primjer uspoređuje svoje vrijednosti atributa s pojedinim intervalima i svrsta se u razred prema najvećem broju slaganja s intervalima za pojedini razred.

51 Smanjenje utjecaja šuma
Pohranjeni primjeri Smanjenje utjecaja šuma k-najbližih susjeda Umjesto pretrage za jednim najbližim susjedom, locira se manji broj (npr. k = 5) - najbližih susjeda. Razred novoga primjera određuje se većinskim glasanjem k – najbližih susjeda. Što je veći šum potreban je veći broj primjera. Praćenje uspješnosti svakog primjera Zapisuju se ispravne i neispravne klasifikacije za svaki pohranjeni primjer. Postave se dvije razine uspješnosti: ako je primjer iznad razine koristi se za klasifikaciju, a ako je ispod razine izbacuje se iz sustava. Ako se uspješnost nalazi između razina ne koristi se za klasifikaciju ali svaki puta kada je najbliži bilježi se u njegovoj statistici (raste mu razina). U sustavu WEKA implementirano je praćenje uspješnosti (npr. algoritam IB3 - Instance based ver 3).

52 Pohranjeni primjeri Atributi s težinama
Euklidska udaljenosti i normalizacija je dobar postupak za domene s jednako relevantnim atributima. U većini domena neki su atributi nebitni, dok se bitni atributi razlikuju po razini važnosti. Poboljšanje: Svaki atribut ima težinski faktor. Mjera udaljenosti uključuje težinske faktore wi za svali atribut: U nekim primjenama težinski faktori su ovisni o razredu. U tom slučaju postojat će odvojeni skup težina za svaki razred.

53 Pohranjeni primjeri Atributi s težinama Adaptacija težina
Svi težinski faktori atributa obnove se nakon klasifikacije svakog primjera za učenje (poznata klasifikacija) temeljem najsličnijeg predloška. Npr.: Primjer x i najsličniji predložak y. Za svaki atribut i, razlika | xi - yi | predstavlja mjeru doprinosa toga atributa odluci (mala razlika = atribut pozitivno pridonosi odluci). Namjera je da se osvježi i-ta težina na osnovu veličine ove razlike i točnosti klasifikacije. Ako je klasifikacija ispravna i-ta težina se poveća (obrnuto proporcionalno razlici | xi - yi | ). Ako je klasifikacija neispravna i-ta težina se smanjuje (proporcionalno razlici | xi - yi | ). Promjenu težine obično slijedi korak ponovne normalizacije.

54 Generaliziranje primjera
Pohranjeni primjeri Generaliziranje primjera Primjeri se generaliziraju (zamijenjuju) s višedimenzionalnim (broj atributa) pravokutnim regijama u prostoru primjera (hiper-pravokutnici). Kod klasificiranja traži se udaljenost do hiper pravokutnika (ne više do najbližeg susjeda). Ako je novi predložak klasificiran točno, stvara se novi hiper-pravokutnik koji pokriva stare i nove primjere. Ako je novi predložak klasificiran netočno, granice hiper-pravokutnika se mijenjaju tako da se odvoje od novog primjera. Potrebno je odlučiti hoće li se dopustiti preveliko generaliziranje, uzrokovano ugnježđivanjem ili preklapanjem hiper-pravokutnika (temeljem neke mjere konflikata postojećih područja). Preklapajući hiper-pravokutnici odgovaraju pokrivanju primjera sa dva ili više pravila u skupu pravila. Ugnježdeni hiper-pravokutnici odgovaraju iznimkama u sustavu s pravilima.

55 Generaliziranje primjera
Pohranjeni primjeri Generaliziranje primjera Funkcija udaljenosti do hiper-pravokutnika Udaljenost od primjera do hiper-pravokutnika = 0 ako točka leži unutar ili na granici hiper pravokutnika. Inače računa se udaljenost do najbližeg dijela hiper-pravokutnika (nije trivijalno odrediti). Primjer: 2 razreda (R1 i R2) i 2 dimenzije- atributa (slika). Granica sadrži 9 regija: 1 - linearno, jednaka udaljenost 2 - parabolična 3 - linearna R1 R2


Download ppt "Strojno učenje (engl. machine learning)"

Similar presentations


Ads by Google