Učenje pravilom asocijacije

U traženju podataka učenje pravilom asocijacije je popularan i dobro istražen metod za otkrivanje interesantnih odnosa između promenljivih u velikim bazama podataka. Namenjeno je pronalaženju jakih zakona otkrivenim u bazama podataka korišćenjem različitih mera interesantnosti.[1] Zasnovano na konceptu jakih zakona, Rakeš Agraval et al. (Rakesh Agrawal et al.)[2] je uveo pravila asocijacije za otkrivanje regularnosti između produkata u transakcijama podataka velikih razmera zabeleženih od strane mesta prodaje (POS) sistema u supermarketima. Na primer, pravilo nađeno u podacima o prodaji supermarketa znači da ako kupac pazari luk i krompir zajedno najverovatnije da će takođe kupiti i meso za pljeskavicu. Takve informacije mogu biti korišćene kao osnova za odluke o marketinškim aktivnostima kao što su promotivne cene ili raspoređivanje proizvoda. Kao dodatak gorenavedenom iz analize potrošačkih korpi asocijativna pravila su danas uključena u mnoge oblasti kao što su pretraživanje korišćenja veba, detekcije upada, neprekidne produkcije i bioinformatike. Nasuprot pretraživanju nizova učenje pravilom asocijacije obično ne uzima u obzir redosled pojmova ili u ili kroz transakcije.

Definicija uredi

Primer baze sa 4 proizvoda i 5 transakcija
Broj transakcije mleko hleb puter pivo
1 1 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 1 1 0
5 0 1 0 0

Prateći prvobitnu definiciju Agravala et al.[2] problem pretraživanja učenjem pravilom asocijacije je definisano kao: Neka su   set   binarnih atributa nazvanih stavke. Neka je   set transakcija nazvan bazom podataka. Svaka transakcija u   ima jedinstvenu identifikaciju i sadrži podniz stavki u  . Pravilo je definisano kao implikacija izraza   gde je   i  . Nizovi stavki   and   se nazivaju prethodnici (leva strana ili LHS - left-hand-side) i sledbenici (desna strana ili RHS - right-hand-side).

Da bismo ilustrovali koncepte, koristimo kratki primer iz oblasti supermarketa. Lista stavki je   i mala baza podataka koja sadrži stavke (1 kodira prisustvo a 0 odsustvo stavke u transakciji) je prikazana u tabeli sa desne strane. Primer pravila za supermarket može da bude   što može da znači da ako bi kupci uzeli hleb i puter, takođe bi uzeli i mleko.

Napomena: ovaj primer je izuzetno mali. U praktičnoj primeni pravilo mora da bude potkrepljeno sa nekoliko stotina transakcija pre nego što bi bilo smatrano statistički značajnim, a grupe podataka često sadrže hiljade ili milione transakcija.

Korisni koncepti uredi

