Strojno uenje engl machine learning Algoritmi strojnog uenja

  • Slides: 55
Download presentation
Strojno učenje (engl. machine learning) Algoritmi strojnog učenja - 2 1

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

Strojno učenje (engl. machine learning) Pripremio: Prof. dr. sc. Nikola Bogunović Sveučilište u Zagrebu

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): n n n I. H. Witten, E. Frank DATA MINING, Practical Machine Learning Tools and Techniques Morgan Kaufmann, 2005. T. Michell MACHINE LEARNING Mc. Graw Hill, 1997 Jiawei Han and Micheline Kamber DATA MINING: CONCEPS ABD TECHNIQUES Morgan Kaufmann, 2001, 2

Probabilistički algoritmi – Naivni Bayes 3

Probabilistički algoritmi – Naivni Bayes 3

Probabilistički algoritmi – Naivni Bayes Temeljem tablice primjera za igru tenisa računamo statistiku. Vrijeme

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 Ne Sunčano Topla Visoka Da Ne Oblačno Topla Visoka Ne Da Kišovito Blaga Visoka Ne Da Kišovito Hladno Normalna Da Ne Oblačno Hladno Normalna Da Da Sunčano Blaga Visoka Ne Ne Sunčano Hladno Normalna Ne Da Kišovito Blaga Normalna Ne Da Sunčano Blaga Normalna Da Da Oblačno Blaga Visoka Da Da Oblačno Topla Normalna Ne Da Kišovito Blaga Visoka Da Ne 4

Probabilistički algoritmi – Naivni Bayes Probabilistički postupak u otkrivanju znanja dodjeljuje vjerojatnost klasifikaciji primjera

Probabilistički algoritmi – Naivni Bayes Probabilistički postupak u otkrivanju znanja dodjeljuje vjerojatnost klasifikaciji primjera u pojedini razred. n U primjeru igranja tenisa postupak može generirati pravilo: (AKO strana pravila ne postoji u skupu primjera) n 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. n n 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”. 5

Probabilistički algoritmi – Naivni Bayes Vrijeme: Sunčano Oblačno Kišovito DA 2 4 3 2/9

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

Probabilistički algoritmi – Naivni Bayes Za traženo pravilo (ranije navedeni primjer): Ako Vrijeme. sunčano

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 9/14 = 0. 0053 Za Igrati. NE izglednost je: 3/5 x 1/5 x 4/5 x 3/5 x 5/14 = 0. 0206 Nakon normalizacije slijede vjerojatnosti: Vjer. za Igrati. DA = 0. 0053 / (0. 0053 + 0. 0206) = 0. 205 Vjer. za Igrati. NE = 0. 0206 / (0. 0053 + 0. 0206) = 0. 795 7

