Πανεπιστήµιο Πειραιώς - Τµήµα Πληροφορικής Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Mining) Τεχνικές Data Mining Γιάννης Θεοδωρίδης Οµάδα ιαχείρισης εδοµένων Εργαστήριο Πληροφοριακών Συστηµάτων http://isl.cs.unipi.gr/db version: 2007-06-05 Περιεχόµενα Τι είναι η διαδικασία ανακάλυψης γνώσης από δεδοµένα (Knowledge Discovery in Data KDD ή data mining) Βασικές τεχνικές data mining Κατηγοριοποίηση ή ταξινόµηση (classification) Συσταδοποίηση ή οµαδοποίηση (clustering) Εξαγωγή κανόνων συσχετίσεων (association rule mining) 2 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 1
Περιεχόµενα Τι είναι η διαδικασία ανακάλυψης γνώσης από δεδοµένα (Knowledge Discovery in Data KDD ή data mining) Βασικές τεχνικές data mining Κατηγοριοποίηση ή ταξινόµηση (classification) Συσταδοποίηση ή οµαδοποίηση (clustering) Εξαγωγή κανόνων συσχετίσεων (association rule mining) 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κίνητρο: µεγάλες βάσεις δεδοµένων Παράγονται όλο και περισσότερα δεδοµένα: Τραπεζικά, τηλεπικοινωνιακά,... Επιστηµονικά δεδοµένα: αστρονοµικά, βιολογικά κλπ. Αποθηκεύονται όλο και περισσότερα δεδοµένα: Γρήγορη και φθηνή τεχνολογία αποθήκευσης Ικανά Σ Β για µεγάλες Β Παράδειγµα µεγάλης Β : Η Β της επιχείρησης λιανεµπορίου Wal-Mart είναι της τάξης των 24 Tbytes Άρα χρειάζεται η ανακάλυψη γνώσης µέσα από τα δεδοµένα (Knowledge Discovery in Data - KDD) για να δώσει νόηµα και χρήση στα δεδοµένα 4 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 2
ιαδικασία ανακάλυψης γνώσης Ολοκλήρωση Ερµηνεία & Αξιολόγηση Knowledge Πρωτογενή δεδοµένα Επιλογή & καθαρισµός Αποθήκη εδοµένων (data warehouse) Μετασχηµατισµός Εξόρυξη Γνώσης (Data Mining Μετ/να εδοµένα δεδοµένα στόχος (target data) Πρότυπα (patterns) και Κανόνες (rules) Γνώση Κατανόηση 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Τεχνικές DM Yes Refund No Classification Decision Trees, Neural Nets,... Clustering Spherical, density-based, Association rule mining MarSt NO Single, Divorced TaxInc < 80K > 80K YES NO NO Married 6 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 3
Περιεχόµενα Τι είναι η διαδικασία ανακάλυψης γνώσης από δεδοµένα (Knowledge Discovery in Data KDD ή data mining) Βασικές τεχνικές data mining Κατηγοριοποίηση ή ταξινόµηση (classification) Συσταδοποίηση ή οµαδοποίηση (clustering) Εξαγωγή κανόνων συσχετίσεων (association rule mining) 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατηγοριοποίηση (Classification) Εκµάθηση µιας τεχνικής να προβλέπει την κλάση ενός στοιχείου επιλέγοντας από προκαθορισµένες τιµές 8 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 4
Το πρόβληµα της κατηγοριοποίησης Αν µας δοθεί µια βάση δεδοµένων D={t 1, t 2,, t n } και ένα σύνολο κατηγοριών -"κλάσεων" C={C 1,, C m },... το Πρόβληµα Κατηγοριοποίησηςέγκειται στον ορισµό µιας απεικόνισης f: D C όπου κάθε εγγραφή t i ανατίθεται σε µία κλάση C j. Ουσιαστικά, η κατηγοριοποίηση διαµερίζει τη D σε κλάσεις ισοδυναµίας. Η Πρόβλεψη είναι παρόµοιο πρόβληµα, αλλά µπορεί να θεωρηθεί ότι έχει άπειρο αριθµό κλάσεων. 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παραδείγµατα κατηγοριοποίησης Οι δάσκαλοι αναθέτουν βαθµούς µέσα από µία κλίµακα [A..Γ], [0..10], [0..20]. Τα µανιτάρια ταξινοµούνται σε δηλητηριώδη και µη. Μπορεί να γίνει πρόβλεψη (εκτίµηση πιθανότητας) εάν θα πληµµυρίσει ένας ποταµός. Οι πελάτες της τράπεζας µπορούν να κατηγοριοποιηθούν ως προς την πιστωτική τους ικανότητα. 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 5
Τεχνικές κατηγοριοποίησης Τυπική προσέγγιση: 1. ηµιουργία ενός µοντέλου µέσω της αξιολόγησης ενός συνόλου δεδοµένων εκπαίδευσης (training data) (ή µέσω της γνώσης ειδικών του πεδίου). 2. Εφαρµογή του µοντέλου σε νέα δεδοµένα. Οι κλάσεις πρέπει να είναι προκαθορισµένες Οι πιο κοινές τεχνικές είναι τα δένδρα αποφάσεων, τα νευρωνικά δίκτυα και τεχνικές βασισµένες σε απόσταση ή σε στατιστικές µεθόδους. 11 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 1 ο βήµα: ηµιουργία µοντέλου εδοµένα εκπαίδευσης (training data) Αλγόριθµος Κατηγοριοποίησης όνοµα βαθµίδα έτη µόνιµος Μιχάλης Επικ.Καθηγητής 3 ΟΧΙ Νίκος Επικ.Καθηγητής 7 ΝΑΙ Βασίλης Καθηγητής 2 ΝΑΙ ηµήτρης Αναπλ.Καθηγητής 7 ΝΑΙ Γιώργος Επικ.Καθηγητής 6 ΟΧΙ Κώστας Αναπλ.Καθηγητής 3 ΟΧΙ Μοντέλο IF βαθµίδα = Καθηγητής OR έτη > 6 THEN µόνιµος = ΝΑΙ 12 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 6
2 ο βήµα: Εφαρµογή µοντέλου Μοντέλο οκιµαστικά εδοµένα (test data) Νέα δεδοµένα (Γιάννης, Καθηγητής, 4) όνοµα βαθµίδα έτη µόνιµος Θωµάς Επικ.Καθηγητής 2 ΟΧΙ Νίκος Αναπλ.Καθηγητής 7 ΟΧΙ Γεράσιµος Καθηγητής 5 ΝΑΙ Ιωσήφ Επικ.Καθηγητής 7 ΝΑΙ Μόνιµος; 13 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κατηγοριοποίηση µε δένδρα αποφάσεων (decision trees) Κατηγοριοποίηση βασισµένη στη διαµέριση: διαίρεση του χώρου σε ορθογώνιες περιοχές Οι εγγραφές ανατίθενται σε κλάσεις µε βάσητηνπεριοχή µέσα στην οποία πέφτουν. = Καθηγητής Οι τεχνικές Α διαφέρουν µεταξύ τους στον τρόπο ΝΑΙ κατασκευής του δένδρου (επαγωγή Α) Οι εσωτερικοί κόµβοι ενός Α αντιστοιχούν σε χαρακτηριστικά και τα τόξα ενός Α σε τιµές αυτών των χαρακτηριστικών. Αλγόριθµοι: ID3, C4.5, CART Βαθµίδα Καθηγητής 14 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 6 ΟΧΙ έτη >6 ΝΑΙ Page 7
Παράδειγµα: πρόγνωση καιρού Outlook Temperature Humidity Windy Play? sunny hot high false No sunny hot high true No overcast hot high false Yes rain mild high false Yes rain cool normal false Yes rain cool normal true No overcast cool normal true Yes sunny mild high false No sunny cool normal false Yes rain mild normal false Yes sunny mild normal true Yes overcast mild high true Yes overcast hot normal false Yes rain mild high true No 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα Α για το χαρακτηριστικό Play? Outlook sunny overcast rain Humidity Yes Windy high normal true false No Yes No Yes 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 8
ένδρο Απόφασης οθέντων: µιας βάσης δεδοµένων D = {t 1,, t n } όπου t i =<t i1,, t ih > του σχήµατος της Β {A 1, A 2,, A h } ενός συνόλου κλάσεων C={C 1,., C m } ένδρο απόφασης (ή κατηγοριοποίησης) είναι ένα δένδρο συσχετισµένο Βαθµίδα µε τηd έτσι ώστε = Καθηγητής Κάθε εσωτερικός κόµβος έχει ως ετικέτα ένα χαρακτηριστικό, A i Κάθε τόξο έχει ως ετικέτα ένα κατηγόρηµα πουµπορεί να εφαρµοστεί στο χαρακτηριστικό του κόµβου-γονέα Κάθε φύλλο (τερµατικός κόµβος) έχει ως ετικέτα µια κλάση, C j ΝΑΙ 6 ΟΧΙ Καθηγητής έτη >6 ΝΑΙ 17 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Επαγωγή Α Input: D //Training data Output: T //Decision tree DTBuild algorithm: //Simplistic algorithm to illustrate naïve approach to building DT begin T = ; Determine splitting criterion; T = Create root node and label with splitting attribute; T = Add arc to root node for each split predicate and label; for each arc do begin D = Database created by applying splitting predicate to D; if stopping point reached for this path, then T = Create leaf node and label with appropriate class; else T = DTBuild(D); end T = Add T to arc; end 18 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 9
Ζητήµατα στα Α Αρχική επιλογή των χαρακτηριστικών διάσπασης Κάποια από τα χαρακτηριστικά της Β πρέπει να παραληφθούν (δεν εξυπηρετούν την κατηγοριοποίηση) Κριτήριο διάσπασης Επιλογή του χαρακτηριστικού διάσπασης και της συνθήκης διάσπασης) ενδρική δοµή επιθυµητό: ισοζυγισµένο δένδρο µε λίγα επίπεδα κάποιες τεχνικές παράγουν µόνο δυαδικά δένδρα Κριτήρια τερµατισµού ακρίβεια κατηγοριοποίησης vs. απόδοση vs. υπερπροσαρµογή (over-fitting) Κλάδεµα (pruning) εκ των υστέρων «τακτοποίηση» του Α για καλύτερη απόδοση 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σύγκριση Α Ισοζυγισµένο Α Βαθύ Α 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 10
Ποιο χαρακτηριστικό να διαλέξουµε; 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ένα κριτήριο για την επιλογή του κατάλληλου χαρακτηριστικού διάσπασης Ποιο είναι το καλύτερο; Αυτό που θα οδηγήσει στο µικρότερο δένδρο Ένας ευρετικός κανόνας (heuristic): επιλέγουµε το γνώρισµα που παράγει τους πιο "αγνούς" κόµβους. Για το σκοπό αυτό, χρησιµοποιείται µια συνάρτηση καταλληλότητας (fitness function). Στρατηγική: επιλέγουµε τογνώρισµα πουµεγιστοποιεί τη συνάρτηση καταλληλότητας Χαρακτηριστικές συναρτήσεις καταλληλότητας: Κέρδος πληροφορίας Gain (ID3) Λόγοςκέρδουςπληροφορίας GainRatio (C4.5) gini index (SPRINT) 22 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 11
Θεωρία Πληροφορίας Η επαγωγή Α βασίζεται συχνά στη Θεωρία Πληροφορίας 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Πληροφορία / Εντροπία Έστω πιθανότητες p 1, p 2,.., p s τωνοποίωντοάθροισµα είναι 1. Η Εντροπία ορίζεται ως εξής: H ( p1, p2,..., ps ) = i= 1 p log η βάση του λογάριθµου δεν προσδιορίζεται (συνήθως, 10 ή 2) Η εντροπία είναι ποσοτικοποίηση της τυχαιότητας (έκπληξης, αβεβαιότητας). Ο στόχος της κατηγοριοποίησης καθόλου έκπληξη ( εντροπία = 0) s i 1 p i H(p,1-p) 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 12
Αλγόριθµος ID3 ηµιουργεί Α µε χρήση στοιχείων από τη θεωρία πληροφορίας (εντροπία) Επιλέγει για διάσπαση το γνώρισµα µε το µεγαλύτερο κέρδος πληροφορίας (information gain): Gain ( D, S ) = H ( D) P( D ) H ( ) s i= 1 i D i H(D) ηεντροπίατουd (πριν το διαχωρισµό) H(D i ) ηεντροπίατωνεπιµέρους D i (µετά το διαχωρισµό) Όσο µεγαλύτερη είναι η µείωση (το «άλµα» προς το 0), τόσο µεγαλύτερο είναι το κέρδος Gain(D,S) 25 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα ID3 Αρχική κατάσταση εντροπίας: H(D) = 4/15 log(15/4) + 8/15 log(15/8) + 3/15 log(15/3) = 0.4384 Κέρδος αν γίνει διάσπαση στο gender: Gender= F : 3/9 log(9/3) + 6/9 log(9/6)=0.2764 Gender= M : 1/6 log(6/1) + 2/6 log(6/2) + 3/6 log(6/3) = 0.4392 Weighted sum: (9/15)(0.2764) + (6/15)(0.4392) = 0.3415 Gain: 0.4384 0.3415 = 0.0969 Κέρδος αν γίνει διάσπαση στο height: Weighted sum: 0+0+... + (2/15)(0.301) = 0.0401 Gain: 0.4384 0.0401 = 0.3983 Κατηγορήµατα διάσπασης: (0, 1.6], (1.6, 1.7], (1.7, 1.8], (1.8, 1.9], (1.9, 2.0], (2.0, ) Επιλέγουµε height Name Gender Height Output1 Kristina F 1.6m Short Jim M 2m Tall Maggie F 1.9m Medium Martha F 1.88m Medium Stephanie F 1.7m Short Bob M 1.85m Medium Kathy F 1.6m Short Dave M 1.7m Short Worth M 2.2m Tall Steven M 2.1m Tall Debbie F 1.8m Medium Todd M 1.95m Medium Kim F 1.9m Medium Amy F 1.8m Medium Wynette F 1.75m Medium 26 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 13
Σύνοψη Κατηγοριοποίηση: η ανάθεση ετικετών στις εγγραφές της βάσης δεδοµένων σχετικά µε την κλάση στην οποία ανήκει η καθεµία Αλλιώς, διαµέριση της βάσης δεδοµένων σε (προκαθορισµένες) κατηγορίες Τεχνικές: στατιστικές (παλινδρόµηση, Bayesian, ) βασισµένες σε απόσταση (k-nn, ) δένδρα αποφάσεων (ID3, C4.5, CART, ) νευρωνικά δίκτυα (Perceptron, δίκτυα RDF, ) κανόνες κατηγοριοποίησης (1R, PRISM, ) 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Περιεχόµενα Τι είναι η διαδικασία ανακάλυψης γνώσης από δεδοµένα (Knowledge Discovery in Data KDD ή data mining) Βασικές τεχνικές data mining Κατηγοριοποίηση ή ταξινόµηση (classification) Συσταδοποίηση ή οµαδοποίηση (clustering) Εξαγωγή κανόνων συσχετίσεων (association rule mining) 28 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 14
Εφαρµογές Συσταδοποίησης ιαµέριση µίας Β πελατών µε βάση παρόµοια πρότυπα αγοράς προϊόντων. Οµαδοποίηση των σπιτιών µίας πόλης σε γειτονιές µε βάση παρόµοιες ιδιότητες. Αναγνώριση νέων ειδών φυτών Αναγνώριση παρόµοιων προτύπων στη χρήση του Web. 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Συσταδοποίηση σηµείων (µε χρήση Ευκλείδειας απόστασης) 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 15
Το Πρόβληµα της Συσταδοποίησης οθέντων: µιας Β D={t 1,t 2,,t n } από εγγραφές, ενός µέτρου οµοιότητας sim(t i, t j ) µεταξύ δύο εγγραφών της Β και µιαςακέραιαςτιµής k, το Πρόβληµα της Συσταδοποίησης είναι η εύρεση µίας αντιστοίχισης f:d {1,..., k} όπου κάθε εγγραφή t i της Β αντιστοιχίζεται σε µία συστάδα K j, 1 j k, έτσι ώστε: για κάθε εγγραφή η οµοιότητα µεταξύ αυτής και οποιασδήποτε εγγραφής από την ίδια συστάδα να είναι µεγαλύτερη από την οµοιότητα µεταξύ αυτής και οποιασδήποτε εγγραφής από άλλες συστάδες. Μία Συστάδα, K j, περιέχει ακριβώς εκείνες τις πλειάδες που αντιστοιχίζονται σε αυτήν. 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Ιεραρχική Συσταδοποίηση Οι συστάδες δηµιουργούνται σε επίπεδα Κάθε επίπεδο αντιπροσωπεύει ένα σύνολο από συστάδες Συσσωρευτικοί αλγόριθµοι (agglomerative) Αρχικά κάθε στοιχείο είναι µία συστάδα Επαναληπτικά οι συστάδες συγχωνεύονται Προσέγγιση bottom-up ιαιρετικοί αλγόριθµοι (divisive) Αρχικάόλαταστοιχείασεµία συστάδα. Οι µεγάλες συστάδες προοδευτικά διαιρούνται. Προσέγγιση top-down 32 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 16
ενδρόγραµµα ενδρόγραµµα (dendrogram): µία δενδρική δοµή δεδοµένων η οποία επιδεικνύει τις ιεραρχικές τεχνικές συσταδοποίησης. Κάθε επίπεδο δείχνει τις συστάδες εκείνου του επιπέδου. Φύλλα κάθε στοιχείο αποτελεί ξεχωριστή συστάδα Ρίζα όλα τα στοιχεία αποτελούν µία συστάδα Μία συστάδα στο επίπεδο i είναι η ένωση των συστάδων-παιδιών στο επίπεδο i+1. 33 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα Συσσώρευσης Μήτρα γειτνίασης A B C D E Γράφος αποστάσεων A B A 0 1 2 2 3 B C 0 2 0 4 1 3 5 E C D 0 3 E 0 D Κατώφλι απόστασης 1 2 3 4 5 A B C D E 34 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 17
Συσσωρευτικός Αλγόριθµος 35 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Προσεγγίσεις Συσσωρευτικού Αλγόριθµου Με βάση την τεχνική που χρησιµοποιείται για τον καθορισµό της απόστασης µεταξύ δύο συστάδων Τεχνική Απλού Συνδέσµου (single link) αναζητά συνεκτικές συνιστώσες στο γράφο αποστάσεων ονοµάζεται και τεχνική συσταδοποίησης πλησιέστερου γείτονα (nearest neighbor) Παραλλαγή: µε χρήσηδένδρου ελάχιστης ζεύξης (Minimum Spanning Tree MST) Τεχνική Πλήρους Συνδέσµου (complete link) αναζητά κλίκες στο γράφο αποστάσεων Παραλλαγή: τεχνική συσταδοποίησης απώτατου γείτονα (farthest neighbor) Τεχνική Μέσου Συνδέσµου (average link) 36 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 18
Συσταδοποίηση µε ιαµέριση Μη ιεραρχική ηµιουργεί τις συστάδες σε ένα βήµα µόνο. Εφόσον υπάρχει µόνο ένα σύνολο συστάδων στην έξοδο, ο χρήστης πρέπει να εισάγει τον επιθυµητό αριθµό των συστάδων, k. Συνήθως χειρίζεται στατικά σύνολα. Πρόβληµα: οι πιθανοί συνδυασµοί n στοιχείων σε k συστάδες είναι ένας πολύ µεγάλος αριθµός (π.χ. >10 10 για n=19, k=4) Αναγκαστικά, η αναζήτηση γίνεται σε ένα µικρό υποσύνολο των πιθανών λύσεων 37 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης ιαµεριστικοί Αλγόριθµοι Τεχνική βασισµένη σε ένδρο Ελάχιστης Ζεύξης (MST) Τετραγωνικού Σφάλµατος (squared error) K-Μέσων (K-means) Πλησιέστερου Γείτονα (nearest neighbor) PAM (partitioning around medoids διαµερισµός γύρω από medoids) Τεχνική βασισµένη σε Γενετικούς Αλγορίθµους Τεχνική βασισµένη σε Νευρωνικά ίκτυα... 38 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 19
Συσταδοποίηση K-Means Το αρχικό σύνολο συστάδων επιλέγεται τυχαία. Επαναληπτικά, τα στοιχεία µετακινούνται µεταξύ συνόλων συστάδων µέχρι να φτάσουµε το επιθυµητό σύνολο. Επιτυγχάνεται υψηλός βαθµός οµοιότητας µεταξύ των στοιχείων µίας συστάδας. εδοµένης µίας συστάδας K i ={t i1,t i2,,t im }, ο µέσος της συστάδας είναι m i = (1/m)(t i1 + + t im ) Ο µέσος της συστάδας ταυτίζεται µε τοκέντροβάρους 39 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αλγόριθµος K-Means Πολυπλοκότητα O(tkn) όπου t το πλήθος των επαναλήψεων 40 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 20
Παράδειγµα K-Means (σε 2 διαστάσεις) Τυχαία επιλογή τριών (k=3) αρχικών κέντρων Y k 1 k 2 k 3 X 41 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα K-means, 1 η επανάληψη Εκχώρηση κάθε στοιχείου στο πλησιέστερό του cluster (µε βάση την απόσταση από το κέντρο του cluster) Y k 1 k 2 k 3 X 42 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 21
Παράδειγµα K-means, 1 η επανάληψη Επανυπολογισµός του νέου κέντρου βάρους του κάθε cluster Y k 1 k 1 k 2 k 2 k 3 k 3 X 43 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα K-means, 2 η επανάληψη Εκχώρηση κάθε στοιχείου στο πλησιέστερό του cluster (µε βάση την απόσταση από το κέντρο του cluster) Y k 1 k 2 k 3 X 44 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 22
Παράδειγµα K-means, 2 η επανάληψη τρία στοιχεία αλλάζουν cluster Y k 2 k 1 k 3 X 45 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα K-means, 2 η επανάληψη Επανυπολογισµός του νέου κέντρου βάρους του κάθε cluster Y k 1 k 2 k 3 X 46 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 23
Παράδειγµα K-means, 2 η επανάληψη Εκχώρηση κάθε στοιχείου στο πλησιέστερό του cluster (µε βάση την απόσταση από το κέντρο του cluster) Y k 1 k 2 k 3 εν αλλάζει τίποτα. Άρα, τέλος! X 47 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σύγκριση Τεχνικών Συσταδοποίησης 48 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 24
Σύνοψη Συσταδοποίηση: η εύρεσηοµάδων µεταξύ των δεδοµένων ενός συνόλου µε βάση ένα µέτρο απόστασης Τεχνικές: Ιεραρχικές (συσσωρευτικές / διαιρετικές, απλού / πλήρους / µέσου συνδέσµου) ιαµεριστικές (µε πιοδηµοφιλή τον αλγόριθµο Apriori) Άλλες (βασισµένες στην πυκνότητα, σε γενετικούς αλγορίθµους, παράλληλες τεχνικές κ.α.) 49 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Περιεχόµενα Τι είναι η διαδικασία ανακάλυψης γνώσης από δεδοµένα (Knowledge Discovery in Data KDD ή data mining) Βασικές τεχνικές data mining Κατηγοριοποίηση ή ταξινόµηση (classification) Συσταδοποίηση ή οµαδοποίηση (clustering) Εξαγωγή κανόνων συσχετίσεων (association rule mining) 50 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 25
εδοµένα από το «καλάθι της νοικοκυράς» Market-basket data Αντικείµενα που συχνά αγοράζονται µαζί: Bread PeanutButter Εφαρµογές: Τοποθέτηση προϊόντων στα ράφια ιαφήµιση Πωλήσεις Κουπόνια Εκπτώσεις Σκοπός αύξηση πωλήσεων και µείωση κόστους 51 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κανόνες Συσχετίσεων: Ορισµοί Σύνολο στοιχείων: I={I 1,I 2,,I m } Βάση δοσοληψιών (transaction database): D={t 1,t 2,, t n }, t j I (υπο-) σύνολο στοιχείων (itemset): {I i1,i i2,, I ik } I Υποστήριξη (support) ενός itemset: το ποσοστό των δοσοληψιών που περιέχουν το συγκεκριµένο itemset. Συχνό (frequent) itemset: Ένα itemset, η υποστήριξη του οποίου υπερβαίνει ένα συγκεκριµένο κατώφλι. Στη βιβλιογραφία αναφέρεται και ως «µεγάλο» (large itemset) Καλάθια µε beer bread Καλάθια µε beer Καλάθια µε bread 52 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 26
Παράδειγµα I={Beer,Bread,Jelly,Milk,PeanutButter} Ηυποστήριξητουitemset {Bread} είναι 80% Ηυποστήριξητουitemset {Bread, PeanutButter} είναι 60% Ηυποστήριξητουitemset {Bread, Milk, PeanutButter} είναι 20% 53 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κανόνες Συσχετίσεων: Ορισµοί (συν.) Κανόνας συσχέτισης (AR): X Y όπου X, Y I και X Y = ø Το X ονοµάζεται LHS (left-hand side) ή antecedent (προηγούµενο) ή head (κεφαλή) του κανόνα Το Y ονοµάζεται RHS (right-hand side) ή consequent (επακόλουθο) ή body (σώµα) του κανόνα Υποστήριξη (support) του AR (s) X Y: το ποσοστό των δοσοληψιών που περιέχουν το X Y ή αλλιώς η πιθανότητα P(X Y) Εµπιστοσύνη (confidence) του AR (α) X Y: η αναλογία του πλήθους των δοσοληψιών που περιέχουν το X Y ως προς το πλήθος των δοσοληψιών που περιέχουν το X. ή αλλιώς, ηεξαρτηµένη πιθανότητα P(X Y Χ) = P(X Y)/P(X) 54 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 27
Κανόνες Συσχετίσεων: το πρόβληµα οθέντος ενός συνόλου αντικειµένων I={I 1,I 2,,I m } και µιας βάσης δοσοληψιών D={t 1,t 2,, t n } όπου t i ={I i1,i i2,, I ik } και I ij I µιας ελάχιστης υποστήριξης (min_support) µιας ελάχιστης εµπιστοσύνης (min_confidence) το Πρόβληµα της εύρεσης Κανόνων Συσχέτισης ορίζεται ως ο προσδιορισµός όλων των κανόνων συσχέτισης X Y, όπου X,Y I και X Y = ø, οι οποίοι ξεπερνούν το κατώφλι του min_support και του min_confidence. 55 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κανόνες Συσχετίσεων: η τεχνική Πρόβληµα εύρεσης κανόνων συσχέτισης: Προσδιορισµός όλων των κανόνων συσχέτισης X Y, όπου X,Y I και X Y = ø, οι οποίοι ξεπερνούν τα κατώφλια min_support και min_confidence Μεθοδολογία: Βήµα 1: Εύρεση του συνόλου L των συχνών itemsets (αυτών δηλαδή που ξεπερνούν το κατώφλι min_support). Βήµα 2: Προσδιορισµός των κανόνων συσχέτισης X Y από το σύνολο L (και παράλληλα το φιλτράρισµα αυτώνµε βάσητο κατώφλι min_support). 1 η σηµείωση: Η υποστήριξη του κανόνα X Y είναι ίδια µε την υποστήριξη του itemset X Y. 2 η σηµείωση: Το 1ο βήµα δείχνει απλό αλλά κοστίζει πολύ, αφού υπάρχουν µέχρι 2 m -1 «πιθανά» συχνά itemsets (m ο πληθάριθµος του I) 56 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 28
Προσδιορισµός των Κανόνων Συσχετίσεων από τα συχνά itemsets (βήµα 2) 57 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα support confidence ( X Y ) = support( X Y ) ( X Y ) support = support ( X Y ) ( X ) 58 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 29
Apriori Συχνό ονοµάζεται το itemset που έχει υποστήριξη πάνω από ένα κατώφλι Παράδειγµα (κατώφλι = 40%): {Beer} {Bread} {PeanutButter} {Bread, PeanutButter} Η ιδιότητα των συχνών itemsets: Κάθε υποσύνολο ενός συχνού itemset είναι συχνό. Αντιθέτως, αν ένα itemset δεν είναι συχνό, κανένα από τα υπερσύνολά του δεν µπορεί να είναι συχνό. 59 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Η ιδιότητα των συχνών itemsets 60 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 30
Παράδειγµα Apriori (συν.) s=30% α = 50% 61 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αλγόριθµος Apriori 1. C 1 = Itemsets of size one in I; 2. Count C 1 to determine L 1 ; // 1st pass 3. i = 1; 4. Repeat 5. i = i + 1; 6. C i = Apriori-Gen(L i-1 ); 7. Count C i to determine L i ; // 2nd, 3rd,, pass 8. until no more frequent itemsets found; 62 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 31
Apriori-Gen Προσδιορισµός των υποψηφίων συχνών i-itemsets από τα συχνά (i- 1)-itemsets. Προσέγγιση που ακολουθείται (2 βήµατα): Βήµα σύνδεσης(join step): Σύνδεση σε ένα i-itemset των i συχνών (i-1)- itemsets, αν υπάρχουν. C i = L i-1 L i-1. Βήµακλαδέµατος (prune step): Απόρριψη ενός υποψηφίου i-itemset, αν κάποιο υποσύνολο (i-1)-itemset αυτού δεν είναι συχνό. C 1 : I Παράδειγµα (s = 30%): L 1 : {Beer}, {Bread}, {Milk}, {PeanutButter} C 2 : {Beer, Bread}, {Beer, Milk}, L 2 : {Bread, PeanutButter} C 3 : 63 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Πώς προσδιορίζουµε ταυποψήφιαitemsets Θεωρήστε ότι τα στοιχεία του L i-1 είναι διατεταγµένα Βήµα 1 (σύνδεση): C i = L i-1 L i-1 insert into C i select p.item 1, p.item 2,, p.item i-1, q.item i-1 from L i-1 p, L i-1 q where p.item 1 =q.item 1,, p.item i-1 < q.item i-1 Βήµα 2(κλάδεµα) For all itemsets c in C i do For all (k-1)-subsets s of c do if (s L i-1 ) then delete c from C i 64 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 32
2 ο Παράδειγµα Apriori (Πηγή: Data Mining: Concepts and Techniques, Han & Kamber) Scan {3} 3 t2 2 3 5 {4} 1 t3 1 2 3 5 {5} 3 t4 2 5 C 2 itemset s Database D itemset s TID Items C 1 {1} 2 t1 1 3 4 D {2} 3 L 1 itemset C 2 L 2 itemset s {1 2} 1 Scan D {1 3} 2 {1 3} 2 {2 3} 2 {1 5} 1 {2 5} 3 {2 3} 2 {2 5} 3 {3 5} 2 {3 5} 2 C 3 itemset Scan D L 3 itemset s {2 3 5} {2 3 5} 2 s {1} 2 {2} 3 {3} 3 {5} 3 itemset {1 2} {1 3} {1 5} {2 3} {2 5} {3 5} 65 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Υπέρ και Κατά του Apriori Πλεονεκτήµατα: Εκµεταλλεύεται την ιδιότητα των συχνών itemsets. Υλοποιείται εύκολα (και σε παράλληλη µορφή) Μειονεκτήµατα: Υποθέτει ότι η βάση των δοσοληψιών βρίσκεται στη µνήµη. Απαιτεί µέχρι και m σαρώσεις της βάσης (m το πλήθος των items). 66 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 33
Σύνοψη Εύρεση Κανόνων Συσχετίσεων: η εύρεση κανόνων της µορφής X Y µέσα από µια βάση δοσοληψιών µε βάση 2 κατώφλια (ελάχιστης υποστήριξης και ελάχιστης εµπιστοσύνης) Οπιοδηµοφιλής αλγόριθµος: Apriori βασίζεται στην ιδιότητα των συχνών στοιχειοσυνόλων (frequent itemsets property) Άλλοι αλγόριθµοι: δειγµατοληψίας, διαµερισµού, παράλληλοι 67 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Page 34