Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης WEKA Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης 3ο Φροντιστήριο Σκούρα Αγγελική skoura@ceid.upatras.gr
Μηχανική Μάθηση Η μηχανική μάθηση είναι μια περιοχή της τεχνητής νοημοσύνης η οποία αφορά αλγορίθμους και μεθόδους που επιτρέπουν στους Η/Υ να «μαθαίνουν». Σκοπός = η εξόρυξη δεδομένων Η μηχανική μάθηση επικαλύπτεται σημαντικά με τη στατιστική, αφού και τα δύο πεδία μελετούν την ανάλυση δεδομένων. Οι αλγόριθμοι μηχανικής μάθησης κατηγοριοποιούνται ως εξής: Επιβλεπόμενη μάθηση (supervised learning), όπου ο αλγόριθμος κατασκευάζει μια συνάρτηση που απεικονίζει δεδομένες εισόδους σε γνωστές, επιθυμητές εξόδους (σύνολο εκπαίδευσης), με απώτερο στόχο τη γενίκευση της συνάρτησης αυτής και για εισόδους με άγνωστη έξοδο (σύνολο ελέγχου). Π.χ. κατηγοριοποίηση Μη επιβλεπόμενη μάθηση (unsupervised learning), όπου ο αλγόριθμος κατασκευάζει ένα μοντέλο για κάποιο σύνολο εισόδων χωρίς να γνωρίζει επιθυμητές εξόδους για το σύνολο εκπαίδευσης. Π.χ. συσταδοποίηση Η ανάλυση των αλγόριθμων μηχανικής μάθησης είναι ένας κλάδος της στατιστικής που ονομάζεται θεωρία μάθησης.
Η Διαδικασία Εξόρυξης Γνώσης Ορισμός προβλήματος Συλλογή δεδομένων Προεπεξεργασία δεδομένων Εφαρμογή αλγορίθμου εξόρυξης γνώσης Ερμηνεία αποτελεσμάτων
Πριν την κατηγοριοποίηση: Προεπεξεργασία δεδομένων A. Καθαρισμός δεδομένων (Data cleaning) Συμπλήρωση των χαμένων τιμών, απαλοιφή θορύβου, απομάκρυνση των outliers, διόρθωση ασυνεπειών, απαλοιφή πλεονασμού B. Ενοποίηση δεδομένων (Data integration) Ενοποίηση πολλαπλών βάσεων δεδομένων, κύβων δεδομένων ή αρχείων, απαλοιφή πλεονασμού Γ. Μετασχηματισμός δεδομένων (Data transformation) και Διακριτοποίηση δεδομένων (Data discretization) Κανονικοποίηση, Μετατροπή των numerical τιμών σε nominal Δ. Μείωση δεδομένων (Data reduction) Μείωση διαστατικότητας, μείωση πληθυκότητας, συμπίεση δεδομένων
Τι είναι η Κατηγοριοποίηση? Αποτελεί μια από τις βασικές εργασίες στην εξόρυξη δεδομένων Βασίζεται στην εξέταση των χαρακτηριστικών ενός αντικειμένου το όποιο, με βάση τα χαρακτηριστικά αυτά, αντιστοιχίζεται σε ένα προκαθορισμένο σύνολο κλάσεων Η εργασία της κατηγοριοποίησης χαρακτηρίζεται από έναν καλά καθορισμένο ορισμό των κατηγοριών(κλάσεων) το σύνολο που χρησιμοποιείται για την εκπαίδευση του μοντέλου και το οποίο αποτελείται από προκατηγοριοποιημένα παραδείγματα Η βασική εργασία είναι να δημιουργηθεί ένα μοντέλο το οποίο θα μπορούσε να εφαρμοστεί για να κατηγοριοποιήσει δεδομένα που δεν έχουν ακόμα κατηγοριοποιηθεί Αλγόριθμος κατηγοριοποίησης Μετρική ομοιότητας Αναπαράσταση δένδρων
Συνώνυμη Ορολογία Τεχνική κατηγοριοποίησης ή αλγόριθμος κατηγοριοποίησης ή μοντέλο κατηγοριοποίησης ή κατηγοριοποιητής (classifier) Τιμές του γνωρίσματος κλάσης ή ετικέτες κλάσης Σύνολο εκπαίδευσης (training set ή ισοδύναμα learning set) Σύνολο αξιολόγησης (test set ή ισοδύναμα validation set) «οι ετικέτες κλάσης είναι 2» ή «οι κλάσεις είναι δύο» ή δυαδική κατηγοριοποίηση (binary classification)
Τεχνικές Κατηγοριοποίησης Για την κατηγοριοποίηση, χρησιμοποιούνται τεχνικές όπως: Δέντρα Αποφάσεων (Decision Trees) Νευρωνικά Δίκτυα (Neural Networks) K-Πλησιέστερων Γειτόνων (k-Nearest Neighbors, k-NN) Μηχανές Υποστήριξης Διανυσμάτων (Support Vector Machines, SVM) Bayesian Μέθοδοι Σε όλες τις τεχνικές κατηγοριοποίησης ενυπάρχει η ιδέα της «εκπαίδευσης» με τη βοήθεια ενός υποσυνόλου δεδομένων (σύνολο εκπαίδευσης) Τα δεδομένα εκπαίδευσης αναλύονται από τον αλγόριθμο κατηγοριοποίησης για να κατασκευάσουν το μοντέλο κατηγοριοποίησης Η κατηγορία (δηλ. η κλάση) των δειγμάτων εκπαίδευσης είναι γνωστή και για αυτό η κατηγοριοποίηση ανήκει στην κατηγορία της «εποπτευόμενης μάθησης»
Δένδρα Απόφασης Πως αναπαρίσταται ένα δένδρο απόφασης? Πως αναπαρίσταται ένα δένδρο απόφασης? Κάθε εσωτερικός κόμβος ονοματίζεται με το όνομα ενός χαρακτηριστικού Κάθε κλαδί/σύνδεση ονοματίζεται με ένα κατηγόρημα που μπορεί να εφαρμοστεί στο χαρακτηριστικό που αποτελεί το όνομα του κόμβου - πατέρα Κάθε φύλλο ονοματίζεται με το όνομα μιας κλάσης Χρήση της τεχνικής «διαίρει και βασίλευε» για διαίρεση του χώρου αναζήτησης σε υποσύνολα
Κατασκευή Δένδρου Απόφασης 1. Ξεκινούμε έχοντας ένα κόμβο που περιέχει όλες τις εγγραφές. 2. Ακολουθεί η διάσπαση του κόμβου (μοίρασμα των εγγραφών) με βάση μια συνθήκη-διαχωρισμού σε κάποιο από τα γνωρίσματα. 3. Αναδρομική κλήση του βήματος 2 σε κάθε κόμβο (Recursive Partitioning Algorithm) έως ότου οι εγγραφές ενός τελικού κόμβου (φύλλο-leaf) να ανήκουν σε μία μόνο κλάση. 4. Αφού κατασκευαστεί το δέντρο, γίνονται κάποιες βελτιστοποιήσεις (π.χ. tree pruning για αντιμετώπιση overfitting)
Παράδειγμα Δένδρου Απόφασης χρησιμοποιώντας το δέντρο απόφασης J48
Πλεον. και Μειον. Δένδρων Αποφάσεων Πλεονεκτήματα Εύκολα στην κατανόηση και την ερμηνεία Η ταξινόμηση νέων εγγραφών γίνεται πολύ γρήγορα Μειονεκτήματα Πραγματοποιούν διαίρεση του χώρου των δεδομένων σε υποσύνολα μόνο με «ευθείες γραμμές» για το εύρος τιμών ενός γνωρίσματος (απλά όρια απόφασης) Εμφανίζουν το πρόβλημα του overfitting το φαινόμενο του overfitting αποδίδεται στο υπερβολικό ταίριασμα με τα δεδομένα εκπαίδευσης. Μία υπόθεση h λέγεται πως υπερταιριάζει (overfits) με τα δεδομένα εκπαίδευσης αν υπάρχει μια άλλη υπόθεση h′ τέτοια ώστε η h να έχει μικρότερο σφάλμα από την h′ για τα δεδομένα εκπαίδευσης, αλλά η h′ να έχει μικρότερο σφάλμα από την h για τη συνολική κατανομή των στιγμιοτύπων. Η h′ δηλαδή είναι καλύτερη προσέγγιση του πραγματικού μοντέλου από την h . For data including categorical variables with different number of levels, information gain in decision trees are biased in favor of those attributes with more levels
Νευρωνικά Δίκτυα Εμπνευσμένα από τα βιολογικά συστήματα, και ειδικά από την λειτουργία του ανθρώπινου μυαλού, τα νευρωνικά δίκτυα είναι ικανά να μάθουν και να γενικευθούν από την “εμπειρία” Ορισμός ενός Νευρωνικού Δικτύου Μια μηχανή που έχει σχεδιαστεί με σκοπό να μοντελοποιήσει τον τρόπο με τον οποίο το ανθρώπινο μυαλό λειτουργεί σε μια συγκεκριμένη εργασία. Το δίκτυο προσαρμόζεται και εκτελείται σε κατάλληλο λογισμικό ηλεκτρονικού υπολογιστή [Haykin98].
Νευρωνικά Δίκτυα Οι νευρώνες είναι το δομικό στοιχείο του δικτύου. Υπάρχουν δύο είδη νευρώνων, οι νευρώνες εισόδου και οι υπολογιστικοί νευρώνες. Οι νευρώνες εισόδου δεν υπολογίζουν τίποτα, μεσολαβούν ανάμεσα στις εισόδους του δικτύου και τους υπολογιστικούς νευρώνες. Οι υπολογιστικοί νευρώνες πολλαπλασιάζουν τις εισόδους τους με τα συναπτικά βάρη και υπολογίζουν το άθροισμα των γινομένων. Το άθροισμα που προκύπτει είναι το όρισμα της συνάρτησης μεταφοράς. Για να μπορέσει να χρησιμοποιηθεί ένα νευρωνικό δίκτυο για να εκτελέσει μια συγκεκριμένη εργασία, πρέπει πρώτα να εκπαιδευτεί Βασικά η εκπαίδευση είναι η διαδικασία προσδιορισμού των βαρών των ακμών
Αρχιτεκτονική νευρωνικών δικτύων Αριθμός νευρώνων εισόδου οι είσοδοι σε ένα νευρωνικό δίκτυο είναι συνήθως όσες οι ανεξάρτητες μεταβλητές Αριθμός κρυμμένων επιπέδων Τα κρυμμένα επίπεδα (στρώματα) παρέχουν στο δίκτυο, τη δυνατότητα να γενικευτεί Ένα νευρωνικό δίκτυο με ένα κρυμμένο επίπεδο και με ικανοποιητικό αριθμό κρυφών νευρώνων είναι σε θέση να προσεγγίζει οποιαδήποτε λειτουργία. Στην πράξη, τα νευρωνικά δίκτυα με ένα και περιστασιακά δύο κρυμμένα επίπεδα χρησιμοποιούνται ευρέως και έχουν αποδώσει πολύ καλά Η αύξηση του αριθμού των κρυφών στρωμάτων αυξάνει επίσης το χρόνο υπολογισμού και τον κίνδυνο ‘overfitting’ που οδηγεί σε κακές προβλέψεις Αριθμός κρυμμένων νευρώνων Παρά τη σημασία του, δεν υπάρχει κανένας μαγικός τρόπος για την επιλογή του βέλτιστου αριθμού κρυφών νευρώνων. Εντούτοις, μερικές εμπειρικές μέθοδοι έχουν εφαρμοστεί. Μια καλή προσέγγιση προκύπτει με εφαρμογή του κανόνα της γεωμετρικής πυραμίδας που προτάθηκε από τον Masters. Σύμφωνα με αυτή, για ένα δίκτυο τριών στρωμάτων με n νευρώνες εισόδου και m νευρώνες εξόδου, το κρυμμένο επίπεδο θα έχει sqrt(nxm) νευρώνες Αριθμός νευρώνων εξόδου
Η Συνάρτηση Μεταφοράς Η Συνάρτηση Μεταφοράς μπορεί να είναι: Η Συνάρτηση Μεταφοράς μπορεί να είναι: βηματική (step), γραμμική (linear), μη γραμμική (non-linear), στοχαστική (stochastic)
Πλεον. και Μειον. Νευρωνικών Δικτύων Πλεονεκτήματα Εύκολα παραμετροποιήσιμα Υπάρχουν διαθέσιμα προγράμματα προσομοίωσης ακόμη και υπό τη μορφή ανοικτού λογισμικού Αποδίδουν καλά σε πολύπλοκα προβλήματα εκεί όπου άλλες τεχνικές αποτυγχάνουν Μειονεκτήματα Χαρακτηρίζονται από μεγάλους χρόνους σύγκλισης Η εξήγηση και ερμηνεία των βαρών είναι σχεδόν αδύνατη λόγω της μη γραμμικότητας
Τεχνική Κατηγοριοποίησης k-nn Η τεχνική των κοντινότερων γειτόνων (Nearest Neighbor (NN)) είναι μια απλή προσέγγιση του προβλήματος της κατηγοριοποίησης. Ένα νέο στοιχείο κατηγοριοποιείται χρησιμοποιώντας την πλειοψηφία μεταξύ των κατηγοριών από k παραδείγματα που είναι τα πιο κοντινά σε αυτό που δίνεται για να κατηγοριοποιηθεί Μια τέτοια μέθοδος παράγει συνεχείς και επικαλυπτόμενες, παρά σταθερές γειτονιές. Παράδειγμα με k=3
Τεχνική Κατηγοριοποίησης k-nn Για την κατηγοριοποίηση ενός νέου στοιχείου x, Μεταξύ των n διανυσμάτων εκπαίδευσης, προσδιορίζουμε τους k πλησιέστερους γείτονες του ανεξάρτητα από την κλάση στην οποία ανήκουν συνήθως όταν έχουμε δύο κλάσεις το k επιλέγεται να είναι περιττός αριθμός Προσδιορίζουμε πόσα από δείγματα (έστω ki ) ανήκουν στην κλάση i, Ταξινομούμε το x στην κλάση με το μεγαλύτερο πλήθος ki δειγμάτων Για την εφαρμογή του αλγορίθμου, χρειάζεται εκ των προτέρων να γνωρίζουμε τη τιμή του k τη μετρική απόστασης
Εφαρμογές αναζήτησης ΝΝ Αναγνώριση προτύπων computer aided diagnosis δηλ. υποστηρίζει τους γιατρούς στην αναγνώριση ευρημάτων οπτική αναγνώριση χαρακτήρων Θεωρεία κωδικοποίησης αποκωδικοποίηση ληφθέντων σημάτων Βάσεις δεδομένων που είναι context based ανάκτηση δεδομένων Ηλεκτρονικό εμπόριο contextual advertising Βιοπληροφορική ταξινόμηση βιολογικών ακολουθιών σε ομάδες Spell checking σε εφαρμογές όπως το Microsoft Word Plagiarism detection ανίχνευση αντιγραφής, ομοιότητας κειμένων
Μηχανές Υποστήριξης Διανυσμάτων (SVM) Αρχικός Χώρος Νέος Χώρος
Μηχανές Υποστήριξης Διανυσμάτων (SVM) Χρησιμοποιούν μια συνάρτηση πυρήνα π.χ. συνάρτηση πυρήνα ακτινωτής βάσης όπου s είναι τα διανύσματα υποστήριξης, z είναι τα διανύσματα γνωρισμάτων των αντικειμένων ελέγχου και γ παράμετρος που καθορίζει το μέγεθος του πυρήνα το όριο απόφασης της κατηγοριοποίησης π.χ. ως όπου ns είναι το πλήθος των διανυσμάτων υποστήριξης si, li είναι οι ετικέτες των αντίστοιχων διανυσμάτων υποστήριξης, a, b παράμετροι που υπολογίζονται κατά τη διαδικασία εκμάθησης και Δ η τιμή κατωφλίου για την εξισορρόπηση των ρυθμών των ψευδώς θετικών και ψευδών αρνητικών. Η εξίσωση αυτή ουσιαστικά δείχνει ότι οι δύο κατηγορίες δεδομένων μπορούν να διαχωριστούν από ένα υπερεπίπεδο
Μηχανές Υποστήριξης Διανυσμάτων (SVM) Οι Μηχανές Διανυσμάτων Υποστήριξης είναι μια μέθοδος μηχανικής μάθησης για δυαδικά προβλήματα ταξινόμησης. Προβάλλουν τα σημεία του συνόλου εκπαίδευσης σε έναν χώρο περισσοτέρων διαστάσεων και βρίσκουν το υπερεπίπεδο το οποίο διαχωρίζει βέλτιστα τα σημεία των δύο τάξεων. Τα άγνωστα σημεία ταξινομούνται σύμφωνα με την πλευρά του υπερεπίπεδου στην οποία βρίσκονται. Τα διανύσματα τα οποία ορίζουν το υπερεπίπεδο το οποίο χωρίζει τις δύο τάξεις ονομάζονται διανύσματα υποστήριξης (support vectors). Χαμηλό υπολογιστικό κόστος, ακόμη και στην περίπτωση μη γραμμικότητας
Αξιολόγηση Κατηγοριοποίησης Χρησιμοποιούνται δεδομένα ελέγχου για να υπολογιστεί η ακρίβεια του μοντέλου κατηγοριοποίησης Αν η ακρίβεια είναι αποδεκτή το μοντέλο χρησιμοποιείται για κατηγοριοποίηση (classification) μελλοντικών δεδομένων των οποίων η κατηγορία (class) είναι άγνωστη
Βήματα του Data Analysis στον Explorer του WEKA Επιλογή της μεταβλητής κλάσης Επιλογή αλγόριθμου Ρυθμίσεις αλγορίθμου Ρυθμίσεις sampling Ρυθμίσεις output Ανάλυση του output
Μέθοδοι Κατηγοριοποίησης στο WEKA Decision Trees Artificial Neural Networks Bayesian methods Support Vector Machines Hidden Markov Models (HMMs) …
Παράδειγμα κατηγοριοποίησης στο WEKA: σύνολο δεδομένων Instance Independent features (attributes) Class Day Outlook Temperature Humidity Windy Play Golf? 1 sunny hot high FALSE no 2 TRUE 3 overcast yes 4 rainy mild 5 cool normal 6 7 8 9 10 11 12 13 14 WEKA data file (arff format) : @relation weather.symbolic @attribute outlook {sunny, overcast, rainy} @attribute temperature {hot, mild, cool} @attribute humidity {high, normal} @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data sunny,hot,high,FALSE,no sunny,hot,high,TRUE,no overcast,hot,high,FALSE,yes rainy,mild,high,FALSE,yes rainy,cool,normal,FALSE,yes rainy,cool,normal,TRUE,no overcast,cool,normal,TRUE,yes sunny,mild,high,FALSE,no sunny,cool,normal,FALSE,yes rainy,mild,normal,FALSE,yes sunny,mild,normal,TRUE,yes overcast,mild,high,TRUE,yes overcast,hot,normal,FALSE,yes rainy,mild,high,TRUE,no
Παράδειγμα κατηγοριοποίησης στο WEKA: σύνθεση χαρακτηριστικών
Παράδειγμα κατηγοριοποίησης στο WEKA: Δέντρο απόφασης J48 pruned tree ------------------ outlook = sunny | humidity = high: no (3.0) | humidity = normal: yes (2.0) outlook = overcast: yes (4.0) outlook = rainy | windy = TRUE: no (2.0) | windy = FALSE: yes (3.0) Number of Leaves : 5 Size of the tree : 8 Attributes / Features Classes Attribute Values
Πειράματα Αξιολόγησης Απόδοσης Πειράματα Αξιολόγησης Απόδοσης Data (9/10) Training Set Test Set (1/10) 10x Σταυρωτή Επικύρωση (Cross-Validation ) 10 fold ML Classifier Performance Evaluation
Αξιολόγηση και Μετρικές
Μετρικές Αξιολόγησης της Κατηγοριοποίησης Accuracy The number of correctly classified instances/number of instances Precision The number of correctly classified instances of class X/number of instances classified as belonging to class X Recall in class X Roc καμπύλη (Roc Curve)
Μετρικές Αξιολόγησης
Ευχαριστώ για την προσοχή σας…