Probabilistički algoritmi – Naivni Bayes Teorijska osnovica probabilističkog rasuđivanja Vjerojatnost hipoteze H uz evidenciju

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): E 1, E 2, E 3, E 4 Supstitucijom slijede zajedničke (engl. joint) vjerojatnosti: Pr(H | E 1, E 2, E 3, E 4) = Pr(E 1, E 2, E 3, E 4 | H) Pr(H) / Pr(E 1, E 2, E 3, E 4) Izračun je eksponencijalne složenosti pa uvodimo pretpostavku nezavisnosti atributa ("Naïvni Bayes"): Pr(H | E) = [ Pr(E 1 | H) x Pr(E 2 | H) x Pr(E 3 | H) x Pr(E 4 | 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 9/14 x 1/Pr(E) Vjerojatnost Pr(E) nestaje pri normalizaciji. 8

Probabilistički algoritmi – Naivni Bayes Problem probabilističkog rasuđivanja (1/2) n n Neke vrijednosti atributa

Probabilistički algoritmi – Naivni Bayes Problem probabilističkog rasuđivanja (1/2) n n 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 Vrijeme i Igrati. DA Sunčano 2/9 Oblačno 4/9 Kišovito 3/9 Korigirana tablica: Vrijeme i Igrati. DA Sunčano 3/12 Oblačno 5/12 Kišovito 4/12 Dodaje se +1 u brojnike, a to se kompenzira s +3 u nazivnike. Time se osigurava da frekvencija nikada nije nula. 9

Probabilistički algoritmi – Naivni Bayes Problem probabilističkog rasuđivanja (2/2) Općenito, možemo dodati bilo koju

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 + p 1 ) / (9 + ) (4 + p 2 ) / (9 + ) (3 + p 3 ) / (9 + ) gdje pi = 1, pi su apriorne vjerojatnosti atributa: p 1 = Pr(Vrijeme. sunčano) = 5/14 - pojava u 5 primjera od 14 p 2 = Pr(Vrijeme. oblačno) = 4/14 - pojava u 4 primjera od 14 p 3 = Pr(Vrijeme. kišovito) = 5/14 - 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. 10

Probabilistički algoritmi – Naivni Bayes Problem nedostajućih vrijednosti Jednostavno se izostave te vrijednosti u

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/2 = [ varijanca ]1/2 n n n 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: 11

Probabilistički algoritmi – Naivni Bayes Numeričke vrijednosti atributa (2/3) Neka su dane neke vrijednosti

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 Igrati (ciljni atribut, klasifikacija) 83 85 86 85 70 80 96 90 … … Izračunamo: 73 74. 6 Srednja vr. 79. 1 86. 2 7. 9 Std. Dev. 10. 2 9. 7 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. 12

Probabilistički algoritmi – Naivni Bayes Numeričke vrijednosti atributa (3/3) f(x) ipak nije jednaka vjerojatnosti,

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 0. 0340 x 0. 0221 x 3/9 x 9/14 = 0. 000036 Izglednost (Igrati. NE) = 3/5 x 0. 0291 x 0. 0380 x 3/5 x 5/14 = 0. 000136 Pa je normalizirano na vjerojatnosti: Pr(Igrati. DA) = 0. 000036 / (0. 000036 + 0. 000136) = 0. 209 Pr(Igrati. NE) = 0. 000136 / (0. 000036 + 0. 000136) = 0. 791 što je vrlo slično ranijim zaključcima. 13

Probabilistički algoritmi – Naivni Bayes Sažetak o probabilističkom algoritmu (Naivni Bayes): n n n

Probabilistički algoritmi – Naivni Bayes Sažetak o probabilističkom algoritmu (Naivni Bayes): n n n 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). 14

Pravila pridruživanja (engl. association rules) 15

Pravila pridruživanja (engl. association rules) 15

Pravila pridruživanja u osnovici daju vezu između atributa. Npr. za igranje tenisa: AKO (Temperatura.

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, asocija, 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. 16

Pravila pridruživanja Primjer 1 (sintaksa slijedi formalizam predikatne logike): kupuje(x, pelene) kupuje( x, pivo)

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). 17

Pravila pridruživanja Terminologija u domeni pravila pridruživanja: Skup transakcija – korespondira skupu podataka. Transakcija

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. n n n 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 18

Pravila pridruživanja Temeljem prikazanog skupa od 5 transakcija možemo primjerice izračunati potporu i uvjerenost

Pravila pridruživanja Temeljem prikazanog skupa od 5 transakcija možemo primjerice izračunati potporu i uvjerenost za pravilo: tijelo glava 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. 19

Pravila pridruživanja mogu se primijeniti na mnoge probleme Itemsets (baskets) = rečenice Items =

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 20

Pravila pridruživanja Problem: Izračun frekvencija podskupova elemenata u bazi transakcija. Npr. : Za 1000

Pravila pridruživanja Problem: Izračun frekvencija podskupova elemenata u bazi transakcija. Npr. : Za 1000 različitih elemenata broj podskupova s tri elementa je n n n 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 2 m ). Potrebno je pronaći postupak smanjena složenosti u pretraživanju i generiranju podskupova Aprori algoritam. 21

Pravila pridruživanja Apriori algoritam n n Definicija: Skup elemenata koji zadovoljava unaprijed zadanu minimalnu

Pravila pridruživanja Apriori algoritam n n 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: n Iterativno nađi česte skupove elemenata (frequent skupove) s kardinalnošću 1 do k. n Uporabi uređene česte skupove kardinalnosti k-1 i operaciju “join” da bi našao skupove s k elemenata. n 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}. n Pretraživanjem baze selektiraj stvarne česte skupove. n Iskoristi česte skupove za generiranje pravila. n Selektiraj jaka pravila (engl. strong rules). 22

Pravila pridruživanja Apriori algoritam Primjer vrlo male baze transakcija: Značenje: Podskup se pojavljuje u

Pravila pridruživanja Apriori algoritam Primjer vrlo male baze transakcija: Značenje: Podskup se pojavljuje u barem 3 transakcije. n n n 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. 23

