ΘΕΜΑ ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις Παρασκευή 9 Ιανουαρίου 2007 5:00-8:00 εδοµένου ότι η συνάρτηση XOR µπορεί να οριστεί και ως: A XOR B = (A B) ( A B) σχεδιάστε ένα νευρωνικό δίκτυο το οποίο να προσοµοιώνει τη συνάρτηση XOR, χρησιµοποιώντας τον παραπάνω τύπο ως βάση της σχεδίασής σας. ώστε όλες τις συνδέσεις που εµφανίζονται στο δίκτυο, µαζί µε τα βάρη τους. Σηµείωση: Το σύµβολο υποδηλώνει τη λογική σύζευξη (AND), το σύµβολο τη λογική διάζευξη (OR) και το σύµβολο τη λογική άρνηση (NOT). Υπόδειξη: Προσοµοιώστε τις λογικές πράξεις της ανάλυσης της XOR µε αντίστοιχους σιγµοειδείς νευρώνες. Θεωρείστε ότι για συνολική είσοδο σχετικά µακριά από το 0, η έξοδος του σιγµοειδούς νευρώνα είναι είτε 0 είτε. Αρχικά κατασκευάζουµε τρεις νευρώνες που να προσοµοιώνουν τη λειτουργία των λογικών συναρτήσεων AND, OR και NOT. Σε όλες τις περιπτώσεις θεωρούµε τάση πόλωσης ίση µε -. Αυτοί φαίνονται παρακάτω: z=- z=-.5 0.5 Α Β AND Α AND B Α Β OR Α OR B z=- - Α -.5 NOT NOT Α Με βάση τα παραπάνω, αλλά και τον τύπο που µας δίνεται, η συνάρτηση XOR µπορεί να προσοµοιωθεί από το παρακάτω νευρωνικό δίκτυο (τα βάρη των διαφόρων νευρώνων είναι αυτά που φαίνονται στα προηγούµενα σχήµατα):
z NOT z Α AND z Β z OR z AND NOT ΘΕΜΑ 2 ο (2.5 µονάδες) Έστω ένα ανταγωνιστικό δίκτυο επιβλεπόµενης κατηγοριοποίησης µε 4 ανταγωνιστικούς νευρώνες στο κρυφό επίπεδο και δύο γραµµικούς νευρώνες στο επίπεδο εξόδου, όπως φαίνεται στο παρακάτω σχήµα: x 2 A y 3 B 4 Ο σκοπός του παραπάνω δικτύου είναι η ταξινόµηση των παραδειγµάτων στις κατηγορίες Α και Β. Έστω ότι τα βάρη στις εισόδους των ανταγωνιστικών νευρώνων είναι όλα µηδέν. ίνονται τα παρακάτω τέσσερα παραδείγµατα εκπαίδευσης: # x y Κατηγορία Α 2 - Β 3 - Β 4 - - Α Προσοµοιώστε δύο εποχές εκπαίδευσης και δώστε τα βάρη των ανταγωνιστικών νευρώνων στο τέλος αυτών. ίνονται: Ο κανόνας µάθησης Kohonen W i '=W i ±a(x-w i ). Θεωρήστε τη σταθερά a ίση µε 0.5. Υπόδειξη: Σε περίπτωση ισοβαθµίας κατά την εκπαίδευση µεταξύ των νευρώνων του ανταγωνιστικού επιπέδου, επιλέξτε τον πρώτο νευρώνα µε βάση την αρίθµησή τους (π.χ. εάν για κάποιο παράδειγµα ισοβαθµήσουν οι νευρώνες 2 και 4, θεωρείστε νικητή το νευρώνα 2). Τα αρχικά βάρη των ανταγωνιστικών νευρώνων φαίνονται στον παρακάτω πίνακα:
# 0 0 #2 0 0 #3 0 0 η εποχή εκπαίδευσης: Τρέχον παράδειγµα: # (Α) (,) Νευρώνας νικητής: # (Α) (απόσταση εισόδου:.44 ισοβαθµία µε #2, #3 και #4). Νέες τιµές βαρών του #: 0,0 +0.5, = 0.5,0.5 # 0.5 0.5 #2 0 0 #3 0 0 Τρέχον παράδειγµα: #2 (Β) (,-) Νευρώνας νικητής: #2 (Α) (απόσταση εισόδου:.44 ισοβαθµία µε #3 και #4). Νέες τιµές βαρών του #2: 0,0-0.5,- = -0.5,0.5 # 0.5 0.5 #2-0.5 0.5 #3 0 0 Τρέχον παράδειγµα: #3 (Β) (-,) Νευρώνας νικητής: #2 (Α) (απόσταση εισόδου: 0.707). Νέες τιµές βαρών του #2: -0.5,0.5-0.5-0.5,0.5 = -0.25,0.25 # 0.5 0.5 #2-0.25 0.25 #3 0 0 Τρέχον παράδειγµα: #4 (Α) (-,-) Νευρώνας νικητής: #3 (Β) (απόσταση εισόδου:.44, ισοβαθµία µε #4). Νέες τιµές βαρών του #3: 0,0-0.5 -,- = 0.5,0.5 # 0.5 0.5 #2-0.25 0.25 2 η εποχή εκπαίδευσης: Τρέχον παράδειγµα: # (Α) (,) Νευρώνας νικητής: # (Α) (απόσταση εισόδου: 0,707 ισοβαθµία µε #3). Νέες τιµές βαρών του #: 0.5,0.5 +0.5 0.5,0.5 = 0.75,0.75 # 0.75 0.75
#2-0.25 0.25 Τρέχον παράδειγµα: #2 (Β) (,-) Νευρώνας νικητής: #4 (Β) (απόσταση εισόδου:.44). Νέες τιµές βαρών του #4: 0,0 +0.5,- = 0.5,-0.5 # 0.75 0.75 #2-0.25 0.25 #4 0.5-0.5 Τρέχον παράδειγµα: #3 (Β) (-,) Νευρώνας νικητής: #2 (Α) (απόσταση εισόδου:.060). Νέες τιµές βαρών του #2: -0.25,0.25-0.5-0.75,0.75 = -0.625,0.625 # 0.75 0.75 #2 0.0625-0.0625 #4 0.5-0.5 Τρέχον παράδειγµα: #4 (Α) (-,-) Νευρώνας νικητής: #2 (Α) (απόσταση εισόδου:.46). Νέες τιµές βαρών του #2: 0.0625,-0.0625 +0.5 -.0625,-0.9375 = -0.46875,-0.5325 # 0.75 0.75 #2-0.46875-0.5325 #4 0.5-0.5 Μολονότι η εκφώνηση δεν ζητά και τρίτη εποχή εκπαίδευσης, αυτή δίνεται για εκπαιδευτικούς λόγους: 3 η εποχή εκπαίδευσης: Τρέχον παράδειγµα: # (Α) (,) Νευρώνας νικητής: # (Α) (απόσταση εισόδου: 0,353). Νέες τιµές βαρών του #: 0.75,0.75 +0.5 0.25,0.25 = 0.875,0.875 # 0.875 0.875 #2-0.46875-0.5325 #4 0.5-0.5 Τρέχον παράδειγµα: #2 (Β) (,-) Νευρώνας νικητής: #4 (Β) (απόσταση εισόδου: 0.707). Νέες τιµές βαρών του #4: 0.5,-0.5 +0.5 0.5,-0.5 = 0.75,-0.75 # 0.875 0.875 #2-0.46875-0.5325
#4 0.75-0.75 Τρέχον παράδειγµα: #3 (Β) (-,) Νευρώνας νικητής: #3 (Β) (απόσταση εισόδου:.58). Νέες τιµές βαρών του #3: 0.5,0.5 +0.5 -.5,0.5 = -0.25,0.75 # 0.875 0.875 #2-0.46875-0.5325 #3-0.25 0.75 #4 0.75-0.75 Τρέχον παράδειγµα: #4 (Α) (-,-) Νευρώνας νικητής: #2 (Α) (απόσταση εισόδου: 0.708). Νέες τιµές βαρών του #2: -0.46875-0.5325 +0.5-0.5325,-0.46875 = -0.73438,-0.76563 # 0.875 0.875 #2-0.73438-0.76563 #3-0.25 0.75 #4 0.75-0.75 Βλέπουµε λοιπόν ότι µετά από τρεις εποχές εκπαίδευσης, κάθε ένας από τους ανταγωνιστικούς νευρώνες αντιστοιχεί σε ένα και µόνο ένα από τα τέσσερα παραδείγµατα εκπαίδευσης. Αν συνεχίζαµε την εκπαίδευση θα βλέπαµε ότι τα βάρη των τεσσάρων ανταγωνιστικών νευρώνων θα πλησίαζαν ολοένα και περισσότερο τα αντίστοιχα τους παραδείγµατα. Θεωρήστε τώρα ότι τα τέσσερα παραδείγµατα δεν ήταν µεµονωµένα παραδείγµατα αλλά οµάδες (clusters) παραδειγµάτων που αντιστοιχίζονται στην ίδια κατηγορία. Σε µια τέτοια περίπτωση η συµπεριφορά του νευρωνικού δικτύου θα ήταν ανάλογη µε αυτή που παρατηρήσαµε στην άσκηση, δηλαδή το διάνυσµα βαρών κάθε ενός από τους τέσσερις ανταγωνιστικούς νευρώνες θα πλησίαζε το µέσο όρο των διανυσµάτων βαρών της αντίστοιχης οµάδας παραδειγµάτων εκπαίδευσης. ΘΕΜΑ 3 ο (2.5 µονάδες) Περιγράψτε τη λειτουργία και την εκπαίδευση των αναδροµικών δικτύων Elman. Το δίκτυο Elman αποτελείται από δύο επίπεδα νευρώνων. Το κρυφό επίπεδο, το οποίο συνήθως έχει νευρώνες µε σιγµοειδείς συναρτήσεις ενεργοποίησης -/ (tansig). Το επίπεδο εξόδου, το οποίο συνήθως έχει γραµµικούς νευρώνες. Υπάρχει αναδροµική σύνδεση από τις εξόδους των νευρώνων του κρυφού επιπέδου στις εισόδους των ίδιων νευρώνων. Το κρυφό επίπεδο έχει συνήθως πολλούς νευρώνες. Η έξοδος των νευρώνων του κρυφού επιπέδου παρουσιάζεται ως είσοδος στους ίδιους νευρώνες την επόµενη χρονική στιγµή. Άρα η έξοδος του δικτύου Elman εξαρτάται τόσο από την τρέχουσα είσοδό του, όσο και από τις προηγούµενες εισόδους του (µάλιστα όχι µόνο από την αµέσως προηγούµενη). Είναι λοιπόν αναµενόµενο για δεδοµένο διάνυσµα εισόδου να προκύψει σε δύο διαφορετικές δοκιµές διαφορετική έξοδος, εάν τα προηγούµενα διανύσµατα που παρουσιάστηκαν στην είσοδο δεν ήταν ίδια.
Με δεδοµένο ότι η απόκριση του δικτύου Elman εξαρτάται όχι µόνο από την τρέχουσα είσοδο, αλλά και από τις προηγούµενες, κατά την εκπαίδευση πρέπει τα παραδείγµατα µάθησης να παρουσιάζονται πάντα µε τη "σωστή" σειρά. Η εκπαίδευση του δικτύου Elman γίνεται µε τη µέθοδο της οπισθοδιάδοσης του σφάλµατος, όπου όµως αγνοείται η συνεισφορά στο σφάλµα της εσφαλµένης εισόδου από τις αναδροµικές συνδέσεις. Αυτή η "παράβλεψη" έχει ως αποτέλεσµα να απαιτούνται περισσότερες εποχές εκπαίδευσης για τα δίκτυα Elman, από ό,τι για αντίστοιχα µη-αναδροµικά back-propagation δίκτυα. Θέµα 4 ο (2.5 µονάδες) Έστω το πρόβληµα του σάκου. Ειδικότερα έχουµε ένα σάκο χωρητικότητας 20 µονάδων όγκου και οκτώ αντικείµενα µε όγκους και αξίες που φαίνονται στον παρακάτω πίνακα: Αντικείµενο # #2 #3 #4 #5 #6 #7 #8 Όγκος 4 7 9 3 5 8 6 2 Αξία 7 4 6 9 0 8 4 Σχεδιάστε έναν γενετικό αλγόριθµο για να επιλέξετε τα αντικείµενα που θα βάλετε στο σάκο. Χρησιµοποιείστε πληθυσµό 4 χρωµοσωµάτων που ανανεώνεται πλήρως από γενιά σε γενιά. Προσοµοιώστε την εκτέλεση του γενετικού αλγορίθµου για µία γενιά, χρησιµοποιώντας τους παρακάτω τυχαίους αριθµούς. 0,46374 0,234374 0,439749 0,682675 0,78773 0,336385 0,857697 0,54626 0,733548 0,064739 0,846527 0,575729 0,69738 0,23356 0,950259 0,894705 0,709656 0,3556 0,633967 0,78698 0,524763 0,082884 0,04294 0,44776 0,67832 0,2266 0,8008 0,38447 0,485948 0,940825 0,34495 0,38887 0,004923 0,6278 0,357079 0,83456 0,444426 0,854376 0,75969 0,700447 0,37438 0,546525 0,9075 0,572425 0,236702 0,20707 0,6293 0,8587 0,43323 0,686798 0,72702 0,56205 0,03332 0,36609 0,44754 0,747949 0,578424 0,0562 0,55549 0,436496 0,4764 0,73637 0,806684 0,52427 0,2268 0,8964 0,547473 0,457706 0,30300 0,95404 0,9355 0,89572 0,637368 0,266807 0,66972 0,4058 0,90924 0,449968 0,28597 0,737923 0,36526 0,732603 0,744999 0,880942 0,04567 0,955587 0,69808 0,06709 0,82705 0,86275 0,33675 0,059842 0,097732 0,43890 0,8477 0,032585 0,24809 0,86065 0,005883 0,9483 Θα χρησιµοποιήσουµε δυαδικά χρωµοσώµατα οκτώ θέσεων, µε κάθε θέση να αντιστοιχεί σε ένα αντικείµενο και το να δηλώνει την επιλογή του αντικειµένου ενώ το 0 τη µη επιλογή του. Το πρόβληµα των µη έγκυρων χρωµοσωµάτων, δηλαδή αυτών που αντιστοιχούν σε συνολικό όγκο επιλεγµένων αντικειµένων µεγαλύτερο από τη χωρητικότητα του σάκου, θα το αντιµετωπίσουµε µε χρήση αρνητικής βαθµολογίας. Ειδικότερα θα ορίσουµε µια συνάρτηση τιµωρίας Pen(x) ως εξής: N 0, αν x( i) V ( i) < C i= Pen( x) = N Pen(3 ( x( i) V ( i) C)) αλλιώς i= όπου x(i) η τιµή του i-οστού bit του χρωµοσώµατος x και V(i) ο όγκος τους i-οστού αντικειµένου. Η παραπάνω συνάρτηση τιµωρεί τις υπερβάσεις µε 3 φορές το ποσό της υπέρβασης. Ως συνάρτηση αξιολόγησης θα χρησιµοποιήσουµε τη συνάρτηση: eval( x) = N i= x( i) P( i) Pen( x) Για τη δηµιουργία του αρχικού πληθυσµού θα χρησιµοποιήσουµε τους πρώτους 32 αριθµούς. Ειδικότερα, για όσους αριθµούς είναι µικρότεροι από 0.5 το αντίστοιχο bit θα είναι µηδέν, ενώ για όσους αριθµούς είναι µεγαλύτεροι από 0.5 το αντίστοιχο bit θα είναι ένα. Ο αρχικός µας πληθυσµός είναι λοιπόν:
# Χρωµόσωµα Όγκος Αξία χωρίς τιµωρία Αξία µε τιµωρία 0000 6 27 27 2 000 24 39 27 3 0000 2 36 33 4 000000 2 7 7 Στη συνέχεια πρέπει να σχηµατίσουµε 2 ζευγάρια χρωµοσωµάτων. Το άθροισµα των αξιών (µε τιµωρία) είναι 04. Επιλέγουµε λοιπόν 4 τυχαίους αριθµούς από το 0 ως το 04 (πολλαπλασιάζοντας τους τέσσερις επόµενους αριθµούς του πίνακα µε το 04) και εάν κάποιος από αυτούς είναι στο διάστηµα [0,27) επιλέγουµε το # χρωµόσωµα, εάν είναι στο [27,54) επιλέγουµε το #2 χρωµόσωµα, εάν είναι στο [54,87) επιλέγουµε το #3 χρωµόσωµα και εάν είναι στο [87,4) επιλέγουµε το #4 χρωµόσωµα. Σε περίπτωση που για κάποιο ζευγάρι επιλεγεί δύο φορές το ίδιο χρωµόσωµα, χρησιµοποιούµε επόµενο τυχαίο αριθµό, µέχρι να επιλεγεί διαφορετικό χρωµόσωµα. Οι επόµενοι 4 τυχαίοι αριθµοί λοιπόν (πολλαπλασιασµένοι µε 04) είναι οι: 0,5992 64,6652 37,3622 86,79424 και τα ζευγάρια χρωµοσωµάτων που σχηµατίζονται είναι τα: -3 2-3 Για το πρώτο ζευγάρι επιλέγουµε έναν τυχαίο αριθµό από το 0 έως το 9 (πολλαπλασιάζοντας τον επόµενο τυχαίο αριθµό επί 9 και παίρνοντας το ακέραιο µέρος του αποτελέσµατος ως θέση διασταύρωσης), που αντιστοιχεί στο σηµείο διασταύρωσης (µπορεί η διασταύρωση να γίνει και στα άκρα των χρωµοσωµάτων, γεγονός που σηµαίνει ότι οι απόγονοι θα είναι ίδιοι µε τους γονείς). Στην προκειµένη περίπτωση ο αριθµός που προκύπτει είναι ο 3,999834, που σηµαίνει ότι η διασταύρωση θα γίνει µετά το 3 ο bit. Έτσι οι δύο απόγονοι είναι οι: 000000 00 Για κάθε έναν από τους απογόνους εξετάζουµε το ενδεχόµενο να γίνει µετάλλαξη. Έστω ότι η πιθανότητα µετάλλαξης είναι 0.0. Εξετάζουµε τους επόµενους 6 αριθµούς, εάν κάποιος από αυτούς είναι µικρότερος από 0.0 τότε το αντίστοιχο bit αλλάζει τιµή. Κάτι τέτοιο δεν συµβαίνει, οπότε δεν πραγµατοποιείται καµία µετάλλαξη. Στη συνέχεια επιλέγουµε σηµείο διασταύρωσης για το δεύτερο ζευγάρι, το οποίο είναι και πάλι η θέση 3 (τυχαίος αριθµός: 3,2947). Έτσι οι δύο απόγονοι είναι οι: 0000 000 Και πάλι ελέγχουµε την πιθανότητα µετάλλαξης, αλλά στους 6 επόµενους αριθµούς δεν υπάρχει κάποιος µικρότερος από 0.0, οπότε δεν πραγµατοποιείται καµία µετάλλαξη. Το νέο σύνολο χρωµοσωµάτων µε τα χαρακτηριστικά τους είναι λοιπόν το: # Χρωµόσωµα Όγκος Αξία χωρίς τιµωρία Αξία µε τιµωρία 000000 8 5 5 2 00 29 48 2 3 0000 2 36 33 4 000 24 39 3 Η διαδικασία που περιγράφηκε παραπάνω πρέπει να συνεχισθεί µέχρις ότου είτε να συγκλίνει ο πληθυσµός είτε να συµπληρωθεί κάποιος προκαθορισµένος αριθµός επαναλήψεων. Σε κάθε περίπτωση ως «λύση» θα επιστραφεί το καλύτερο έγκυρο χρωµόσωµα που συναντήθηκε σε όλες τις γενιές πληθυσµών κατά το τρέξιµο του αλγορίθµου. Θέµα 5 ο (2.5 µονάδες) ίνεται το παρακάτω σύνολο παραδειγµάτων που αφορά συνδυασµούς προϊόντων που αγόρασαν διάφοροι πελάτες ενός σουπερµάρκετ. # Α Β Γ Ε
2 3 4 5 6 7 8 9 0 2 3 4 Βρείτε όλους τους κανόνες συσχέτισης που έχουν ελάχιστη υποστήριξη 6 και ελάχιστη εµπιστοσύνη 80%. Το πρόβληµα µας έχει 5 χαρακτηριστικά, τα Α, Β, Γ, και Ε, και τα οποία έχουν δύο τιµές, True και False. Βρίσκουµε καταρχήν όλα τα σύνολα ενός στοιχείου µε υποστήριξη τουλάχιστον 6. Αυτά είναι τα εξής: {A=True}=9 {B=True}=0 {Γ=True}=7, {Γ=False}=7 { =True}=0 {E=True}=8, {E=False}=6 Στη συνέχεια βρίσκουµε όλα τα σύνολα δύο στοιχείων, που έχουν υποστήριξη τουλάχιστον 6. Για το σκοπό αυτό συνδυάζουµε ζεύγη από τα παραπάνω σύνολα ενός στοιχείου. {A=True, =True}=7 {Β=True, Γ=False}=7 {B=True, =True}=7 {Γ=False, =True}=6 Στη συνέχεια προσπαθούµε να βρούµε σύνολα τριών στοιχείων που να έχουν υποστήριξη τουλάχιστον 6, συνδυάζοντας σύνολα 2 στοιχείων µε σύνολα ενός στοιχείου. Όµως δεν υπάρχει κανένα τέτοιο. Παραµένοντας λοιπόν στα σύνολα 2 στοιχείων, ελέγχουµε ποιοι κανόνες µπορούν να κατασκευαστούν και τι εµπιστοσύνη έχουν. Αυτά φαίνονται στον παρακάτω πίνακα:. if Α then (7/9=0.77) 2. if then Α (7/0=0.7) 3. if B then NOT Γ (7/0=0.7) 4. if ΝΟΤ Γ then Β (7/7=) 5. if B then (7/0=0.7) 6. if then Β (7/0=0.7) 7. if NOT Γ then (6/7=0.86) 8. if then NOT Γ (6/0=0.6) Από τους παραπάνω κανόνες µόνο οι κανόνες 4 και 7 πληρούν το κριτήριο της εµπιστοσύνης και άρα αυτοί είναι οι κανόνες που επιστρέφει ο αλγόριθµος. ΑΠΑΝΤΗΣΤΕ 4 ΑΠΟ ΤΑ ΠΑΡΑΠΑΝΩ 5 ΘΕΜΑΤΑ Ενδεικτικές λύσεις θα αναρτηθούν µετά την εξέταση στην ιστοσελίδα του µαθήµατος