ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε να ταξιμομήσουμε τους δυνητικούς πελάτες μιας τράπεζας ως καλούς και κακούς υποψήφιους δανειολήπτες. Έχουμε ένα σύνολο δεδομένων εκπαίδευσης που περιγράφει παλιούς πελάτες χρησιμοποιώντας τα εξής χαρακτηριστικά: Οικογενειακή κατάσταση, με πεδίο τιμών {ελεύθερος, παντρεμένος, διαζευγμένος} Φύλο, με πεδίο τιμών {άνδρας, γυναίκα} Ηλικία, με πεδίο τιμών {18..30, 30..50, 50..65, 65..} Ετήσιο εισόδημα, με πεδίο τιμών {10Κ..25Κ, 25Κ..50Κ, 50Κ..65Κ, 65Κ..100Κ, 100Κ..} Σχεδιάστε ένα νευρωνικό δίκτυο το οποίο θα μπορούσε να εκπαιδευτεί για να προβλέπει την πιστοληπτική ικανότητα ενός υποψήφιου δανειολήπτη. Πώς θα κωδικοποιούνταν το παράδειγμα: παντρεμένος, άνδρας, 30..50,10Κ..25Κ στην είσοδο του δικτύου; Υπόδειξη: Για τη σχεδίαση του νευρωνικού δικτύου θα πρέπει να καθορίσετε τις εισόδους, τις εξόδους, το πλήθος των επιπέδων, το πλήθος των νευρώνων, το είδος των νευρώνων κλπ. Πρόκειται για ένα πρόβλημα ταξινόμησης σε δύο κλάσεις, καλοί και κακοί δανειολήπτες. Θα χρησιμοποιήσουμε λοιπόν ένα νευρωνικό δίκτυο με σιγμοειδείς νευρώνες, δύο επιπέδων (κρυφό επίπεδο και επίπεδο εξόδου). Επειδή έχουμε δύο μόνο κλάσεις, μπορούμε στο επίπεδο εξόδου να χρησιμοποιήσουμε είτε μόνο έναν νευρώνα, είτε δύο. Εάν χρησιμοποιήσουμε έναν σιγμοειδή νευρώνα στην έξοδο, τότε εφόσον η έξοδός του είναι πάνω από 0,5 θα θεωρούμε ότι ο πελάτης είναι καλός υποψήφιος δανειολήπτης, ενώ αν η έξοδός του είναι μικρότερη από 0,5 θα θεωρούμε ότι ο πελάτης είναι κακός υποψήφιος δανειολήπτης. Εάν στο επίπεδο εξόδου χρησιμοποιήσουμε δύο νευρώνες εξόδου, τότε κάθε νευρώνας θα αντιστοιχεί σε μία από τις δύο κλάσεις, οπότε κάθε παράδειγμα θα ταξινομείται στην κλάση του νευρώνα που έδωσε τη μεγαλύτερη έξοδο. Στο κρυφό επίπεδο μπορούμε να βάλουμε οποιοδήποτε πλήθος μη-γραμμικών νευρώνων. Το πλήθος τους θα καθοριστεί από το σύνολο των δεδομένων εκπαίδευσης και θα προσδιορισθεί πειραματικά (π.χ. με τη μέθοδο K-fold cross validation). Τέλος, όσον αφορά τις εισόδους του νευρωνικού δικτύου, παρατηρούμε ότι όλες είναι διακριτές. Για κάθε πεδίο εισόδου των δεδομένων θα βάλουμε στο νευρωνικό δίκτυο τόσες εισόδους, όσες είναι οι διαφορετικές τιμές του πεδίου. Οι είσοδοι αυτοί θα παίρνουν τιμές 0 και 1, με τον περιορισμό φυσικά ότι από όλες τις εισόδους του δικτύου που αντιστοιχούν στο ίδιο πεδίο εισόδου των δεδομένων, ακριβώς μία θα έχει την τιμή 1 και όλες οι υπόλοιπες θα έχουν την τιμή 0. Συνολικά το δίκτυο θα έχει 14 εισόδους. Αν υποθέσουμε ότι οι τρεις πρώτες είσοδοι αντιστοιχούν στην οικογενειακή κατάσταση, με την πρώτη είσοδο να αντιστοιχεί στο ελεύθερος, τη δεύτερη στο παντρεμένος και την τρίτη στο διαζευγμένος, και ομοίως για τις υπόλοιπες εισόδους με τη σειρά, τότε το παράδειγμα που δίνεται στην εκφώνηση θα κωδικοποιούνταν ως εξής: 0,1,0,1,0,0,1,0,0,1,0,0,0,0
ΘΕΜΑ 2 ο (2.5 μονάδες) Έστω ένας υπερ-απλός γραμμικός νευρώνας, με μία είσοδο x με βάρος w x, συν επιπλέον την τάση πόλωσης b (θεωρείστε την ίση με 1) με αντίστοιχο βάρος w b. Έστω y η έξοδος του νευρώνα, τέτοια ώστε y = x w x + b. Έστω τα παρακάτω δύο παραδείγματα εκπαίδευσης: x=1, y=2 x=2, y=4 Έστω ότι αρχικά ισχύει w x = w b = 0. Θεωρείστε ρυθμό μάθησης d = 0,5. Δείξτε πώς αλλάζουν τα βάρη του νευρώνα στις πρώτες 2 εποχές εκπαίδευσης. Αλλάζετε τα βάρη μετά από κάθε παράδειγμα. Μετά από κάθε εποχή εκπαίδευσης να υπολογίζετε το μέσο τετραγωνικό σφάλμα του νευρώνα στο σύνολο των παραδειγμάτων. Υπόδειξη 1: Δίνεται ο κανόνας δέλτα για παραγωγίσιμες συναρτήσεις, Δw ji = -d δ i α j, όπου δ i = (α i -o i )Φ'(S i ). Υπενθυμίζεται ότι για τη γραμμική συνάρτηση ενεργοποίησης ισχύει Φ'(.) = 1. Αρχικά το δίκτυο βγάζει έξοδο 0 και για τα δύο παραδείγματα, αντί για 2 και 3 αντίστοιχα. Άρα το μέσο σφάλμα είναι (2 2 +3 2 )/2=6,5. 1 η εποχή Παράδειγμα 1: Έξοδος 0 Δw x = -0,5 (0-2) 1 = 1 w x =1 Δw b = -0,5 (0-2) 1 = 1 w b =1 Παράδειγμα 2: Έξοδος 3 Δw x = -0,5 (3-4) 2 = 1 w x =2 Δw b = -0,5 (3-4) 1 = 0,5 w b =1,5 Υπολογισμός μέσου σφάλματος: (1,5 2 +1,5 2 )/2 = 2,25 2 η εποχή Παράδειγμα 1: Έξοδος 3,5 Δw x = -0,5 (3,5-2) 1 = -0,75 w x = 1,25 Δw b = -0,5 (3,5-2) 1 = -0,75 w b = 0,75 Παράδειγμα 2: Έξοδος 3,25 Δw x = -0,5 (3,25-4) 2 = 0,75 w x =2 Δw b = -0,5 (3,25-4) 1 = 0,375 w b =1,125 Υπολογισμός μέσου σφάλματος: (1,125 2 +1,125 2 )/2 = 1,266 ΘΕΜΑ 3 ο (2.5 μονάδες) Έστω ένα μονοδιάστατο σύνολο δεδομένων αποτελούμενο από τους παρακάτω αριθμούς: 1 2 3 6 8 12 27 31 35 38 39 45 49
85 87 91 99 102 112 158 163 171 188 195 197 201 Εκτελέστε ομαδοποίηση (συσταδοποίηση) στα παραπάνω δεδομένα. Πόσες ομάδες (συστάδες) βρήκατε; Πού είναι τα κέντρα τους; Σε ποια ομάδα ανήκει κάθε σημείο; Υπόδειξη: Μελετήστε πρώτα τα δεδομένα. Ένα διάγραμμα τοποθέτησής τους σε μονοδιάστατο άξονα θα σας φανεί χρήσιμο. Δεν χρειάζεται να δώσετε αναλυτικά τα βήματα της διαδικασίας που θα ακολουθήσετε, αρκεί να δώσετε ένα εύλογο τελικό αποτέλεσμα. Η ομαδοποίηση είναι μη επιβλεπόμενη διαδικασία, δεν υπάρχει δηλαδή απόλυτα ορθό αποτέλεσμα. Σε μεγάλο βαθμό εξαρτάται από το πλήθος των ομάδων που θα επιλέξουμε. Αν τοποθετήσουμε τα δεδομένα σε μονοδιάστατο άξονα, θα παρατηρήσουμε 4 ομάδες, οι οποίες αποτελούνται από τα παρακάτω σημεία: [1 2 3 6 8 12] με κέντρο στο 5,33 [27 31 35 38 39 45 49] με κέντρο στο 37,71 [85 87 91 99 102 112] με κέντρο στο 96 [158 163 171 188 195 197 201] με κέντρο στο 181,85 Με βάση την παραπάνω ομαδοποίηση, κάθε σημείο πράγματι αντιστοιχίζεται στην ομάδα του, άρα η ομαδοποίηση είναι σταθερή. Μια εναλλακτική ομαδοποίηση θα μπορουσε να είναι σε δύο ομάδες, ως εξής: Μια ομάδα αποτελούν τα σημεία της πρώτης σειράς με κέντρο το 22,76, ενώ μια δεύτερη ομάδα αποτελούν τα σημεία της δεύτερης σειράς με κέντρο το 142,23. Και η ομαδοποίηση αυτή είναι σταθερή, μιας και τα οριακά σημεία, όπως π.χ. το 85, βρίσκονται πιο κοντά στο κέντρο της δικής τους ομάδας (απόσταση 57,23 από το 142,43) παρά στο κέντρο της άλλης ομάδας (απόσταση 62,24 από το 22,76). ΘΕΜΑ 4 ο (2,5 μονάδες) Έχετε 10 κάρτες αριθμημένες από το 1 έως το 10. Πρέπει να τις μοιράσετε σε δύο ομάδες, έστω Α και Β, έτσι ώστε οι κάρτες της ομάδας Α να έχουν άθροισμα όσο πιο κοντά στο 36 και οι κάρτες της ομάδας Β να έχουν γινόμενο όσο πιο κοντά στο 360. Ειδικότερα μας ενδιαφέρει να ελαχιστοποιήσουμε το άθροισμα των διαφορών του αθροίσματος και του γινομένου από τους στόχους τους. Σχεδιάστε έναν γενετικό αλγόριθμο για να λύσετε το παραπάνω πρόβλημα. Χρησιμοποιείστε πληθυσμό 4 χρωμοσωμάτων που ανανεώνεται πλήρως από γενιά σε γενιά. Προσομοιώστε την εκτέλεση του γενετικού αλγορίθμου για μία γενιά, χρησιμοποιώντας τους παρακάτω τυχαίους αριθμούς. 0,132121 0,599646 0,331586 0,395582 0,702563 0,266046 0,420844 0,184441 0,022461 0,51494 0,621801 0,157019 0,475551 0,313117 0,256663 0,279473 0,319811 0,84198 0,328177 0,923702 0,852289 0,302941 0,483014 0,124733 0,630719 0,503106 0,734717 0,990513 0,929612 0,917347 0,784411 0,549822 0,406419 0,472292 0,249242 0,69625 0,754013 0,179453 0,281133 0,889025 0,741283 0,976768 0,236582 0,545591 0,33017 0,38798 0,01591 0,730462 0,321277 0,001114 0,147985 0,10095 0,603296 0,222198 0,06343 0,787898 0,228134 0,961425 0,504324 0,337938 0,392964 0,658696 0,843496 0,974632 0,943954 0,301852 0,279915 0,107633 0,546671 0,839505 0,499059 0,783325 0,720138 0,122951 0,421286 0,179673 0,130956 0,557743 0,942438 0,926833 0,286637 0,037801 0,926982 0,342501 0,929993 0,293082 0,414114 0,030657 0,946882 0,782606 0,565002 0,722483 0,234337 0,810361 0,775801 0,48813 0,175208 0,293643 0,725995 0,53311
Κάθε χρωμόσωμα θα αποτελείται από 10 bits, αντιστοιχώντας ένα bit σε κάθε μία από τις 10 κάρτες. Τιμή 0 για κάποιο bit θα σημαίνει ότι η κάρτα είναι στην ομάδα Α ενώ τιμή 1 θα σημαίνει ότι η κάρτα είναι στην ομάδα Β. Για να σχηματίσουμε λοιπόν τον αρχικό πληθυσμό των 4 χρωμοσωμάτων χρησιμοποιούμε τους 40 πρώτους τυχαίους αριθμούς του δοθέντος πίνακα. Για κάθε τυχαίο αριθμό που είναι μικρότερος από 0,5 το αντίστοιχο bit θα τίθεται στην τιμή 0, ενώ για κάθε τυχαίο αριθμό που είναι μεγαλύτερος από 0,5, το αντίστοιχο bit θα τίθεται στην τιμή 1. Έχουμε λοιπόν για τον αρχικό πληθυσμό τα παρακάτω χρωμοσώματα: Χ 1 : 0100100001 Χ 2 : 1000000101 Χ 3 : 1000111111 Χ 4 : 1100011001 Ως συνάρτηση αξιολόγησης θα ορίσουμε τον αντίστροφο του αθροίσματος των δύο αποκλίσεων (έτσι ώστε μεγαλύτερες τιμές καταλληλότητας να αναφέρονται σε καλύτερα χρωμοσώματα). Για παράδειγμα, το χρωμόσωμα Χ 1 χωρίζει τις κάρτες στα εξής σύνολα: Χ 1 :Α = 1+3+4+6+7+8+9 = 38 Χ 1 :Β = 2+5+10= 100 Το άθροισμα των δύο αποκλίσεων είναι 2+260 = 262 και ο αντίστροφός του είναι 0,003816794. Με παρόμοιο τρόπο δουλεύουμε και στα υπόλοιπα 3 χρωμοσώματα: Χ 2 :Α = 2+3+4+5+6+7+9 = 36 Χ 2 :Β = 1 8 10 = 80 Το άθροισμα των δύο αποκλίσεων είναι 0+280=280 και ο αντίστροφός του είναι 0,003571429. Χ 3 :Α = 2+3+4 = 9 Χ 3 :Β = 1 5 6 7 8 9 10 = 151200 Το άθροισμα των δύο αποκλίσεων είναι 27+150840=150867 και ο αντίστροφός του είναι 6,36 10-6. Χ 4 :Α = 3+4+5+8+9 = 29 Χ 4 :Β = 1 5 6 7 8 9 10 = 840 Το άθροισμα των δύο αποκλίσεων είναι 7+480=487 και ο αντίστροφός του είναι 0,002053388. Στη συνέχεια πρέπει να σχηματίσουμε 2 ζευγάρια χρωμοσωμάτων. Το άθροισμα των αξιών είναι 0,009447971. Επιλέγουμε λοιπόν 4 τυχαίους αριθμούς από το 0 ως το 0,009447971 (πολλαπλασιάζοντας τους τέσσερις επόμενους αριθμούς του πίνακα με το 0,009447971) και: Εάν βρεθεί στο [0, 0,003816794) επιλέγουμε το Χ 1 Εάν βρεθεί στο [0,003816794, 0,007388223) επιλέγουμε το Χ 2 Εάν βρεθεί στο [0,007388223, 0,007394583) επιλέγουμε το Χ 3 Εάν βρεθεί στο [0,007394583, 0,009447971) επιλέγουμε το Χ 4 Σε περίπτωση που για κάποιο ζευγάρι επιλεγεί δύο φορές το ίδιο χρωμόσωμα, χρησιμοποιούμε επόμενο τυχαίο αριθμό, μέχρι να επιλεγεί διαφορετικό χρωμόσωμα. Οι επόμενοι 4 τυχαίοι αριθμοί λοιπόν (πολλαπλασιασμένοι με 0,009447971) είναι οι: 0,00700362 0,009228476 0,00223522 0,005154728 και τα ζευγάρια χρωμοσωμάτων που σχηματίζονται είναι τα: Χ2-Χ4 Χ1-Χ2 Για το πρώτο ζευγάρι επιλέγουμε έναν τυχαίο ακέραιο αριθμό από το 1 έως το 9 (πολλαπλασιάζοντας τον επόμενο τυχαίο αριθμό επί 9 και στρογγυλοποιώντας προς τα πάνω), που αντιστοιχεί στο σημείο διασταύρωσης (δεν έχει νόημα η διασταύρωση να γίνει στα άκρα των χρωμοσωμάτων). Στην προκειμένη περίπτωση ο αριθμός που προκύπτει είναι ο 2,97, που σημαίνει ότι η διασταύρωση θα γίνει μετά την 3 η θέση. Έτσι οι δύο απόγονοι είναι οι: Χ 5 : 1000011001
Χ 6 : 1100000101 Για κάθε έναν από τους απογόνους εξετάζουμε το ενδεχόμενο να γίνει μετάλλαξη. Έστω ότι η πιθανότητα μετάλλαξης είναι 0,01. Εξετάζουμε τους επόμενους 20 αριθμούς, εάν κάποιος από αυτούς είναι μικρότερος από 0,01 τότε το αντίστοιχο bit αλλάζει τιμή. Κάτι τέτοιο δεν συμβαίνει, οπότε δεν πραγματοποιείται καμία μετάλλαξη. Στη συνέχεια επιλέγουμε σημείο διασταύρωσης για το δεύτερο ζευγάρι, το οποίο προκύπτει και πάλι να είναι η θέση 3 (2,716). Έτσι οι δύο απόγονοι είναι οι: Χ 7 : 0100000101 Χ 8 : 1000100001 Και πάλι ελέγχουμε την πιθανότητα μετάλλαξης, αλλά στους 20 επόμενους αριθμούς δεν υπάρχει κάποιος μικρότερος από 0.01, οπότε δεν πραγματοποιείται καμία μετάλλαξη. Το νέο σύνολο χρωμοσωμάτων είναι λοιπόν το: # Χρωμόσωμα Καταλληλότητα Χ 5 1000011001 0,015384615 X 6 1100000101 0,004950495 X 7 0100000101 0,004975124 X 8 1000100001 0,003184713 Η διαδικασία που περιγράφηκε παραπάνω πρέπει να συνεχισθεί μέχρις είτε να βρεθεί κάποιο χρωμόσωμα με πολύ υψηλή καταλληλότητα (π.χ., μεγαλύτερη από 0,1), είτε να συμπληρωθεί κάποιος προκαθορισμένος αριθμός επαναλήψεων. ΘΕΜΑ 5 ο (2,5 μονάδες) Έστω τρία Boolean χαρακτηριστικά, Α, Β και C, τα οποία χρησιμοποιούνται για να ταξινομήσουν παραδείγματα σε δύο κατηγορίες, Good και Bad. Σας δίνεται το ακόλουθο δυαδικό δέντρο απόφασης (οι απαντήσεις True φαίνονται με συνεχείς γραμμές ενώ οι απαντήσεις False φαίνονται με διάστικτες γραμμές). A B C Good Bad B Good Good Bad Δώστε ένα σύνολο εκπαίδευσης που να είναι ελάχιστο ως προς το μέγεθος των δεδομένων (πλήθος παραδειγμάτων και πλήθος χαρακτηριστικών). Περιγράψτε σύντομα πώς το κατασκευάσατε. Είναι μοναδικό αυτό το ελάχιστο σύνολο; Ένα ελάχιστο σύνολο πρέπει να έχει 5 στοιχεία, όσα και τα φύλλα του δέντρου. Κάθε στοιχείο πρέπει να έχει τουλάχιστον τιμές για 3 ιδιότητες, τις A, B και C, και τιμή για την κλάση-στόχο, άρα θα είναι της μορφής:
A, B, C, class Μπορούμε να παράγουμε ένα τέτοιο στοιχεία για το αριστερότερο μονοπάτι, δίνοντας τιμές για τις ιδιότητες A και B σύμφωνα με την πλοήγηση στο δέντρο και δίνοντας μία αυθαίρετη τιμή X για την ιδιότητα C που δεν εξετάζεται στο συγκεκριμένο μονοπάτι: True, True, X, Good Αντίστοιχα παράγουμε και τα επόμενα δεδομένα: True, False, X, Bad Για τα δεδομένα του δεξιού κλάδου μετά τη ρίζα, βάζουμε πρώτα τιμή στο C και μετά στο B False, True, True, Good False, False, True, Bad False, X, False, Good Όπως φαίνεται και από τον τρόπο κατασκευής, το ελάχιστο σύνολο ΔΕΝ είναι μοναδικό. ΑΠΑΝΤΗΣΤΕ 4 ΑΠΟ ΤΑ ΠΑΡΑΠΑΝΩ 5 ΘΕΜΑΤΑ Ενδεικτικές λύσεις θα αναρτηθούν μετά την εξέταση στην ιστοσελίδα του μαθήματος