Μπεϋζιανά & Νευρωνικά Δίκτυα Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης Φροντιστήριο Σκούρα Αγγελική skoura@ceid.upatras.gr
1ο Μέρος Φροντιστηρίου: Μπεϋζιανά Δίκτυα
Εισαγωγή στα Μπεϋζιανά Δίκτυα (1/2) Πρόκειται για κατηγοριοποιητές που κάνουν αποτίμηση πιθανοτήτων και όχι πρόβλεψη. Αυτό πολλές φορές είναι πιο χρήσιμο και αποτελεσματικό. Εδώ οι προβλέψεις έχουν έναν βαθμό και σκοπός είναι το αναμενόμενο κόστος να ελαχιστοποιείται. Βασίζεται στη στατιστική θεωρία κατηγοριοποίησης του Bayes. Στόχος είναι να κατηγοριοποιηθεί ένα δείγμα Χ σε μια από τις δεδομένες κατηγορίες C1,C2,..,Cn χρησιμοποιώντας ένα μοντέλο πιθανότητας που ορίζεται σύμφωνα με τη θεωρία του Bayes. Ένα Bayesian δίκτυο είναι ένα γραφικό μοντέλο που κωδικοποιεί πιθανοτικές σχέσεις ανάμεσα σε ένα σύνολο μεταβλητών.
Εισαγωγή στα Μπεϋζιανά Δίκτυα (2/2) Κάθε κατηγορία χαρακτηρίζεται από μια εκ των προτέρων πιθανότητα. Υποθέτουμε πως το δεδομένο δείγμα Χ ανήκει σε μια κλάση Ci. Βασισμένοι στους ορισμούς και τα παραπάνω καθορίζουμε την εκ των υστέρων πιθανότητα.
Μπεϋζιανοί κατηγοριοποιητές Ο πιο γνωστός Bayesian κατηγοριοποιητής είναι ο naive Bayesian κατηγοριοποιητής. Υποθέτει πως η επίδραση ενός γνωρίσματος σε μια δεδομένη κατηγορία είναι ανεξάρτητη από τις τιμές των άλλων γνωρισμάτων. Ένας άλλος Bayesian κατηγοριοποιητής είναι τα Bayesian Belief Networks Είναι γραφικά μοντέλα που επιτρέπουν την παρουσίαση των εξαρτήσεων μεταξύ των υποσυνόλων των γνωρισμάτων
Κανόνας Bayes Σημαντικός νόμος πιθανοτήτων, ο οποίος είναι γνωστός ως κανόνας του Bayes (1700μΧ). Με απλό τρόπο ο κανόνας του Bayes μπορεί να εκφραστεί ως εξής: Όπου Ρ(a) είναι η πιθανότητα του γεγονότος a και P(a|b) είναι η δεσμευμένη πιθανότητα του a δεδομένου του γεγονότος b.
Παράδειγμα εφαρμογής Κανόνα Bayes Για παράδειγμα ας υποθέσουμε ότι η μηνιγγίτιδα μπορεί να προκαλέσει δύσκαμπτο λαιμό σε ποσοστό 50%. Επιπλέον υποθέτουμε ότι γνωρίζουμε από πληθυσμιακές μελέτες ότι ένας στους 50.000 ανθρώπους έχουν μηνιγγίτιδα και ένας στους 20 έχει δύσκαμπτο λαιμό. Θέλουμε να βρούμε την πιθανότητα ένας ασθενής που παραπονιέται για δύσκαμπτο να έχει μηνιγγίτιδα. Αναλυτικότερα πόσο πιθανή είναι η μηνιγγίτιδα δοθέντος δύσκαμπτου λαιμού.
Παράδειγμα εφαρμογής Κανόνα Bayes P(μηνιγγίτιδα|δύσκαμπτος λαιμός) = P(δύσκαμπτος λαιμός| μηνιγγίτιδα) x Ρ(μηνιγγίτιδα) / Ρ(δύσκαμπτος λαιμός)= Επομένως εάν ένας ασθενής παραπονιέται ότι έχει δύσκαμπτο λαιμό τότε η πιθανότητα αυτό να οφείλεται από μηνιγγίτιδα είναι μόνο 0.0002
Πεποιθήσεις - Ενδείξεις Ο όρος πεποιθήσεις (beliefs) αναφέρεται στην πιθανότητα του να είναι μια μεταβλητή σε μία συγκεκριμένη κατάσταση. Οι εκ των προτέρων πεποιθήσεις (a-priori beliefs) αποτελούν ειδική περίπτωση πεποιθήσεων που βασίζονται αποκλειστικά σε πρότερη πληροφορία. Η ένδειξη (evidence) είναι πληροφορία σχετικά με μία τρέχουσα κατάσταση.
Παραλλαγή κανόνα Bayes χρησιμοποιώντας πεποιθήσεις - ενδείξεις Με την παραπάνω σχέση μπορούμε να ανανεώσουμε την πεποίθησή μας για την υπόθεση Η δοθείσας της πρόσθετης ένδειξης Ε και της πρότερης εμπειρίας c Ο αριστερός όρος P(H|E,c) ονομάζεται μεταγενέστερη (posterior) πιθανότητα ή αλλιώς πιθανότητα της υπόθεσης Η αφού λάβουμε υπόψη τη συνέπεια της ένδειξης Ε στην πρότερη εμπειρία c Ο όρος P(H|c) καλείται εκ των προτέρων (a-priori) πιθανότητα της Η δοθείσας μόνο της c Ο όρος Ρ(Ε|Η,c) καλείται πιθανοφάνεια (likelihood) και δίνει την πιθανότητα της ένδειξης αν δεχτούμε ότι η υπόθεση Η και η πρότερη πληροφορία c είναι αληθείς (true) Τέλος ο όρος Ρ(Ε|c) είναι ανεξάρτητος του H και μπορεί να θεωρηθεί ως παράγοντας κανονικοποίησης
Απεικόνιση Bayesian Δικτύων Κάθε κόμβος διαθέτει καταστάσεις ή διαφορετικά ένα σύνολο από πιθανές τιμές που αντιστοιχούν σε κάθε μεταβλητή Οι κόμβοι συνδέονται μεταξύ τους με κατευθυνόμενα βέλη (πλευρές-edges) τα οποία φανερώνουν την αλληλεξάρτηση των μεταβλητών υποδεικνύοντας και την κατεύθυνση της επιρροής Σε κάθε κόμβο αντιστοιχεί και ένας πίνακας υπό συνθήκη πιθανοτήτων (conditional probability table)
Απεικόνιση Bayesian Δικτύων Σύνολο μεταβλητών και σύνολο κατευθυνόμενων συνδέσμων Κάθε μεταβλητή έχει ένα πεπερασμένο σύνολο αμοιβαία αποκλειόμενων καταστάσεων Οι μεταβλητές μαζί με τους κατευθυνόμενους συνδέσμους σχηματίζουν έναν κατευθυνόμενο γράφο Για κάθε μεταβλητή Α με γονείς Β1, Β2,..Βν υπάρχει ένας πίνακας εξαρτημένων πιθανοτήτων P(A| Β1, Β2,..Βν)
Πίνακες πιθανοτήτων Η υπό συνθήκη πιθανότητα καθορίζεται μαθηματικά με τη σχέση Ρ(x|p1,p2,..pn), και εκφράζει την πιθανότητα του να βρίσκεται η μεταβλητή Χ σε μια κατάσταση x εάν ο πατέρας Ρ1 βρίσκεται στην κατάσταση p1, ο πατέρας Ρ2 στην κατάσταση p2,..., και ο πατέρας Ρn στην κατάσταση pn. Οι κόμβοι που δεν έχουν πατέρα έχουν κι αυτοί πίνακα υπό συνθήκη πιθανοτήτων για κάθε κατάσταση του κόμβου
1ο Παράδειγμα Bayesian Δικτύου
2ο Παράδειγμα Bayesian Δικτύου Εδώ έχουμε ένα simple Bayesian network για τα δεδομένα weather Έχει έναν κόμβο για καθέναν από τα 4 χαρακτηριστικά outlook, temperature, humidity, και windy και ένα για το class attribute play Σε κάθε πίνακα παρουσιάζεται η κατανομή πιθανότητας που χρησιμοποιείται για την πρόβλεψη των πιθανοτήτων της class για κάθε δοσμένο instance. Το άθροισμα των πιθανοτήτων σε κάθε γραμμή είναι πάντα 1
Naïve Bayesian Classification The naïve Bayesian classifier, or simple Bayesian classifier, works as follows in 4 steps: Let D be a training set of tuples and their associated class labels. Each tuple is represented by an n-dimensional attribute vector, X = (x1, x2, … , xn), depicting n measurements made on the tuple from n attributes, respectively, A1, A2, … , An
Naïve Bayesian Classification 2. Suppose that there are m classes, C1, C2, … , Cm. Given a tuple, X, the classifier will predict that X belongs to the class having the highest posterior probability, conditioned on X. That is, the naïve Bayesian classifier predicts that tuple X belongs to the class Ci if and only if P(Ci|X) > P(Cj|X) for 1 ≤ j≤ m, j≠ i. Thus we maximize P(Ci|X). The class Ci for which P(Ci|X) is maximized is called the maximum posteriori hypothesis. By Bayes’ theorem
Naïve Bayesian Classification 3. Given data sets with many attributes, it would be extremely computationally expensive to compute P(X|Ci). In order to reduce computation in evaluating P(X|Ci), the naive assumption of class conditional independence is made. This presumes that the values of the attributes are conditionally independent of one another, given the class label of the tuple (i.e., that there are no dependence relationships among the attributes). Thus, We can easily estimate the probabilities P(x1|Ci), P(x2|Ci), … , P(xn|Ci) from the training tuples. Recall that here xk refers to the value of attribute Ak for tuple X.
Naïve Bayesian Classification 4. In order to predict the class label of X, P(Xj|Ci)P(Ci) is evaluated for each class Ci. The classifier predicts that the class label of tuple X is the class Ci if and only if P(Xj|Ci)P(Ci) > P(Xj|Cj)P(Cj), 1 ≤ j≤ m, j≠ i. In other words, the predicted class label is the class Ci for which P(Xj|Ci)P(Ci) is the maximum.
Παράδειγμα: Naïve Bayesian Classification
2ο Μέρος Φροντιστηρίου: Νευρωνικά Δίκτυα
Εισαγωγή στα Νευρωνικά δίκτυα (1/4) Οι μέθοδοι εδώ χρησιμοποιούν τα νευρωνικά δίκτυα για να κατασκευάζουν ένα μοντέλο κατηγοριοποίησης ή πρόβλεψης Το μοντέλο που παράγεται από το δίκτυο εφαρμόζεται για να προβλέψει τις κατηγορίες των μη κατηγοριοποιημένων δειγμάτων
Εισαγωγή στα Νευρωνικά δίκτυα (2/4) Βήματα: Αναγνώριση των χαρακτηριστικών εισόδου και εξόδου Κατασκευή ενός δικτύου με την κατάλληλη αρχιτεκτονική Επιλογή του σωστού συνόλου εκπαίδευσης Εκπαίδευση του δικτύου με βάση ένα αντιπροσωπευτικό σύνολο δεδομένων που θα απεικονίζονται έτσι ώστε να μεγιστοποιηθεί η δυνατότητα του δικτύου να αναγνωρίζει τα πρότυπα Έλεγχος του δικτύου με χρήση κατάλληλου συνόλου ελέγχου που θα είναι ανεξάρτητο από το σύνολο εκπαίδευσης
Εισαγωγή στα Νευρωνικά δίκτυα (3/4) Αποτελούνται από νευρώνες με βάση την νευρωνική δομή του εγκεφάλου Επεξεργάζονται τα στοιχεία ένα κάθε φορά και μαθαίνουν συγκρίνοντας τη κατηγοριοποίηση τους για μια εγγραφή με τη γνωστή πραγματική κατηγοριοποίηση της εγγραφής. Τα λάθη από την αρχική κατηγοριοποίηση της πρώτης εγγραφής επανατροφοδοτούνται στο δίκτυο και χρησιμοποιούνται για να τροποποιήσουν τον αλγόριθμο δικτύων τη δεύτερη φορά. Η διαδικασία αυτή γίνεται ακολουθιακά.
Εισαγωγή στα Νευρωνικά δίκτυα (4/4) Ένα νευρώνας σε ένα τεχνητό νευρωνικό δίκτυο περιλαμβάνει: ένα σύνολο βαρών (wi)εισερχόμενων συσχετιζόμενων με τις τιμές (xi) και μια συνάρτηση που αθροίζει τα βάρη και αντιστοιχεί τα αποτελέσματα σε μια έξοδο (y) Το δίκτυο οργανώνεται σε επίπεδα. Υπάρχουν νευρώνες: Εισόδου Κρυφού επιπέδου Εξόδου
Συνάρτηση Ενεργοποίησης Εάν xki είναι η i-οστή είσοδος του k νευρώνα, wki: το i-οστό συναπτικό βάρος του k νευρώνα και η συνάρτηση ενεργοποίησης του νευρωνικού δικτύου, τότε η έξοδος yk του k νευρώνα δίνεται από την εξίσωση: Συναρτήσεις ενεργοποίησης: Η συνάρτηση ενεργοποίησης μπορεί να είναι βηματική , γραμμική, μη γραμμική, στοχαστική. Βηματική συνάρτηση ενεργοποίησης Γραμμική συνάρτηση ενεργοποίησης Η γραμμική συνάρτηση ενεργοποίησης μπορεί να είναι: ή οποιαδήποτε άλλη γραμμική συνάρτηση. Μη γραμμική συνάρτηση ενεργοποίησης Η μη γραμμική συνάρτηση ενεργοποίησης που χρησιμοποιείται συνήθως στα νευρωνικά δίκτυα καλείται σιγμοειδής συνάρτηση:
Νευρωνικά δίκτυα στο WEKA (1/2) WEKA provides user control of training parameters: # of iterations or epochs (“training time”) Increment of weight adjustments in back propagation (“learning rate”) Controls on varying changes to increments (“momentum”)
Νευρωνικά δίκτυα στο WEKA (2/2) Momentum: the learning rate Epochs: the number of passes it will take through the data The network stops when the specified number of epochs is reached With autoBuild set, hidden layers are added and connected up
Perceptron networks (Based on http://hagan. okstate. edu/4_Perceptron Δεδομένα εκπαίδευσης : {p1, t1} {p2,t2} …{pn,tn} where p is an input to the network and t is the corresponding correct (target) output The output of the network is given by a = hardlim(Wp + b)
Single-Neuron Perceptron Example of a two-input perceptron with one neuron
Παράδειγμα 1: Υπολογισμός βαρών σε Single-Neuron Perceptron
Παράδειγμα 1: Υπολογισμός βαρών σε Single-Neuron Perceptron Τυχαία αρχικοποίηση: w =[1.0, –0.8], b=0 Perceptron Learning Rule for updating the weights First we define the perceptron error e = t – a = target – output Με βάση τον Perceptron Learning Rule, για το παράδειγμα της προηγούμενης διαφάνειας έχουμε τελικά w =[3, 0.2]. Αναλυτική λύση του παραδείγματος θα βρείτε στη διεύθυνση http://hagan.okstate.edu/4_Perceptron.pdf
Παράδειγμα 2: Υπολογισμός βαρών σε Single-Neuron Perceptron Βρείτε τα βάρη και τη παράμετρο b ενός single neuron perceptron για τα ακόλουθα τρία προβλήματα κατηγοριοποίησης Ενδεικτική λύση:
Παράδειγμα 3: Υπολογισμός βαρών σε Multilayer Perceptron
Γενική Αρχιτεκτονική ενός Multilayer Perceptron
Παράδειγμα 3: Υπολογισμός βαρών σε Multilayer Perceptron First Boundary: Second Boundary: First Subnetwork
Παράδειγμα 3: Υπολογισμός βαρών σε Multilayer Perceptron Third Boundary: Fourth Boundary: Second Subnetwork
Παράδειγμα 3: Υπολογισμός βαρών σε Multilayer Perceptron Total Network
Απορίες?