Pravila pridruživanja Prikaz Apriori principa, (žuto su označeni podskupovi za koje vrijedi S 3

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 24 {Milk, Diaper, Beer} nije, jer {Milk, Beer} nije čest.

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

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

Pravila pridruživanja Objašnjenje generiranja čestog podskuoa od tri elemenata: Česti podskupovi od 2 elementa:

Pravila pridruživanja Objašnjenje generiranja čestog podskuoa od tri elemenata: Česti podskupovi od 2 elementa: n n 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). 26

Pravila pridruživanja Primjer generiranja čestog podskupa APRIORI postupkom Promatramo raniji primjer: n n Ranije

Pravila pridruživanja Primjer generiranja čestog podskupa APRIORI postupkom Promatramo raniji primjer: n n 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. 27

Pravila pridruživanja Primjer generiranja čestog podskupa APRIORI postupkom Neka su na razini k=3 elementi

Pravila pridruživanja Primjer generiranja čestog podskupa APRIORI postupkom Neka su na razini k=3 elementi leksički uređeni i čine česte podskupove: L 3={abc, abd, ace, bcd} 1. Korak: Self-joining: L 3*L 3 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 L 3 3. Korak: Kandidat za k=4 čest skup je (i on se provjerava u bazi da li je stvarno čest) C 4={abcd} 28

Pravila pridruživanja Pseudo kod APRIORI algoritma: 29

Pravila pridruživanja Pseudo kod APRIORI algoritma: 29

Pravila pridruživanja Generiranje jakih pravila iz čestog (engl. frequent ) skupa Neka je nađen

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

Pravila pridruživanja Poteškoće u generiranju pravila pridruživanja n n Jezgra APRIORI algoritma n Uporabi

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

Pravila pridruživanja Postupci efikasnijeg generiranje pravila Uporaba hash funkcije u generiranju adresa tablice s

Pravila pridruživanja Postupci efikasnijeg generiranje pravila Uporaba hash funkcije u generiranju adresa tablice s čestim podskupovima n n 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 n n Transakcija koja nema k-1 česte podskupove se izostavlja u daljnjem ispitivanju (beskorisna je). Dijeljenje skupa transakcija u particije n n 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 n n Vjerojatno je da se neki podskupovi ne pronađu, snizuje se prag potpore. Dinamičko brojanje n n Česti podskupovi se izdvajaju tijekom prolaza po dijelovima, a ne prije cijelog prolaza kroz bazu kao kod Apriori algoritma. 32

Pravila pridruživanja - vizualizacija Prikaz tablicom 33

Pravila pridruživanja - vizualizacija Prikaz tablicom 33

Pravila pridruživanja Vizualizacija planarnim grafom 34

Pravila pridruživanja Vizualizacija planarnim grafom 34

Pravila pridruživanja Vizualizacija U ORACLE sustavu 35

Pravila pridruživanja Vizualizacija U ORACLE sustavu 35

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

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

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

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

Pravila pridruživanja Višerazinska pravila pridruživanja Elementi (proizvodi) često čine hijerarhiju. Elementi na nižoj razini

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 n n n n Razinu po razinu nezavisno Pojedini elementi kroz razine Podskupovi elemenata kroz razine Food bread milk skim Fraser 2% wheat white Sunset 38

Pravila pridruživanja Postupci generiranja višerazinskih pravila pridruživanja “Od vrha prema dolje” tako da se

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

Pravila pridruživanja Taksonomija pravila pridruživanja n Jedno-dimenzijska pravila (jedan predikat u pravilu): buys(X, “milk”)

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

Pravila pridruživanja Budući pravci istraživanja n n Booleova i kvantitativna pridruživanja n Pridruživanja diskretnih

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

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

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

Pohranjeni primjeri n n Ovaj postupak temelji se na pohranjenim primjerima za koje je

Pohranjeni primjeri n n 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 n Većina sustava koristi tzv. Euklidsku udaljenost. Neka jedan primjer, označeno (1), ima vrijednosti atributa: a 1(1), a 2(1), …, ak(1) Drugi primjer (2) ima vrijednost atributa: a 1(2), a 2(2), …, ak(2) (gdje k predstavlja broj atributa) 43

Pohranjeni primjeri Euklidska udaljenost je definirana: n n Striktno gledano nije potrebno računati korijen

Pohranjeni primjeri Euklidska udaljenost je definirana: n n 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: 44

Pohranjeni primjeri Normalizacija vrijednosti atributa: gdje i predstavlja vrijednost atributa i, a maksimum i

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. 45

Pohranjeni primjeri Problem nedostajućih vrijednosti Nominalni atributi: Nedostaje jedna ili obje: razlika = 1.