Da bismo odabrali interesantna pravila iz grupe svih mogućih pravila, ograničenja na različitim merilima značaja mogu biti korišćena. Najpoznatija ograničenja su minimalni pragovi podrške i poverenja.

  • Podrška   grupe stavki   je definisana kao proporcija transakcija u grupi podataka koja sadrži tu grupu stavki. U primeru baze podataka grupa stavki   ima podršku   jer se dešava u 20% svih transakcija (u jednoj od pet transakcija).
  • Poverenje pravila je definisano   . Na primer, pravilo   ima poverenje   u bazi podataka, što znači da je za 50% transakcija koje sadrže mleko i hleb pravilo ispravno (50% od svih situacija kada kupac uzme mleko i hleb, uzima i puter). Budite oprezni kada čitate izraz: Ovde supp(X∪Y) znači "podrška za situacije transakcija u kojima se X i Y pojavljuju, a ne podrška za situacije transakcija gde se ili X ili Y pojavljuju". Argument   je grupa preduslova, pa s tim postaje restriktivnija kako raste (umesto više inkluzivna).
  • Poverenje može da bude interpretirano kao procena verovatnoće  , verovatnoća nalaženja sledbenika ovog pravila u transakcijama pod uslovom da ove transakcije takođe sadrže prethodnik.[3]
  • [[Lift (eksploracija podataka)|Lift] pravila je definisan kao   ili učestalost posmatrane podrške onoga što je očekivano ako su X i Y nezavisni. Pravilo   ima lift  .
  • Konvikcija pravila je definisana kao  . Pravilo   ima konvikciju  , i može biti interpretirano kao udeo očekivane učestalosti kojom se X pojavljuje bez Y (odnosno učestalost kojom pravilo čini pogrešno predviđanje) ako su X i Y nezavisni i podeljeni posmatranom učestalošću netačnih predviđanja. U ovom primeru, vrednost konvikcije od 1.2 pokazuje da će pravilo   biti netačno 20% češće ako je povezanost između X i Y potpuno slučajna.

Proces uredi

 
Boja pravougaonika pokazuje koliko transakcija sadrži kombinaciju stavki. Uzmite u obzir da niži nivoi grafika sadrže najviše minimalni broj svojih roditelja - stavki. Ovo se zove mogućnost zatvaranja nadole. [2]

Pravila asocijacije često moraju da zadovoljavaju minimalnu podršku naznačenu od strane korisnika, kao i minimalno poverenje u isto vreme. Izrada pravila asocijacije je obično podeljena na dva odvojena koraka:

  1. Minimalna podrška se primenjuje kako bi bile pronađene učestale grupe stavki u bazi podataka.
  2. Ove učestale grupe stavki i ograničenje minimalnog poverenja se koriste za izradu pravila.

Dok je drugi korak direktan, prvi korak zahteva više pažnje.

Nalaženje svih učestalih grupa stavki u bazi podataka je teško zato što ono uključuje pretragu svih mogućih grupa stavki (kombinacije stavki). Skup mogućih grupa stavki je [[Partitivni skup|nadskup] od   veličine   (isključujući prazan skup koji nije validan skup stavki). Iako veičina nadskupa raste eksponencijalno u broju stavki   u  , efikasna pretraga je moguća koristeći mogućnost zatvaranja nadole[2][4] što garantuje da za čest skup stavki svi njegovi podskupovi su takođe česti i stoga za redak skup stavki svi njegovi nadskupovi moraju biti takođe retki. Istražujući ovu osobinu, efikasni algoritmi mogu naći sve česte skupove stavki.

Istorija uredi

Koncept asocijativnih pravila je popularizovan najviše zahvaljujući članku Agravala et. al[2] iz 1993. koji je pribavio više od 6000 citata i stoga je jedan od najcitiranijih radova u oblasti prikupljanja podataka. Ipak, moguće je da su sada zvana "pravila asocijacije" slična onome što se pojavljuje u radu 1966.[5] godine. Na Guha, opštem metodu pretrage podataka razvijenom od strane Petr Hájek et al.[6]

Alternativne mere zanimljivosti uredi

Pored poverenja i druge mere interesantnosti su predložene za pravila. Neke popularne mere su:

Definicija ovih mera može biti nađena ovde Arhivirano na sajtu Wayback Machine (2. avgust 2018). Još nekoliko mera je predstavljeno i upoređeno od strane Tan et al.[12] Traženje tehnika koje predstavljaju šta je korisnik znao (i korišćenje ovih modela kao mera interesantnosti) je trenutno aktivno istraživanje pod imenom "Subjektivna zanimljivost".

Statistički važne asocijacije uredi

Jedno ograničenje standardnog pristupa otkrivanju asocijacija je što pretraga velikog broja mogućih asocijacija u potrazi za kolekcijama stavki koje se povezuju, povlači veliki rizik za pronalaženje mnogo sumnjivih asocijacija. Ovo su kolekcije stavki koje se dešavaju neočekivanom učestalošću u podacima, ali samo slučajno. Na primer, pretpostavimo da u kolekciji od 10 000 stavki tražimo pravila koja sadrže dve stavke u levoj strani i jednu u desnoj. Približno ima 1 000 000 000 000 takvih pravila. Ako primenimo statistički tekst za nezavisnost sa nivoom značaja od 0.05 to znači da postoji samo 5% šanse za prihvatanje pravila ako ne postoji asocijacija. Ako pretpostavimo da asocijacije ne postoje, bez obzira na to možemo očekivati da nađemo 50 000 000 000 pravila. Otkrivanje statistički značajnih asocijacija[13][14] kontroliše ovaj rizik, u većini slučajeva smanjujući rizik nalaženja bilo kakvih lažnih asocijacija za nivo korisnički definisan nivo značaja.

Algoritmi uredi

Mnogi algoritmi za pravljenje pravila asocijacije su vremenom prikazani.

Neki poznati algoritmi su Apriori, Eklat i FP-rast, ali oni rade samo pola posla, zbog toga što su algoritmi za pronalaženje učestalih skupova stavki. Još jedan korak mora biti urađen da bi se napravila pravila iz učestalih skupova stavki nađenih u bazi podataka.

Apriori algoritam uredi

Apriori algoritam - apriori je najpoznatiji algoritam za pretraživanje pravila asocijacije. Koristi BFS strategiju (pretraga u širinu) za brojanje skupova stavki i koristi funkciju nalaženja kandidata koja ima osobinu zatvaranja nadole.

Eklat algoritam uredi

Eklat je algoritam za pretragu u dubinu koji koristi presecanje skupova.

FP-rast algoritam uredi

FP označava učestali šablon (na engleskom).

U prvom prolazu, algoritam broji pojavljivanje stavki (parovi atribut-vrednost) u skupu podataka, i učitava ih u 'heder tabelu'. U drugom prolazu pravi FP stablo tako što ubacuje instance. Stavke u svakoj instanci moraju biti sortirane u opadajućem poretku prema svojoj učestalosti u skupu podataka, tako da stablo može biti brzo obrađeno. Stavke u svakoj instanci koje ne zadovoljavaju prag minimalne pokrivenosti se odbacuju. Ako mnogo instanci deli najučestalije stavke, FP stablo pruža visoku kompresiju u blizini korena stabla.

Rekurzivno obrađivanje ovih kompresovanih verzija glavnog skupa podataka stvara velike skupove stavki direktno, umesto pravljenja stavki kandidata i testiranja istih u odnosu na celu bazu podataka. Rast počinje sa dna tabele zaglavlja (heder tabele koja ima najduže grane), nalaženjem svih instanci koje odgovaraju datom uslovu. Pravi se novo drvo sa tačkama iz prvobitnog drveta u odnosu na skup instanci koje su uslovljene atributom, sa svakim čvorom koji sadrži sumu tačaka svoje dece. Rekurzivni rast se završava kada ni jedna stavka uslovljena atributom ne dostigne minimalni prag podrške i procesiranje se nastavlja na ostatku stavki zaglavlja prvobitnog FP drveta.

Kada se rekurzivni proces jednom završi svi veliki skupovi stavki sa minimalnom pokrivenošću su nađeni i počinje stvaranje pravila asocijacije. [15]

GUHA procedura uredi

GUHA je uopšteni metod za analizu podataka koji ima teoretski temelj u izračunavanju posmatranjem.[16]

ASSOC procedura[17] je GUHA metod koji traži generalizovana pravila asocijacije koristeći brze operacije bit stringa. Pravila asocijacije pronađena ovim metodom su više uopštena nego ona nađena apriori metodom, na primer "stavke" mogu biti povezane i sa konjukcijom i sa disjunkcijom i relacija između prethodnika i sledbenika pravila nije ograničena na postavljanje minimalne podrške i poverenja kao u apriori-u: kombinacija podržanih mera interesovanja može biti korišćena.

OPUS pretraga uredi

OPUS je efikasan algoritam za promalaženje pravila koji, suprotno mnogima alternativama, ne zahteva ni monotona ni antimonotona ograničenja kao što su minimalna podrška.[18] Prvobitno korišćeno za pronalaženje pravila za fiksiranu i doslednu,[18][19] a proširen za nalaženje pravila za bilo koju stavku kao doslednu.[20] Opus pretraga je ključna tehnologija u popularnom Magnum Opus sistemu otkrivanja asocijacija.

Znanje uredi

Poznata priča o pronalaženju pravila asocijacije je priča o "pivu i peleni". Anketa o ponašanju kupaca u supermarketu otkrila je da kupci (mladi muškarci najčešće) koji kupe pelene vrlo često kupe i pivo. Ova anegdota je postala popularna kao primer toga kako neočekivana pravila asocijacije mogu biti nađena u podacima iz svakodnevice. Postoje različita mišljenja o tome koliko je ova priča tačna.[21] Daniel Powers says:[21]

1992. godine, Tomas Blišok, menadžer konsalting grupe u "Teradata", zajedno sa svojim zaposlenima, pripremio je analizu 1,2 miliona potrošačkih korpi iz otprilike 25 prodavnica Osko. Upitnik je izrađen za prepoznavanje sklonosti. Analiza "je otkrila da su potrošači između pet i sedam časova popodne kupovali pivo i pelene". Menadžeri u Osku NISU iskoristili povezanost piva i pelena tako što bi pomerili proizvode bliže jedan drugom na policama.

Ostali tipovi traženja asocijacija uredi

Učenje različitih skupova je oblik asocijativnog učenja. Oni koji ga koriste, koriste pravila koja značajno odstupaju u svojoj raspoređenosti kroz potskupove.[22]

Učenje opterećenih klasa je još jedan oblik asocijativnog učenja u kome opterećenost možće biti dodeljena klasama kako bi dala fokus određenom problemu za potrošača rezultata pronalaženja podataka.

Otkrivanje šablona visokog reda - ove tehnike ubrzavaju hvatanje šablona visokog reda (politetičkih) ili asocijacija događaja unutar kompleksnih podataka stvarnog sveta.[23]

K-optimalno otkrivanje šablona omogućava alternativu standardnom pristupu učenju pravila asocijacije koje zahteva da se svaki šablon ponavlja u podacima.

Generalizovana pravila asocijacije - konceptna hijerarhija.

Kvantitativna pravila asocijacije - kategorični i kvantitativni podaci.[24]

Pravila asocijacije podataka u intervalima.

Maksimalna pravila asocijacije.

Pronalaženje sekvencijalnih šablona - niz je uređena lista transakcija.[25]

Sekvencijalna pravila - otkrivanje povezanosti između stavki uzimajući u obzir vremensku raspoređenost. Najčešće se primenjuje na bazu podataka nizova. Na primer, sekvencijalno pravilo nađeno u bazi podataka nizova transakcija potrošača može biti da potrošači koji su kupili kompjuter i cd-romove, kasnije kupe veb kameru.

Reference uredi

  1. ^ Piatetsky-Shapiro, Gregory (1991), Discovery, analysis, and presentation of strong rules, in Piatetsky-Shapiro, Gregory; and Frawley, William J.; eds., Knowledge Discovery in Databases, AAAI/MIT Press, Cambridge, MA.
  2. ^ a b v g d Agrawal, R.; Imieliński, T.; Swami, A. (1993). „Mining association rules between sets of items in large databases”. Proceedings of the 1993 ACM SIGMOD international conference on Management of data - SIGMOD '93. str. 207. ISBN 978-0-89791-592-2. doi:10.1145/170035.170072. 
  3. ^ Hipp, J.; Güntzer, U.; Nakhaeizadeh, G. (2000). „Algorithms for association rule mining --- a general survey and comparison”. ACM SIGKDD Explorations Newsletter. 2: 58—64. S2CID 9248096. doi:10.1145/360402.360421. 
  4. ^ Tan, Pang-Ning; Michael, Steinbach; Kumar, Vipin (2005). „Chapter 6. Association Analysis: Basic Concepts and Algorithms” (PDF). Introduction to Data Mining. Addison-Wesley. ISBN 978-0-321-32136-7. 
  5. ^ Hájek, Petr; Havel, Ivan; Chytil, Metoděj; The GUHA method of automatic hypotheses determination, Computing 1 (1966) 293-308
  6. ^ Hájek, Petr; Feglar, Tomas; Rauch, Jan; and Coufal, David; The GUHA method, data preprocessing and mining, Database Support for Data Mining Applications. . Springer. 2004. ISBN 978-3-540-22479-2.  Nedostaje ili je prazan parametar |title= (pomoć)
  7. ^ Omiecinski, Edward R.; Alternative interest measures for mining associations in databases, IEEE Transactions on Knowledge and Data Engineering, . 15 (1): 57—69.  Nedostaje ili je prazan parametar |title= (pomoć), Jan/Feb 2003
  8. ^ Aggarwal, Charu C.; and Yu, Philip S.; A new framework for itemset generation, in PODS 98, Symposium on Principles of Database Systems, Seattle, WA, USA, 1998, pages 18-24
  9. ^ Brin, Sergey; Motwani, Rajeev; Ullman, Jeffrey D.; and Tsur, Shalom; Dynamic itemset counting and implication rules for market basket data, in SIGMOD 1997, Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD 1997), Tucson, Arizona, USA, May 1997, pp. 255-264
  10. ^ Piatetsky-Shapiro, Gregory; Discovery, analysis, and presentation of strong rules, Knowledge Discovery in Databases, 1991, pp. 229-248
  11. ^ Brin, Sergey; Motwani, Rajeev; Ullman, Jeffrey D.; and Tsur, Shalom; Dynamic itemset counting and implication rules for market basket data, in SIGMOD 1997, Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD 1997), Tucson, Arizona, USA, May 1997, pp. 265-276
  12. ^ Tan, Pang-Ning; Kumar, Vipin; and Srivastava, Jaideep; Selecting the right objective measure for association analysis, Information Systems, . 29 (4): 293—313.  Nedostaje ili je prazan parametar |title= (pomoć), 2004
  13. ^ Webb, Geoffrey I. (2007); Discovering Significant Patterns, Machine Learning 68(1), Netherlands: Springer, pp. 1-33 online access[mrtva veza]
  14. ^ Gionis, Aristides; Mannila, Heikki; Mielikäinen, Taneli; and Tsaparas, Panayiotis; Assessing Data Mining Results via Swap Randomization, ACM Transactions on Knowledge Discovery from Data (TKDD), Volume 1, Issue 3 (December 2007), Article No. 14
  15. ^ Witten, Frank, Hall: Data mining practical machine learning tools and techniques, 3rd edition
  16. ^ Rauch, Jan; Logical calculi for knowledge discovery in databases, in Proceedings of the First European Symposium on Principles of Data Mining and Knowledge Discovery, Springer, 1997, pp. 47-57
  17. ^ Hájek, Petr (1978). Mechanizing Hypothesis Formation: Mathematical Foundations for a General Theory. and Havránek, Tomáš. Springer-Verlag. ISBN 978-3-540-08738-0. 
  18. ^ a b Webb, Geoffrey I. (1995); OPUS: An Efficient Admissible Algorithm for Unordered Search, Journal of Artificial Intelligence Research 3, Menlo Park, CA: AAAI Press, pp. 431-465 online access Arhivirano 2001-11-18 na sajtu Library of Congress Web Archives|Web Archives
  19. ^ Bayardo, Roberto J., Jr.; Agrawal, Rakesh; Gunopulos, Dimitrios (2000). „Constraint-based rule mining in large, dense databases”. Data Mining and Knowledge Discovery. 4 (2): 217—240. S2CID 5120441. doi:10.1023/A:1009895914772. 
  20. ^ Webb, Geoffrey I. (2000); Efficient Search for Association Rules, in Ramakrishnan, Raghu; and Stolfo, Sal; eds.; Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-2000), Boston, MA, New York, NY: The Association for Computing Machinery, pp. 99-107 online access
  21. ^ a b „DSS News: Vol. 3, No. 23”. 3 (23). 
  22. ^ Menzies, Tim; and Hu, Ying; Data Mining for Very Busy People, IEEE Computer, October 2003, pp. 18-25
  23. ^ Wong, Andrew K.C. (1997). Wang, Yang. „High-order pattern discovery from discrete-valued data”. IEEE Transactions on Knowledge and Data Engineering (TKDE). 9 (6): 877—893. doi:10.1109/69.649314. 
  24. ^ Salleb-Aouissi, Ansaf (2007). Vrain, Christel; and Nortet, Cyril. „QuantMiner: A Genetic Algorithm for Mining Quantitative Association Rules”. International Joint Conference on Artificial Intelligence (IJCAI): 1035—1040. 
  25. ^ Zaki, Mohammed J. (2001); SPADE: An Efficient Algorithm for Mining Frequent Sequences, Machine Learning Journal, 42, pp. 31–60

Literatura uredi