Μια Μπεϋζιανή Μέθοδος για την Επαγωγή Πιθανοτικών Δικτύων από Δεδομένα ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧ/ΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ B. Μεγαλοοικονόμου, Χ. Μακρής
ΘΕΜΑΤΟΛΟΓΙΑ Εισαγωγή Δίκτυα Μπεϋζιανής Λογικής Εκμάθηση Παραμέτρων Δικτύου Εκμάθηση Δομής Δικτύου Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Εύρεση των πιο πιθανών Δομών Δικτύου K2 αλγόριθμος Πειραματικά αποτελέσματα Πλεονεκτήματα και Μειονεκτήματα
Εισαγωγή Τα γεγονότα A και B είναι ανεξάρτητα αν P(A∩B)=P(A)P(B) P(A|B) = P(A) και P(B|A) = P(B)
Εισαγωγή Οι τυχαίες διακριτών τιμών μεταβλητές X και Y είναι ανεξάρτητες αν για κάθε a, b, τα γεγονότα X=a και Y=b είναι ανεξάρτητα, π.χ. P(X=a∩Y=b)=P(X=a)P(Y=b) ή P(X=a|Y=b) = P(X=a)
Εισαγωγή Έστω X, Y, και Z τρείς διακριτών τιμών τυχαίες μεταβλητές. Η X είναι υπο-συνθήκη ανεξάρτητη της Y δοσμένου του Z αν για κάθε a, b, c, P(X=a | Y=b, Z=c)=P(X=a |Z=c) Το παραπάνω μπορεί να επεκταθεί σε σύνολα μεταβλητών, π.χ. οι X1…Xl είναι υποσυνθήκη ανεξάρτητες των Y1…Ym δοσμένων των Z1…Zn, αν P(X1…Xl | Y1…Ym, Z1…Zn) = P(X1…Xl | Z1…Zn)
Εισαγωγή Έστω X = {X1, …, Xn} ένα σύνολο μεταβλητών διακριτών τιμών, και κάθε μεταβλητή Xi έχει ένα καθορισμένο σύνολο δυνατών τιμών V(Xi) Ο από-κοινού (joint) χώρος του συνόλου μεταβλητών X ορίζεται ως V(X1) x V(X2) x … x V(Xn) Η κατανομή πιθανότητας στον από-κοινού χώρο εξειδικεύει την πιθανότητα για κάθε πιθανό συνδυασμό πιθανοτήτων (X1, …, Xn), και ονομάζεται από-κοινού πιθανότητα κατανομή (joint probability distribution)
Δίκτυα Μπεϋζιανής Λογικής Ένα δίκτυο Μπεϋζιανής Λογικής αναπαριστά την από-κοινού κατανομή πιθανότητας για ένα σύνολο μεταβλητών. Kαθορίζει λεπτομερώς ένα σύνολο υπό-συνθήκη ανεξάρτητων υποθέσεων (με τη μορφή Κατευθυνόμενων Άκυκλων Γράφων) και συνόλων τοπικών υπό-συνθήκη πιθανοτήτων (με τη μορφή πινάκων). Κάθε μεταβλητή αναπαριστάται από έναν κόμβο του γραφήματος. Μία ακμή του δικτύου αναπαριστά την παραδοχή ότι η μεταβλητή είναι υπό-συνθήκη ανεξάρτητη από τους μη-απογόνους της, δοσμένων των άμεσων προγόνων της.
Δίκτυα Μπεϋζιανής Λογικής Παράδειγμα: Storm BusTourGroup Lightning Campfire S,B S,¬B ¬S,B ¬S,¬B C 0.4 0.1 0.8 0.2 ¬C 0.6 0.9 0.2 0.8 Thunder ForestFire Campfire
Δίκτυα Μπεϋζιανής Λογικής Storm BusTourGroup Lightning Campfire S,B S,¬B ¬S,B ¬S,¬B C 0.4 0.1 0.8 0.2 ¬C 0.6 0.9 0.2 0.8 Thunder ForestFire Campfire Παράδειγμα P(Campfire=True | Storm=True, BusTourGroup=True) = 0.4
Δίκτυα Μπεϋζιανής Λογικής Για κάθε ανάθεση των τιμών (x1,…,xn) στις μεταβλητές (X1, …, Xn), μπορούμε να υπολογίσουμε την από-κοινού πιθανότητα P(x1,…,xn) = ∏i=1..nP(xi|Parents(Xi)) Οι τιμές P(xi|Parents(Xi)) έρχονται απευθείας από τους πίνακες που σχετίζονται αντίστοιχα με την Xi. Άρα, μπορούμε να ανακτήσουμε κάθε πιθανότητα της μορφής P(X1|X2), όπου X1,X2 είναι υποσύνολα του X = {X1, …, Xn}.
Εκμάθηση Παραμέτρων του Δικτύου Έστω ότι έχουμε μια δομή δικτύου. Δοσμένου ενός συνόλου δεδομένων, τέτοιο ώστε για κάθε παράδειγμα εκπαίδευσης όλες οι μεταβλητές έχουν ανατεθεί με τιμές, π.χ. πάντα εκχωρούμε μια πλήρη ανάθεση (x1,…,xn) στις μεταβλητές (X1, …, Xn). Στη συνέχεια, η εκμάθηση των πινάκων με τις υπό-συνθήκη πιθανότητες γίνεται ως εξής: Αρχικοποίησε τον μετρητή σε όλους τους πίνακες με 0, Για κάθε παράδειγμα εκμάθησης, αύξησε όλους τους κατάλληλους μετρητές στους πίνακες Μετάτρεψε τους μετρητές σε πιθανότητες.
Εκμάθηση Παραμέτρων του Δικτύου Έστω ότι έχουμε τη δομή ενός δικτύου αλλά ότι το σύνολο δεδομένων έχει ελλιπείς τιμές (missing values). Σε αυτήν την περίπτωση, η εκμάθηση των πινάκων με τις υπό-συνθήκη πιθανότητες δεν είναι απλή και συνήθως περιλαμβάνει μια διαδικασία gradient-ascent για τη μεγιστοποίηση της P(D|h), δηλ. την πιθανότητα του συνόλου δεδομένων δοσμένου του μοντέλου h. Σημειώνουμε ότι το D (σύνολο δεδομένων) είναι σταθερό και αναζητούμε το βέλτιστο h που μεγιστοποιεί την P(D|h).
Εκμάθηση Δομής του Δικτύου Η παραδοχή για την εκμάθηση των παραμέτρων του δικτύου είναι ότι ξέρουμε (ή υποθέτουμε) τη δομή του δικτύου. Απλές Περιπτώσεις-> η δομή του δικτύου κατασκευάζεται από έναν ειδικό του πεδίου. ...ωστόσο, στις περισσότερες περιπτώσεις δεν είναι διαθέσιμος ένας ειδικός ή το σύνολο δεδομένων είναι τόσο περίπλοκο που ακόμα και ένας ειδικός του πεδίου είναι ανίσχυρος. Παράδειγμα: Τα σύνολα δεδομένων γονιδιακής έκφρασης με μικροσυστάδες (gene-expression microarray) έχουν > 10K μεταβλητές.
Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Έστω ότι έχουμε ένα σύνολο δεδομένων και δύο δίκτυα. Ποιο από τα δύο δίκτυα ταιριάζει καλύτερα στο σύνολο δεδομένων? Case x1 x2 x3 1 + - - S1: 2 + + + 3 - - + 4 + + + S2: 5 - - - 6 - + + 7 + + + 8 - - - 9 + + + 10 - - - x1 x2 x3 x2 x1 x3 Η P(BS1|D) είναι αρκετά μεγαλύτερη της P(BS2|D). Το S1 χρησιμοποιήθηκε για την παραγωγή του συνόλου δεδομένων.
Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Έστω ότι έχουμε ένα σύνολο δεδομένων και δύο δίκτυα. Πως υπολογίζεται η P(BS,D)?
Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Παραδοχές που έγιναν (στο paper από τους Cooper και Herskovits): Οι μεταβλητές του συνόλου δεδομένων είναι διακριτές Οι περιπτώσεις (cases) συμβαίνουν ανεξάρτητα, δοσμένου ενός μοντέλου με λογική δικτύου. Δεν υπάρχουν περιπτώσεις οι οποίες έχουν μεταβλητές με ελλιπείς τιμές. Οι εκ των προτέρων πιθανότητες (πριν την παρατήρηση των δεδομένων) για τις αναθέσεις των υπό-συνθήκη πιθανοτήτων είναι ομοιόμορφες.
Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Πως υπολογίζεται η P(BS,D)? Η Xi έχει ένα σύνολο παραμέτρων πi Η Xi έχει ri πιθανές αναθέσεις (vi1, …, viri) Υπάρχουν qi μοναδικές instantiations (wi1, wi2, … , wiqi) για τις πi στο D. Nijk είναι το πλήθος των περιπτώσεων στο D στις οποίες η μεταβλητή xi έχει τιμή vik και η πi αποκτά instantiation το wij. Έστω Nij = ∑k=1..riNijk Με τις τέσσερις υποθέσεις, λαμβάνουμε τον τύπο:
Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Πως υπολογίζεται η P(BS,D)? Παραδόξως, μετά από δεικτοδότηση και εφαρμογή σταθερών ορίων, προκύπτει ότι η χρονική πολυπλοκότητα για τον υπολογισμό του παραπάνω τύπου είναι O(mn) – δηλ. γραμμική ως προς το πλήθος των μεταβλητών και το πλήθος των περιπτώσεων.
Πιθανότητα μιας Δομής Δικτύου δοσμένου ενός Συνόλου Δεδομένων Υπάρχει αποδοτικός τρόπος υπολογισμού της P(BS,D)? Μπορούμε να υπολογίσουμε όλες τις P(BSi|D) = P(BSi,D)/(∑P(BS,D)) και να βρούμε τη βέλτιστη, αλλά το σύνολο των πιθανών BSi μεγαλώνει εκθετικά με το n. Ωστόσο, αν είχαμε μια κατάσταση όπου ∑BS∊YP(BS,D) ≈P(D), και Y είναι αρκετά μικρό, τότε μπορούμε να προσεγγίσουμε αποδοτικά όλες τις P(BS|D) για BS∊Y.
K2 αλγόριθμος Ξεκινούμε με: Η χρονική πολυπλοκότητα είναι O(mn2r2n). Ωστόσο, αν υποθέσουμε ότι ένας κόμβος μπορεί να έχει το πολύ u γονείς, τότε η πολυπλοκότητα είναι O(munrT(n,u)), όπου T(n,u) = ∑k=0..uεπιλογή(n,k)
K2 αλγόριθμος Έστω πi ένα σύνολο γονιών του xi στο Bs, το οποίο συμβολίζουμε πi->xi. Τότε, μπορούμε να ξαναγράψουμε το P(BS) ως P(BS) = ∏i=1..n P(πi->xi), και να λάβουμε τον τύπο: Αν υποθέσουμε μια διάταξη των μεταβλητών τέτοια ώστε το xi να μην είναι γονέας του xj αν i<j, τότε το πλήθος των πιθανών πi-s για κάθε xi είναι μικρότερο, αλλά η συνολική πολυπλοκότητα παραμένει εκθετική.
K2 αλγόριθμος Ο K2 είναι ένας ευρετικός αλγόριθμος. Δέχεται ως είσοδο ένα σύνολο κόμβων, μια διάταξη των κόμβων, ένα άνω όριο για το πλήθος των γονέων που μπορεί να έχει ένας κόμβος και μια βάση δεδομένων D που περιέχει m περιπτώσεις. Ξεκινά με την παραδοχή ότι ένας κόμβος δεν έχει καθόλου γονείς και έπειτα δοκιμάζει την πρόσθεση κόμβων-γονέα των οποίων η προσθήκη αυξάνει περισσότερο την πιθανότητα της παραγόμενης δομής. Όταν η αύξηση κανενός γονέα δεν αυξάνει την πιθανότητα, ο αλγόριθμος συνεχίζει με έναν άλλο κόμβο. Η διαδικασία εφαρμόζεται ανάλογα με την διάταξη των κόμβων (ξεκινώντας με το X1 για το οποίο η διάταξη υποθέτει ότι δεν μπορεί να έχει πατέρα στο Κατευθυνόμενο Ακυκλικό γράφο). Η χρονική πολυπλοκότητα είναι πολυωνυμική O(mu2n2r), η οποία στην χειρότερη περίπτωση, όταν u=n, είναι O(mn4r).
Πειραματικά Αποτελέσματα Χρησιμοποιώντας μια προκαθορισμένη δομή δικτύου με 37 κόμβους και τις αντίστοιχες υπό-συνθήκη πιθανότητες– οι οποίες παρέχονται από ένα ειδικό του πεδίου της ιατρικής – που περιγράφουν πιθανά προβλήματα με αναισθησία στο χειρουργικό δωμάτιο, οι συγγραφείς παρήγαγαν μια βάση δεδομένων με 10000 περιπτώσεις. Εκτέλεσαν τον αλγόριθμο, με τη κατασκευασμένη βάση δεδομένων, και μια διάταξη κόμβων η οποία ήταν σύμφωνη με την αρχική δομή. Ο αλγόριθμος σχεδόν πλήρως ανασκεύασε το αρχικό δίκτυο. Έχασε μία αρχική ακμή, και πρόσθεσε μία ακμή η οποία δεν υπήρχε στο αρχικό δίκτυο.
Πλεονεκτήματα και Μειονεκτήματα + Κάθε ακριβής αλγόριθμος έχει εκθετική πολυπλοκότητα, όμως αυτός ο ευρετικός αλγόριθμος έχει πολυωνυμική πολυπλοκότητα. + Τα αρχικά αποτελέσματα είναι καλά. + Ο αλγόριθμος μπορεί να επεκταθεί για να καλύψει βάσεις δεδομένων με ελλιπείς τιμές. Ωστόσο, η επέκταση είναι εκθετική ως προς το πλήθος των ελλιπών τιμών. – Ο αλγόριθμος απαιτεί μια διάταξη των κόμβων/μεταβλητών.
Αναφορές G. Cooper and E. Herskovits, “A Bayesian Method for the Induction of Probabilistic Networks from Data”, Machine Learning 9 (1992) pp. 309-347. Tom Mitchell, Machine Learning.