Pohranjeni primjeri Problem nedostajućih vrijednosti Nominalni atributi: Nedostaje jedna ili obje: razlika = 1. Numerički atributi: n Obje vrijednosti nedostaju: razlika = 1. n 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). 46

Pohranjeni primjeri n Shema učenja temeljena na pohranjenim primjerima Implicitno se pretpostavlja da se

Pohranjeni primjeri n 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: n 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. n Daje loše rezultate kad u podacima šuma jer je razred novog primjera određena pomoću samo jednog najbližeg susjeda koji može bit korumpiran šumom. n 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. 47

Pohranjeni primjeri Povećanje efikasnosti pretraživanja primjera 1/3 n n Pohranjeni primjeri u memoriji predstavljeni

Pohranjeni primjeri Povećanje efikasnosti pretraživanja primjera 1/3 n n Pohranjeni primjeri u memoriji predstavljeni su kao stablo (k. D-stablo, engl. k. D-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 a 1 i a 2 ) i 4 pohranjenih primjera: 48

Pohranjeni primjeri Povećanje efikasnosti pretraživanja primjera 2/3 Izgradnja stabla: Prvi primjer (7, 4) je

Pohranjeni primjeri Povećanje efikasnosti pretraživanja primjera 2/3 Izgradnja stabla: Prvi primjer (7, 4) je korijen stabla i dijeli prostor horizontalno (a 2 = 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 k. D-stabla danog na slici: n Novi primjer je označen zvijezdom. n List te regije je označen crno. To nije nužno najbliži, ali je prva dobra aproksimacija. n Svaki bliži bi morao biti unutar crtkanog kruga. n 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. n Algoritam je bitno brži od postupka ispitivanja svih primjera. n Potrebno je uočiti da se ne traži udaljenost prema granicama nego i dalje prema pohranjenom primjeru. 49

Pohranjeni primjeri Ostale metode povećanja efikasnosti pretraživanja 3/3 n n n Umjesto pamćenja svih

Pohranjeni primjeri Ostale metode povećanja efikasnosti pretraživanja 3/3 n n n 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 n 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. 50

Pohranjeni primjeri Smanjenje utjecaja šuma k-najbližih susjeda n Umjesto pretrage za jednim najbližim susjedom,

Pohranjeni primjeri Smanjenje utjecaja šuma k-najbližih susjeda n Umjesto pretrage za jednim najbližim susjedom, locira se manji broj (npr. k = 5) - najbližih susjeda. n Razred novoga primjera određuje se većinskim glasanjem k – najbližih susjeda. n Što je veći šum potreban je veći broj primjera. Praćenje uspješnosti svakog primjera n Zapisuju se ispravne i neispravne klasifikacije za svaki pohranjeni primjer. n 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). n U sustavu WEKA implementirano je praćenje uspješnosti (npr. algoritam IB 3 - Instance based ver 3). 51

Pohranjeni primjeri Atributi s težinama n n Euklidska udaljenosti i normalizacija je dobar postupak

Pohranjeni primjeri Atributi s težinama n n 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: n Svaki atribut ima težinski faktor. n Mjera udaljenosti uključuje težinske faktore wi za svali atribut: n U nekim primjenama težinski faktori su ovisni o razredu. U tom slučaju postojat će odvojeni skup težina za svaki razred. 52

Pohranjeni primjeri Atributi s težinama Adaptacija težina n Svi težinski faktori atributa obnove se

Pohranjeni primjeri Atributi s težinama Adaptacija težina n 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. n Za svaki atribut i, razlika | xi - yi | predstavlja mjeru doprinosa toga atributa odluci (mala razlika = atribut pozitivno pridonosi odluci). n Namjera je da se osvježi i-ta težina na osnovu veličine ove razlike i točnosti klasifikacije. n Ako je klasifikacija ispravna i-ta težina se poveća (obrnuto proporcionalno razlici | xi - yi | ). n Ako je klasifikacija neispravna i-ta težina se smanjuje (proporcionalno razlici | xi - yi | ). n Promjenu težine obično slijedi korak ponovne normalizacije. 53

Pohranjeni primjeri Generaliziranje primjera n n n n Primjeri se generaliziraju (zamijenjuju) s višedimenzionalnim

Pohranjeni primjeri Generaliziranje primjera n n n n Primjeri se generaliziraju (zamijenjuju) s višedimenzionalnim (broj atributa) pravokutnim regijama u prostoru primjera (hiperpravokutnici). 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 hiperpravokutnik 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. 54

Pohranjeni primjeri Generaliziranje primjera Funkcija udaljenosti do hiperpravokutnika n Udaljenost od primjera do hiperpravokutnika

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