ΘΕΜΑ ο (2.5 µονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 2 Ιουνίου 24 ιάρκεια: 2 ώρες Σχεδιάστε έναν αισθητήρα (perceptron) δύο εισόδων (βηµατική συνάρτηση ενεργοποίησης), ο οποίος υλοποιεί τη λογική συνάρτηση A v Β. Υπόδειξη: Μην εκτελέσετε εκπαίδευση µε τον κανόνα δέλτα, αλλά βρείτε µια ευθεία η οποία διαχωρίζει τα παραδείγµατα εκπαίδευσης, υπολογείστε τις παραµέτρους της και από αυτές υπολογείστε τα βάρη του αισθητήρα. Έστω ότι έχουµε τέσσερα παραδείγµατα, για όλους τους συνδυασµούς δυαδικών τιµών για τις µεταβλητές εισόδου Α και Β: # Α Β Έξοδος (A v Β) 2 3 4 Σε διδιάστατο διάγραµµα σχεδιάζουµε µια ευθεία η οποία διαχωρίζει τα τέσσερα παραδείγµατα: Β.5.5 Στο παραπάνω διάγραµµα µε λευκούς κύκλους φαίνονται τα παραδείγµατα που αντιστοιχούν στην έξοδο και µε µαύρο κύκλο το παράδειγµα που αντιστοιχεί στην έξοδο. Τα παραδείγµατα είναι φανερά γραµµικώς διαχωρίσιµα. Η διακεκοµµένη ευθεία κλίσης 45 ο διαχωρίζει σωστά τα παραδείγµατα (και µάλιστα το κάνει µε τον καλύτερο δυνατό τρόπο). Α
Θα προσπαθήσουµε να βρούµε την εξίσωση αυτής της ευθείας. Αυτή θα είναι της µορφής α*α+β*β+γ=, όπου αναζητάµε τους συντελεστές α, β και γ. Η ευθεία αυτή διέρχεται από δύο γνωστά σηµεία, τα (.5, ) και (,.5). Άρα η εξίσωσή της ικανοποιεί τις σχέσεις: α*.5+γ= α*+β*.5+γ=. Θέτοντας αυθαίρετα την τιµή γ= παίρνουµε α=-2 και β=2. Άρα η εξίσωση της ευθείας γίνεται: -2*Α+2*Β+= () Παρακάτω φαίνεται το µοντέλο του αισθητήρα. Θεωρούµε τάση πόλωσης ίση µε -. b=- w b A w A Γ Av Β w B B Ο αισθητήρας παράγει έξοδο όταν ισχύει: w A *A+w B *B-w Γ (2) Συγκρίνοντας την εξίσωση (2) µε την () προκύπτει ότι αυτές ταυτίζονται όταν w A =-2, w B =2 και w Γ =. Στο σηµείο αυτό χρειάζεται προσοχή, γιατί η εξίσωση () θα µπορούσε να γραφεί και ως: 2*Α-2*Β-= (3) όπου η (3) προέκυψε από την () µε πολλαπλασιασµό των δύο µερών της µε -. Οι εξισώσεις () και (3) διαφέρουν κατά το ποιο ηµιεπίπεδο από τα δύο στα οποία χωρίζουν το επίπεδο αντιστοιχεί σε θετικές τιµές της παράστασης στο αριστερό σκέλος τους. Αντικαθιστώντας στο αριστερό σκέλος της () τις συντεταγµένες (Α=, Β=) παίρνουµε: -2*+2*+=> Άρα πράγµατι η () είναι αυτή που πρέπει να λάβουµε υπόψη για τον υπολογισµό των βαρών του αισθητήρα, όπως και κάναµε παραπάνω. ΘΕΜΑ 2 ο (2.5 µονάδες) Περιγράψτε την αρχιτεκτονική και τον τρόπο εκπαίδευσης των ανταγωνιστικών νευρωνικών δικτύων επιβλεπόµενης κατηγοριοποίησης. Τα ανταγωνιστικά δίκτυα µπορούν να χρησιµοποιηθούν και για επιβλεπόµενη κατηγοριοποίηση. Τα αντίστοιχα δίκτυα ονοµάζονται Learning Vector Quantization (LVQ) ή Counter-propagation networks (CPN). Αποτελούνται από ένα (κρυφό) επίπεδο ανταγωνιστικών νευρώνων (χωρίς πλέγµα) και ένα δεύτερο επίπεδο µε γραµµικούς νευρώνες (επίπεδο εξόδου). Οι νευρώνες του γραµµικού επιπέδου είναι σηµαντικά λιγότεροι αυτών του ανταγωνιστικού επιπέδου και ίσοι µε τον αριθµό των προκαθορισµένων κατηγοριών. Τα διανύσµατα εισόδου κατηγοριοποιούνται δύο φορές. Το ανταγωνιστικό επίπεδο τα κατανέµει σε υπο-κατηγορίες. Οι υπο-κατηγορίες του ανταγωνιστικού επιπέδου αντιστοιχίζονται στις κατηγορίες του γραµµικού επιπέδου. Κάθε νευρώνας του κρυφού επιπέδου ενεργοποιεί έναν και µόνο έναν νευρώνα του επιπέδου εξόδου (βάρος σύνδεσης προς αυτόν τον νευρώνα=, προς τους υπόλοιπους νευρώνες=). Η αντιστοίχιση των νευρώνων του κρυφού επιπέδου στους νευρώνες του επιπέδου
εξόδου είναι σταθερή, καθορίζεται από την κατασκευή του δικτύου LVQ και δεν αλλάζει κατά τη διάρκεια της εκπαίδευσης. Γραµµικό επίπεδο Ανταγωνιστικό επίπεδο Αρχικά καθορίζεται µια αντιστοίχιση των νευρώνων του κρυφού επιπέδου στους νευρώνες εξόδου, βάσει ποσοστών που δίνονται από τον χρήστη (π.χ., 5% των νευρώνων του κρυφού επιπέδου θα ενεργοποιούν τον πρώτο νευρώνα εξόδου και 5% θα ενεργοποιούν τον δεύτερο νευρώνα εξόδου). Τα ποσοστά πρέπει να ανταποκρίνονται στην κατανοµή των παραδειγµάτων στις προκαθορισµένες κατηγορίες. Στη συνέχεια ξεκινά η εκπαίδευση, η οποία σκοπό έχει να αντιστοιχίσει τα παραδείγµατα εκπαίδευσης στους "σωστούς" νευρώνες του κρυφού επιπέδου. Για κάθε παράδειγµα εκπαίδευσης υπάρχουν πολλοί νευρώνες του κρυφού επιπέδου στους οποίους µπορεί να αντιστοιχηθεί. Οι νευρώνες αυτοί ανταγωνίζονται µεταξύ τους. Για κάθε παράδειγµα εκπαίδευσης βρίσκεται ο νευρώνας-νικητής µεταξύ όλων των νευρώνων.! Εάν ο νευρώνας-νικητής αντιστοιχίζει το παράδειγµα στη σωστή κατηγορία εξόδου, τα βάρη εισόδου του νευρώνα αλλάζουν ώστε να πλησιάσουν το παράδειγµα. " Wi'=Wi+a(X-Wi)! Εάν ο νευρώνας-νικητής αντιστοιχίζει το παράδειγµα σε λάθος κατηγορία εξόδου, τα βάρη εισόδου του νευρώνα αλλάζουν ώστε να αποµακρυνθούν από το παράδειγµα. " Wi'=Wi-a(X-Wi) ΘΕΜΑ 3 ο (2.5 µονάδες) Κατασκευάστε ένα ακτινικό δίκτυο µε δύο εισόδους (χωρίς τάση πόλωσης) το οποίο να υλοποιεί τη συνάρτηση XOR. Υπόδειξη : Λάβετε υπόψη σας τέσσερα παραδείγµατα από το γνωστό πίνακα αληθείας της συνάρτησης XOR. ίνονται:
.8326 ( σ Η ακτινική συνάρτηση ενεργοποίησης, Φ ( S i ) = e, S i = w-x, όπου w το διάνυσµα βαρών και x το διάνυσµα εισόδου του ακτινικού νευρώνα i. Θεωρείστε ότι σ=.8326. Οι τιµές 2 =. 44, e - =.368 και e -2 =.35. S i ) 2 Κάθε παράδειγµα θα έχει 2 εισόδους (x και y) και µια έξοδο (z). Τα τέσσερα παραδείγµατα είναι προφανώς τα εξής: # x y z 2 3 4 Το ακτινικό δίκτυο θα έχει τέσσερις ακτινικούς νευρώνες στο πρώτο επίπεδο και έναν γραµµικό νευρώνα στην έξοδο. Όπως γνωρίζουµε, τα ακτινικά δίκτυα δεν χρειάζονται εκπαίδευση: τα βάρη των ακτινικών νευρώνων αντιστοιχούν, ένα-προς-ένα, στις εισόδους των αντίστοιχων παραδειγµάτων, ενώ τα βάρη του νευρώνα στην έξοδο υπολογίζονται επιλύοντας ένα γραµµικό σύστηµα εξισώσεων, έτσι ώστε το δίκτυο να βγάζει σωστές τιµές για τα παραδείγµατα εκπαίδευσης. Η αρχιτεκτονική του δικτύου είναι λοιπόν η εξής: Α x Β Ε z y Γ Θα συµβολίζουµε µε w ij το βάρος από τον νευρώνα i (συµπεριλαµβανοµένων των εισόδων) στον νευρώνα j. Για τα βάρη των εισόδων έχουµε λοιπόν: w xa = w ya = w xb = w yb = w xγ = w yγ = w x = w y = Αποµένει να βρούµε τα βάρη w ΑΕ, w BE, w ΓΕ και w Ε. Φ ( S i ) = e.8326 ( σ Έστω ότι η ακτινική συνάρτηση ενεργοποίησης είναι η όπου w το διάνυσµα βαρών και x το διάνυσµα εισόδου του ακτινικού νευρώνα i. S i ) 2, όπου S i = w-x,
Συµβολίζουµε µε a i την έξοδο του νευρώνα i. Για το πρώτο παράδειγµα έχουµε: S A = a A = S B = a B =.368 S Γ = a Γ =.368 S =.44 a =.35 Προκύπτει λοιπόν η εξίσωση: *w ΑΕ +.368*w ΒΕ +.368*w ΓΕ +.35*w Ε = () Παρόµοια, για το δεύτερο παράδειγµα έχουµε: S A = a A =.368 S B = a B = S Γ =.44 a Γ =.35 S = a =.368 Προκύπτει λοιπόν η εξίσωση:.368*w ΑΕ +*w ΒΕ +.35*w ΓΕ +.368*w Ε = (2) Από το τρίτο παράδειγµα έχουµε: S A = a A =.368 S B =.44 a B =.35 S Γ = a Γ = S = a =.368 Προκύπτει λοιπόν η εξίσωση:.368*w ΑΕ +.35*w ΒΕ +*w ΓΕ +.368*w Ε = (3) Τέλος, από το τέταρτο παράδειγµα έχουµε: S Α =.44 a Α =.35 S Β = a Β =.368 S Γ = a Γ =.368 S = a = Προκύπτει λοιπόν η εξίσωση:.35*w ΑΕ +.368*w ΒΕ +.368*w ΓΕ +*w Ε = (4) Έχουµε λοιπόν να λύσουµε το παρακάτω γραµµικό σύστηµα τεσσάρων εξισώσεων µε τέσσερις αγνώστους: *w ΑΕ +.368*w ΒΕ +.368*w ΓΕ +.35*w Ε =.368*w ΑΕ +*w ΒΕ +.35*w ΓΕ +.368*w Ε =.368*w ΑΕ +.35*w ΒΕ +*w ΓΕ +.368*w Ε =.35*w ΑΕ +.368*w ΒΕ +.368*w ΓΕ +*w Ε = Αφαιρώντας την (3) από την (2) προκύπτει ότι w BE =w ΓΕ. Παρόµοια, αφαιρώντας την (4) από την () προκύπτει ότι w AE =w Ε. Τελικά έχουµε ένα σύστηµα 2 εξισώσεων µε 2 αγνώστους, το:.35*w ΑΕ +.736*w ΒΕ = (5).736*w AΕ +.35*w ΒΕ = (6) από το οποίο προκύπτει τελικά: w ΑΕ =w Ε =-.98 και w BE =w ΓE =.52.
Θέµα 4 ο (2.5 µονάδες) Περιγράψτε τη διαδικασία πρόβλεψης σήµατος µε γραµµικά φίλτρα. Αναφέρετε ένα παράδειγµα πρακτικής χρήσης. Μια από τις κυριώτερες εφαρµογές των AALINES είναι στην πρόβλεψη σήµατος. Έστω για παράδειγµα ένα σήµα θορύβου (π.χ. ηχητικό, ηλεκτρικό κλπ). Γνωρίζοντας τις προηγούµενες τιµές του σήµατος, χρησιµοποιούµε ένα δίκτυο για να προβλέψουµε τη νέα τιµή του σήµατος, πριν αυτή εµφανιστεί. Αυτό µας δίνει τη δυνατότητα, εφαρµόζοντας ένα αντίθετο από το προβλεπόµενο σήµα, να ακυρώνουµε το ίδιο το σήµα, δηλαδή να αφαιρούµε το θόρυβο (γραµµικά φίλτρα). Το σηµαντικότερο είναι ότι το δίκτυο που εκτελεί αυτή τη λειτουργία αυτο-εκπαιδεύεται την ώρα της λειτουργίας του, έχοντας τη δυνατότητα να προσαρµόζεται σε κάθε νέο σήµα. x(t) x(t-) x(t-2) w w 2 Γραµµικός νευρώνας (AALINE) y(t) - Σήµα χωρίς θόρυβο x(t-n) w n Αλλαγή των βαρών Βλέπουµε στο διάγραµµα της προηγούµενης διαφάνειας ότι στην είσοδο του νευρωνικού δεν εφαρµόζεται το σήµα x(t), παρά µόνο τα σήµατα x(t-), x(t-2) κλπ. Το σήµα x(t) συγκρίνεται µε την έξοδο y(t). Η διαφορά y(t)-x(t) αποτελεί το σφάλµα του δικτύου και βάσει αυτής αλλάζουν τα βάρη στις εισόδους x(t-), x(t-2) κλπ, βάσει της σχέσης: w i =w i -w i-old =-d(y-o)x i Άρα το δίκτυο µαθαίνει να προβλέπει την τιµή του σήµατος x(t) από τις προηγούµενές τιµές του. Με µικρές τροποποιήσεις το δίκτυο θα ήταν σε θέση να προβλέψει την τιµή x(t) από τη χρονική στιγµή t-. Έστω ο πιλότος στο πιλοτήριο του αεροπλάνου. Όταν µιλάει στους επιβάτες µέσα από το µικρόφωνο, ο θόρυβος του αεροπλάνου θα έπρεπε να διέρχεται µέσα από το µικρόφωνο και να ακούγεται µαζί µε τη φωνή του από τα µεγάφωνα, δηµιουργώντας πολύ άσχηµο ηχητικό αποτέλεσµα. Ωστόσο, κάτι τέτοιο δεν συµβαίνει. Στο σήµα που ξεκινά από το µικρόφωνο, το οποίο περιέχει τόσο τη φωνή όσο και το θόρυβο, παρεµβάλλεται ένα φίλτρο αφαίρεσης του θορύβου.
Φωνή πιλότου και θόρυβος κινητήρων Θόρυβος κινητήρων πρόβλεψη θόρύβου Φωνή πιλότου χωρίς θόρυβο κινητήρων ΘΕΜΑ 5 ο (2.5 µονάδες) Έστω το πρόβληµα του καιρού (ata Mining, Witten & Frank, 999). Συγκεκριµένα, έχουµε ένα σύνολο από δεδοµένα καιρού, βάσει των οποίων αποφασίζεται εάν θα διεξαχθεί ένας αγώνας ποδοσφαίρου ή όχι. Οι µεταβλητές εισόδου του προβλήµατος, µαζί µε τις τιµές τους, είναι οι εξής: outlook (Τιµές: sunny, overcast, rainy) humidity (Τιµές: high, normal) ενώ η µεταβλητή εξόδου είναι η play (Τιµές: yes, no) Μας δίνεται ο παρακάτω πίνακας δεδοµένων εκπαίδευσης: outlook humidity play sunny high no sunny high no overcast high yes rainy high yes rainy normal yes rainy normal no overcast normal yes sunny high no sunny normal yes rainy normal yes sunny normal yes overcast high yes overcast normal yes rainy high no Με βάση τα παραπάνω δεδοµένα, θέλουµε να κατασκευάσουµε ένα δένδρο αποφάσεων µε το οποίο θα προβλέπουµε την τιµή play µε βάση τις τιµές των µεταβλητών εισόδου. α) Για ένα νέο παράδειγµα, πόση πληροφορία µας λείπει αρχικά, πριν πραγµατοποιήσουµε οποιαδήποτε ερώτηση; (.5 µονάδα) β) Κατασκευάστε ολόκληρο το δένδρο αποφάσεων, τεκµηριώνοντας τις επιλογές σας. (2 µονάδες) ίνονται: log 2.36=-.47, log 2.64=-.64, log 2.6=-.74, log 2.4=-.32, log 2.57=-.8, log 2.43=-.22, log 2.86=-.22, log 2.4=-2.84.
I( P( v N, v2,..., vn )) = P( vi )log 2 P( vi ) i= Η µεταβλητή στόχος (play) έχει δύο τιµές, οι οποίες όµως δεν είναι ισοπίθανες. Έχουµε 4 παραδείγµατα εκπαίδευσης, από τα οποία τα 9 αντιστοιχούν στην τιµή play=yes και τα 5 στην τιµή play=no. Άρα η εκ των προτέρων πιθανότητα για την τιµή play=yes είναι P(yes)=.64, ενώ η πιθανότητα play=no είναι P(no)=.36. Η πληροφορία που µας λείπει αρχικά για ένα νέο παράδειγµα είναι: Ι=-P(no)*log 2 P(no)-P(yes)*log 2 P(yes)= -.64*log 2.64-.36*log 2.36=.64*.64+.36*.47=.94 bits Για να αποφασίσουµε ποια θα είναι η µεταβλητή στη ρίζα του δένδρου, πρέπει να δούµε πόση είναι η αναµενόµενη πληροφορία που θα µας λείπει ύστερα από κάθε πιθανή πρώτη ερώτηση. Εάν η πρώτη ερώτησή µας αφορά το πεδίο outlook, τότε υπάρχουν τρεις πιθανές απαντήσεις, οι sunny µε πιθανότητα P(sunny)=5/4=.36, overcast µε πιθανότητα P(overcast)=4/4=.28 και rainy µε πιθανότητα P(rainy)=5/4=.36. Στην περίπτωση που η απάντηση στην ερώτηση outlook είναι sunny έχουµε 3/5=.6 πιθανότητα η τελική απάντηση να είναι no και 2/5=.4 πιθανότητα η τελική απάντηση να είναι yes. Η πληροφορία που µας λείπει σε αυτή την περίπτωση είναι: I outlook=sunny =-.6*log 2.6-.4*log 2.4=.6*.74+.4*.32=.97 bits. Στην περίπτωση που η απάντηση στην ερώτηση outlook είναι overcast έχουµε 4/4= πιθανότητα η τελική απάντηση να είναι yes και /4= πιθανότητα η τελική απάντηση να είναι no. Η πληροφορία που µας λείπει σε αυτή την περίπτωση είναι προφανές ότι είναι I outlook=overcast = bits. Στην περίπτωση που η απάντηση στην ερώτηση outlook είναι rainy έχουµε 3/5=.6 πιθανότητα η τελική απάντηση να είναι yes και 2/5=.4 πιθανότητα η τελική απάντηση να είναι no. Η πληροφορία που µας λείπει σε αυτή την περίπτωση είναι (όπως ακριβώς και στην περίπτωση της sunny) I outlook=rainy =.97 bits. Άρα η πληροφορία που αναµένεται να µας λείπει µετά την πρώτη ερώτηση, εφόσον αυτή αφορά το πεδίο outlook, είναι I outlook =P(sunny)* I outlook=sunny +P(overcast)* I outlook=overcast +P(rainy)* I outlook=rainy =.36*.97+.28*+.36*.97=.7 bits Το κέρδος από την ερώτηση outlook είναι Gain outlook =Ι-Ι outlook =.94-.7=.24 bits. Εάν η πρώτη ερώτηση αφορά το πεδίο humidity, υπάρχουν δύο δυνατές απαντήσεις, οι high µε πιθανότητα P(high)=7/4=.5 και η normal µε πιθανότητα P(normal)=7/4=.5. Στην περίπτωση που η απάντηση στην ερώτηση humidity είναι high έχουµε 4/7=.57 πιθανότητα η τελική απάντηση να είναι no και 3/7=.43 πιθανότητα η τελική απάντηση να είναι yes. Η πληροφορία που µας λείπει σε αυτή την περίπτωση είναι: I humidity=high =-.57*log 2.57-.43*log 2.43=.57*.8+.43*.22=.99. Στην περίπτωση που η απάντηση στην ερώτηση humidity είναι normal έχουµε 6/7=.86 πιθανότητα η τελική απάντηση να είναι yes και /7=.4 πιθανότητα η τελική απάντηση να είναι no. Η πληροφορία που µας λείπει σε αυτή την περίπτωση είναι: I humidity=normal =-.86*log 2.86-.4*log 2.4=.86*.22+.4*2.84=.59. Άρα η πληροφορία που αναµένεται να µας λείπει µετά την πρώτη ερώτηση, εφόσον αυτή αφορά το πεδίο humidity, είναι I humidity =P(high)* I humidity=high +P(normal)* I humidity=normal =.5*.99+.5*.59=.79 bits Το κέρδος από την ερώτηση humidity είναι Gain humidity =Ι-Ι humidity =.94-.79=.5 bits.
Από τα παραπάνω φαίνεται ότι η ερώτηση που θα πραγµατοποιηθεί στη ρίζα του δένδρου αφορά τή µεταβλητή outlook. Το δένδρο λοιπόν αποφάσεων θα έχει την παρακάτω µορφή: outlook yes=.64, no=.36 sunny overcast rainy humidity yes=.4, no=.6 yes=, no= humidity yes=.6, no=.4 high normal high normal yes=/3=, no=3/3= yes=2/2= no=/2= yes=/2=.5 no=/2=.5 yes=2/3=.66 no=/3=.33 ΑΠΑΝΤΗΣΤΕ 4 ΑΠΟ ΤΑ ΠΑΡΑΠΑΝΩ 5 ΘΕΜΑΤΑ