Το δίκτυο SOM Οι νευρώνες του εγκεφάλου έχουν μια αυστηρή τοπολογική οργάνωση, όπου -ανάλογα με την περιοχή που βρίσκονται- παίζουν έναν ιδιαίτερο ρόλο στις διάφορες λειτουργίες του (π.χ. για την ακοή, την αφή, την όραση, κ.λ.π). Οι τοπολογικές αυτές δομές των νευρώνων λέγονται χάρτες και -ανάλογα με την αίσθηση που υπηρετούν- ονομάζονται: Ακουοτοπικοί χάρτες (ακοή) Σωματοτοπικοί χάρτες (αφή) Ρετινοτοπικοί χάρτες (όραση) Κ.λ.π.
Το δίκτυο SOM H τοπολογική οργάνωση του εγκεφάλου, προφανώς παίζει έναν σημαντικό ρόλο στην ικανότητά του. Ο Teuvo Kohonen ορμώμενος από αυτήν την οργάνωση του εγκεφάλου, πρότεινε ένα νευρωνικό δίκτυο που να αυτοοργανώνεται -όπως ο εγκέφαλος. Το δίκτυο αυτό ονομάστηκε Αυτοοργανούμενος Τοπογραφικός Χάρτης (Self Organizing topographic Map SOM). Η εκπαίδευση του SOM γίνεται χωρίς επίβλεψη (unsupervised learning): δηλαδή χωρίς τιμές στόχους.
Το δίκτυο SOM Σημεία x από τον χώρο εισόδου αντιστοιχούνται στα σημεία I(x) από τον χώρου εξόδου (self-organizing map). Κάθε σημείο Ι στον χώρο εξόδου θα αντιστοιχείται με το σημείο w(i) στον χώρο εισόδου.
Το δίκτυο SOM Τοπογραφική ταξινόμηση Η διάταξη του δικτύου μπορεί να είναι μονοδιάστατη, δισδιάστατη ή τρισδιάστατη συστοιχία ανταγωνιστικών νευρώνων (συνήθως δισδιάστατη).
Το δίκτυο SOM Γραμμή 1D
Το δίκτυο SOM Τετραγωνικό πλέγμα 4x5 2D
Το δίκτυο SOM Τετραγωνικό πλέγμα 4x5x2 3D
Το δίκτυο SOM Εξαγωνικό πλέγμα 5x6
Το δίκτυο SOM Εξαγωνικό πλέγμα 4x4x3
Το δίκτυο SOM Τυχαίο πλέγμα 18x12
Competitive learning Ανταγωνιστική μάθηση x w 1 w 2... w N w i Εκπαίδευση w i ' Είσοδος Νευρώνες που ανταγωνίζονται Νικητής
Το δίκτυο SOM Ανταγωνισμός μεταξύ των νευρώνων: Οι νευρώνες ανταγωνίζονται μεταξύ τους για το ποιός ταιριάζει καλύτερα στο διάνυσμα εισόδου, οπότε και αναγορεύεται «νικητής» για το πρότυπο αυτό.
Το δίκτυο SOM Νικητές για τις αντίστοιχες εισόδους
Το δίκτυο SOM: Παράδειγμα (1x1)+(-1x2)+(1x0,5)=-0,5 0 d = w x (1x-1)+(-1x1)+(1x-0,5)=-2,5 0 (1x0,5)+(-1x-1)+(1x1)=2,5 1 Στο συγκεκριμένο πρότυπο στην είσοδο, ενεργοποιείται η συγκεκριμένη έξοδος, ενώ όλες οι άλλες παραμένουν ανενεργές.
Το δίκτυο SOM Σκοπός του δικτύου είναι να ομαδοποιήσει παρόμοια πρότυπα εισόδου («γειτονιές» νευρώνων) που να αντιστοιχούν σε διαφορετικές κλάσεις η κάθε μία. Δηλαδή π.χ. τα πορτοκάλια θα αναδεικνύουν νικητή έναν νευρώνα σε μια γειτονιά Α, ενώ τα μήλα σε μια άλλη (την Β). Για κάθε πρότυπο εισόδου x, εκπαιδεύεται ο νικητής νευρώνας (και η γειτονιά του) ώστε να ταιριάζουν ακόμα περισσότερο με το x, έτσι ώστε εάν στο μέλλον ξαναπαρουσιαστεί το πρότυπο (ή ένα παρόμοιό του) να έχουμε αυξημένες πιθανότητες να ξανανικήσει ο ίδιος νευρώνας ή κάποιος από την γειτονιά του.
Το δίκτυο SOM Όσο πιο πολύ κερδίζει ένας νευρώνας, τα πρότυπα μιας κλάσης, τόσο πιο πολύ εδραιώνει την θέση του ως ο πιο αντιπροσωπευτικός νευρώνας της εν λόγω κλάσης. Η γειτονιά του νευρώνα εκπαιδεύεται κι αυτή, έτσι ώστε να διασφαλιστεί πως καμιά άλλη κλάση δεν θα βρίσκει νικητές στην γειτονιά αυτού του νευρώνα. Η διαδικασία αυτή προχωράει σιγά-σιγά και το δίκτυο αυτοοργανώνεται στις διάφορες γειτονιές του, έτσι ώστε: όταν εμφανιστεί πρότυπο από κάποια κλάση στην είσοδο να κερδίζει η αντίστοιχη αντιπροσωπευτική γειτονιά των νευρώνων.
Το δίκτυο SOM Έννοια της γειτνίασης: Ορίζουμε ως γειτονιά N i d του νευρώνα i όλους τους νευρώνες που βρίσκονται εντός μιας ορισμένης απόστασης ακτίνας d απ αυτόν. 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 6 7 8 9 10 11 12 13 14 15 11 12 13 14 15 16 17 18 19 20 16 17 18 19 20 21 22 23 24 25 21 22 23 24 25 N 13 1 = 8, 12, 13, 14, 18 N 13 2 = 3, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 23
Ευκλείδεια απόσταση Οι αποστάσεις των νευρώνων πάνω στο πλέγμα, έχουν να κάνουν με τις συντεταγμένες τους. Επιστρέφει την ευκλείδεια απόσταση μεταξύ 2 νευρώνων
Απόσταση κουτιού Επιστρέφει την μέγιστη απόσταση (σε αριθμό νευρώνων) μεταξύ 2 νευρώνων
Απόσταση Manhattan Επιστρέφει το άθροισμα των απολύτων τιμών των αποστάσεων, μεταξύ 2 νευρώνων, όπως διανύονται πάνω στις μπλε γραμμές
Απόσταση Manhattan Κόκκινη: απόσταση Manhattan Πράσινη: διαγώνια ευθεία απόσταση (Ευκλείδεια) Μπλε, κίτρινη: ισοδύναμες αποστάσεις Manhattan
Απόσταση Δεσμών Επιστρέφει το πλήθος των δεσμών που πρέπει να ακολουθήσουμε για να φθάσουμε από τον ένα νευρώνα στον άλλο. Σε ορθογώνια πλέγματα ταυτίζεται με την απόσταση Manhattan.
Το δίκτυο SOM Για να πραγματοποιηθεί η αντιστοίχιση του προτύπου εισόδου με τον νευρώνα-νικητή θα πρέπει να χρησιμοποιηθεί ένα κριτήριο απόστασης. Το πιο συνηθισμένο είναι το κριτήριο της Ευκλείδειας απόστασης (προφανώς υπάρχουν και οι άλλες) του διανύσματος του x = x 1, x 2,. x n T από το διάνυσμα βαρών w = w 1, w 2,. w n T του νευρώνα: d = w x Οι νευρώνες ανταγωνίζονται και νικά αυτός που έχει την μικρότερη ευκλείδεια απόσταση από το πρότυπο εισόδου x: d i = min d i i
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Τα πρότυπα x 1, x 2, x 3,., x P, εφαρμόζονται στην είσοδο όλα με την σειρά (μια πλήρης εποχή) και επαναλαμβάνεται η διαδικασία ξανά και ξανά, ανάλογα με τον αριθμό των εποχών. Για κάθε πρότυπο x k, μόνον ο νευρώνας-νικητής i και η γειτονιά του Γ i (και κανένας άλλος με την γειτονιά του) έχουν δικαίωμα εκπαίδευσης, έτσι ώστε να μοιάσουν περισσότερο με το πρότυπο x k. Η εκπαίδευση γίνεται ως εξής: Για το πρότυπο x k και για όλους τους νευρώνες της γειτονιάς του νικητή (και του ίδιου του νικητή), τα βάρη γίνονται: w i k + 1 = w i k + a k x k w i k
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Για το πρότυπο x k + 1, θα είναι κάποιος άλλος νευρώνας νικητής και θα εκπαιδευτεί αυτός κι η γειτονιά του, για το x k + 2 κάποιος άλλος, και ούτω καθ εξής.. Η εκπαίδευση του δικτύου SOM ξεκινάει από μια τυχαία αρχική κατάσταση και τα αρχικά βάρη του έχουν τυχαίες τιμές. Η εκπαίδευση γίνεται σε δύο φάσεις: Στην 1 η αποφασίζεται η ταξινόμηση των νευρώνων σε γειτονιές χωροταξικά. Στην 2 η γίνεται η σύγκλιση των νευρώνων (δηλαδή των βαρών τους) μέσα στις γειτονιές τους.
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Το βήμα εκπαίδευσης a k είναι γενικά αυθαίρετο και μπορεί να μεταβάλλεται στον χρόνο k. Στην αρχή είναι σταθερό (σχεδόν στο 1) και μετά πέφτει σιγά-σιγά κοντά στο 0,1 (αλλά μεγαλύτερο). Στην 1 η φάση (με a k κοντά στο 1) γίνεται η τοπολογική ταξινόμηση των νευρώνων και στην 2 η φάση (με a k σταδιακά μειούμενο) γίνονται μικροδιορθώσεις που ρυθμίζουν τα όρια των κλάσεων.
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Η γειτονιά του Γ i είναι μια συμμετρική περιοχή γύρω από τον νευρώνα-νικητή i και μπορεί να έχει σχήμα τετραγωνικό, εξαγωνικό, κυκλικό, κλπ. Η έκταση της γειτονιάς συρρικνούται με τον χρόνο (δηλαδή όσο προχωράει η εκπαίδευση). Αρχίζει εμπεριέχοντας όλους τους νευρώνες και μειώνεται σταδιακά (π.χ. στους 8 νευρώνες). Στην 2 η φάση μπορεί να καταλήξει ακόμα και στον 1 νευρώνα.
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Η αρχική αντιστοίχιση του x γίνεται πλέον με τον νευρώνα I(x) και την γειτονιά του.
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Τετραγωνικές γειτονιές σε τετραγωνικό πλέγμα
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Εξαγωνικές γειτονιές σε εξαγωνικό πλέγμα
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Εκπαιδεύεται ο νικητής και η γειτονιά του σε κάθε βήμα k i. Ν(k 1 ) Ν(k 2 ) Ν(k 3 ) Ν(k 4 )
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Κανόνας εκπαίδευσης Kohonen w i k + 1 = w i k, αν i N (δεν εκπαιδεύεται) w i k + 1 = w i k + a k x k w i k, αν i N Αποτέλεσμα: Την επόμενη φορά που είσοδος θα είναι το x, τα διανύσματα w i k της γειτονιάς N θα είναι ακόμη πιο όμοια με το x και άρα ακόμη πιο πιθανά να νικήσουν στον ανταγωνισμό. w i k + 1 x k < w i k x k
O Αλγόριθμος εκπαίδευσης Kohonen του SOM Είσοδοι: Οι διαστάσεις του πλέγματος Ν 1 x Ν 2 Τα P πρότυπα εισόδου x 1, x 2,.., x P Μέθοδος: Δώσε τυχαίες αρχικές τιμές στα διανύσματα βαρών w ij, (i = 1,, Ν 1, j = 1,, Ν 2 ). Δώσε αρχικές τιμές στο βήμα εκπαίδευσης a και στο εύρος της γειτονιάς Γ i.
O Αλγόριθμος εκπαίδευσης Kohonen του SOM Για κάθε εποχή = 1,, Maxepochs Για κάθε πρότυπο εισόδου k=1, P Για κάθε νευρώνα ij υπολόγισε το κριτήριο ταιριάσματος d = w x μεταξύ w ij, x k } Βρες τον νευρώνα-νικητή i winner, j winner σύμφωνα με την d i = min Για κάθε νευρώνα στην γειτονιά του i winner, j winner, εκπαίδευσε το διάνυσμα βαρών w ij σύμφωνα με την w i k + 1 = w i k + a k x k w i k } } Τροποποίησε (ενδεχομένως) το βήμα εκπαίδευσης a και το εύρος της γειτονιάς Γ i. } i d i
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i a k : βήμα εκπαίδευσης, μειώνεται με το χρόνο σταδιακά στο μηδέν 0 < a k < 1 Για τα πρώτα 1000 βήματα πρέπει να είναι κοντά στο 1. Κατόπιν να μειώνεται σταδιακά. Πχ. a k = 0,9 1 k 1000 Για να έχουμε καλή στατιστική σύγκλιση, απαιτούνται αρκετά βήματα. Καλός κανόνας: Πλήθος βημάτων > [500 x Πλήθος νευρώνων]
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Η γειτονιά συρρικνώνεται με το χρόνο. Στο τέλος εκπαιδεύεται μόνο ο νικητής, ή μόνο ο νικητής και οι άμεσοι γείτονές του. Φιλοσοφία: Όμοιες είσοδοι αντιστοιχούν σε γειτονικούς νευρώνες ομαδοποίηση προτύπων (clustering). Στα δίκτυα ανταγωνιστικής μάθησης ενδέχεται μερικοί νευρώνες να μην κερδίσουν ποτέ. Αυτοί λέγονται νεκροί νευρώνες και θα κρατήσουν τα αρχικά τους βάρη μέχρι το τέλος της εκπαίδευσης.
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Βήμα 1: Έστω 4 σημεία δεδομένων (x) στον χώρο εισόδου 2D. Θέλουμε να τα αντιστοιχίσουμε σε 4 σημεία του 1D χώρου εισόδου (o). Τυχαία αρχικά βάρη τοποθετούν τα (o) σε τυχαίες αρχικές θέσεις στην μέση του χώρου εισόδου. Βήμα 2: Παίρνουμε ένα τυχαίο σημείο των δεδομένων εισόδου ( ) για την εκπαίδευση. Το πλησιέστερο σημείο του χώρου εξόδου είναι ο νευρώνας νικητής ( ). Ο νευρώνας αυτός μετακινείται, ελαφρώς και κατά συγκεκριμένη απόσταση, προς το σημείο ( ), καθώς και οι δύο γειτονικοί του νευρώνες, κατά μικρότερη απόσταση ( ).
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i Βήμα 3 Κατόπιν παίρνουμε τυχαία ένα άλλο σημείο ( ). Το πλησιέστερο σημείο του χώρου εξόδου θα είναι τώρα ο νέος νευρώνας νικητής ( ). Ο νευρώνας αυτός μετακινείται, ελαφρώς και κατά συγκεκριμένη απόσταση, προς το σημείο ( ), καθώς και ο γειτονικός του νευρώνας, κατά μικρότερη απόσταση ( ). Βήμα 4 Παίρνουμε τυχαία σημεία δεδομένων για εκπαίδευση ( ). Κάθε νευρώνας νικητής μετακινείται προς το σημείο δεδομένων κατά συγκεκριμένη απόσταση και οι γειτονικοί του, μετακινούνται κι αυτοί κατά μικρότερες αποστάσεις. ( ). Τελικά το πλέγμα εξόδου ξεδιπλώνεται για να αντιπροσωπεύσει τον χώρο εισόδου.
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i
Εκπαίδευση του νευρώνα i και της γειτονιάς του Γ i
Το ανταγωνιστικό δίκτυο στο Matlab Αρχιτεκτονική ανταγωνιστικού δικτύου
Το ανταγωνιστικό δίκτυο στο Matlab Η διαδικασία ndist δέχεται το άνυσμα εισόδου p και την μήτρα βαρών IW 1,1 και δίνει ένα άνυσμα με S 1 στοιχεία, τα οποία είναι οι αρνητικές τιμές των αποστάσεων μεταξύ του ανύσματος εισόδου p και των ανυσμάτων iiw 1,1 που δημιουργούνται από τις γραμμές της μήτρας βαρών εισόδου. Η είσοδος n 1 του ανταγωνιστικού στρώματος προκύπτει από την αρνητική απόσταση αυτή και το bias b. Εάν το b είναι μηδέν, η μέγιστη δυνατή τιμή εισόδου του ανταγωνιστικού στρώματος είναι μηδέν (η λιγότερο αρνητική δηλαδή), πράγμα που συμβαίνει όταν το άνυσμα εισόδου p ισούται με το άνυσμα βαρών των νευρώνων.
Το ανταγωνιστικό δίκτυο στο Matlab Η ανταγωνιστική συνάρτηση δέχεται το άνυσμα εισόδου του στρώματος και δίνει 0 για όλους τους νευρώνες, εκτός του νευρώνα νικητή που δίνει 1, δηλαδή εκείνου που αντιστοιχεί στο πιο θετικό στοιχείο της εισόδου n 1. Εάν όλα τα bias είναι 0, τότε ο νευρώνας του οποίου το άνυσμα βαρών είναι κοντύτερα στο άνυσμα εισόδου, έχει την λιγότερο αρνητική είσοδο δικτύου και έτσι «νικά» τον ανταγωνισμό και δίνει 1.
Το δίκτυο SOM στο Matlab Αρχιτεκτονική δικτύου SOM
Το δίκτυο SOM στο Matlab Το δίκτυο SOM μαθαίνει να ταξινομεί τα ανύσματα εισόδου ανάλογα με το πώς αυτά είναι ομαδοποιημένα στα δεδομένα εισόδου, πράγμα που αποτελεί και την διαφορά του με το ανταγωνιστικό δίκτυο, που δεν ομαδοποιεί εισόδους. Δηλαδή το SOM μαθαίνει και την κατανομή (όπως το ανταγωνιστικό στρώμα) και την τοπολογία των ανυσμάτων εισόδου στα οποία εκπαιδεύτηκε. Η αρχιτεκτονική του μοιάζει με αυτή του ανταγωνιστικού δικτύου, μόνο που εδώ δεν υπάρχει bias. Η ανταγωνιστική συνάρτηση δίνει έξοδο 1 για το στοιχείο a 1 i (που αντιστοιχεί στο i ), στον νευρώνα νικητή, ενώ όλα τα άλλα στοιχεία του a 1 είναι 0. Στην συνέχεια όμως οι νευρώνες της γειτονιάς του νικητή ενημερώνονται, σύμφωνα με τον νικητή.
Παράδειγμα 1D SOM 4 κλάσεις 200 πρότυπα/κλάση 800 πρότυπα
Παράδειγμα 1D SOM 4 winners Στο 1D δεν κλείνει ο κύκλος από τον 1 ο νευρώνα στον τελευταίο
Παράδειγμα 1D SOM 10 winners
Παράδειγμα 1D SOM 100 winners
Παράδειγμα 2D SOM 4 winners
Παράδειγμα 2D SOM 16 winners
Παράδειγμα 2D SOM 100 winners
Εφαρμογές των SOM Χρησιμοποιείται για ταξινομήσεις προτύπων σε κλάσεις, που δεν ξέρουμε τον αριθμό τους και με εκπαίδευση χωρίς δάσκαλο (unsupervised learning). Συνήθως δεν αποτελεί αυτοσκοπό, αλλά μπορεί να αποτελεί ενδιάμεσο βήμα μιας ευρύτερης επεξεργασίας (νευρωνικής ή όχι).
Εφαρμογές των SOM Χάρτης φωνημάτων Φωνητική γραφομηχανή Σημασιολογικός χάρτης Ρομποτικός έλεγχος Βιομηχανικός έλεγχος Κατανόηση προτάσεων Βελτιστοποίηση Επεξεργασία ραντάρ Επεξεργασία σημάτων τηλεπικοινωνίας κλπ
Χάρτης φωνημάτων (Kohonen) Μια από τις πρώτες εφαρμογές των SOM αναπτύχθηκε στην αναγνώριση ομιλίας (speech recognition). Σημαντικό ρόλο παίζει η αναγνώριση των φωνημάτων (των ήχων που παράγουν τις λέξεις). Για την αναγνώριση των φωνημάτων μπορεί να χρησιμοποιηθεί ένας φωνητικός χάρτης (phoneme map), σαν αυτόν που ανέπτυξε ο Kohonen για το Φινλανδικό φωνητικό σύστημα, με 21 φωνήματα. Για την αναπαράστασή τους χρησιμοποιήθηκαν φάσματα συχνοτήτων με FFT 256 σημείων, από όπου δημιουργήθηκαν -εν συνεχεία- τα διανύσματα εισόδου x t, 15 διαστάσεων.
Χάρτης φωνημάτων a a a ah h œ œ ø ø e e e o a a h r œ l ø y y j i o o a h r r r η η y j i o o m a r m n m n j i i l o u h υ υm n n h hj j j l u υ υ p d d t r h hi j.. u υ tk k p p p r k s.. υ k pt t p t p h s s Χάρτης μετά την εκπαίδευση
Χάρτης φωνημάτων Φωνητική γραφομηχανή Δημιουργία κλάσεων με φωνήματα. Αναγνώριση έως 80%-90% ανάλογα με τον ομιλητή. Με διόρθωση στην συνεκφορά των φθόγγων και την ορθογραφία, έχουμε αναγνώριση μέχρι 92%-97%.
Σημασιολογικός Χάρτης (Ritter - Kohonen) Bob/Jim/Mary 1 ΠΡΟΤΑΣΕΙΣ Horse/dog/cat 2 1-9-4 Mary likes meat Beer/water 3 1-6-15 Jim speaks well Meat/bread 4 1-9-1 Mary likes Jim Runs/walks 5 1-11-14 Jim eats often Works/speaks 6 1-8-4 Mary buys meat Visits/phones 7 2-10-13 Dog drinks fast Buys/sells 8 2-9-4 Horse hates meat Likes/hates 9 1-11-14 Jim eats seldom Drinks/eats 10/11 1-8-4 Bob buys meat Much/little 12 2-5-13 Cat walks slowly Fast/slowly 13 1-11-4 Jim eats bread Often/seldom 14 2-9-1 Cat hates Jim Well/poorly 15 1-8-3 Bob sells beer, κλπ SOM για σημασιολογική αναγνώριση προτάσεων που αποτελούνται από 3 απλές ομαδοποιημένες λέξεις (ουσιαστικό, ρήμα, επίρρημα):
Σημασιολογικός Χάρτης Δημιουργήθηκαν 10.000 τυχαίες προτάσεις με 3 λέξεις, του τύπου (ουσιαστικό ρήμα - ουσιαστικό) ή (ουσιαστικό ρήμα - επίρρημα) και τοποθετήθηκαν η μία μετά την άλλη χωρίς να διαχωρίζονται μεταξύ τους. Κάθε λέξη κωδικοποιήθηκε και αντικαταστάθηκε από ένα τυχαίο αλλά συγκεκριμένο 7-διάστατο διάνυσμα και έτσι δημιουργήθηκε μια πολύ μεγάλη ακολουθία S = c 1, c 2, c 3, c N με N=3x10.000=30.000 κωδικούς. Εκπαιδεύτηκε ένα SOM με 10x15=150 νευρώνες και 3x7=21 εισόδους.
Σημασιολογικός Χάρτης beer fast slowly well water meat dog horse bread cat little seldom Bob much Jim often eats Mary works poorly speaks phones buys visits sells runs drinks walks hates likes 10x15=150 νευρώνες
Σημασιολογικός Χάρτης Ο χάρτης SOM προέκυψε μετά από 2000 επαναλήψεις του αλγορίθμου εκπαίδευσης. Οι τρεις κλάσεις (ουσιαστικά, ρήματα, επιρρήματα) ξεχωρίζουν σαφώς μεταξύ τους και καταλαμβάνουν διαφορετικές γειτονιές (μπλε, πορτοκαλί, πράσινο). Επί πλέον, εντός των κλάσεων, δημιουργούνται και επί μέρους ομαδοποιήσεις με βάση σημασιολογικά χαρακτηριστικά των λέξεων. Αυτό δικαιολογεί και το όνομα του χάρτη: Σημασιολογικός χάρτης (semantic map).
Παράδειγμα SOM-1D στο Matlab Έστω τα δεδομένα εισόδου με 4 κλάσεις: close all, clear all, clc, format compact % number of samples of each cluster K = 200; % offset of classes q = 1.1; % define 4 clusters of input data P = [rand(1,k)-q rand(1,k)+q rand(1,k)+q rand(1,k)-q; rand(1,k)+q rand(1,k)+q rand(1,k)-q rand(1,k)-q]; % plot clusters plot(p(1,:),p(2,:),'g.') hold on grid on
Παράδειγμα SOM-1D στο Matlab
Δημιουργούμε το SOM 1D και κάνουμε εκμάθηση: % SOM parameters dimensions = [100]; coversteps = 100; initneighbor = 10; topologyfcn = 'gridtop'; distancefcn = 'linkdist'; % define net net1 = selforgmap(dimensions,coversteps,initneighbor, topologyfcn,distancefcn); % train [net1,y] = train(net1,p); % plot input data and SOM weight positions plotsompos(net1,p); grid on Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab Δημιουργία SOM με την εντολή nntool του Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-1D στο Matlab
Παράδειγμα SOM-2D στο Matlab Δημιουργούμε το SOM 2D και κάνουμε εκμάθηση: % SOM parameters dimensions = [10 10]; coversteps = 100; initneighbor = 4; topologyfcn = 'hextop'; distancefcn = 'linkdist'; % define net net2 = selforgmap(dimensions,coversteps,initneighbor, topologyfcn,distancefcn); % train [net2,y] = train(net2,p);
Παράδειγμα SOM-2D στο Matlab % plot input data and SOM weight positions plotsompos(net2,p); grid on % plot SOM neighbor distances plotsomnd(net2) % plot for each SOM neuron the number of input vectors that it classifies figure plotsomhits(net2,p)
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα SOM-2D στο Matlab Όταν τα δεδομένα εισόδου είναι με πολλές διαστάσεις, δεν μπορούμε να δούμε όλα τα βάρη συγχρόνως. Με την SOM Neighbor Distances έχουμε εικόνα για τις αποστάσεις μεταξύ γειτονικών νευρώνων: Τα μπλε εξάγωνα απεικονίζουν τους νευρώνες. Οι κόκκινες γραμμές τις συνδέσεις μεταξύ γειτονικών νευρώνων. Τα χρώματα των περιοχών που εμπεριέχουν τις κόκκινες γραμμές απεικονίζουν τις αποστάσεις μεταξύ των νευρώνων. Τα σκούρα χρώματα απεικονίζουν μεγαλύτερες αποστάσεις. Τα ανοιχτά χρώματα μικρότερες αποστάσεις.
Παράδειγμα SOM-2D στο Matlab Από την SOM Sample Hits βλέπουμε πόσα δεδομένα εισόδου αντιστοιχούν σε κάθε νευρώνα. Είναι καλό τα δεδομένα να είναι ομοιόμορφα κατανεμημένα στους νευρώνες.
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα SOM-2D στο Matlab Το SOM Weight Planes μας δίνει ένα πίνακα βαρών για κάθε στοιχείο του ανύσματος εισόδου (εδώ έχουμε 2), ο οποίος απεικονίζει τα βάρη των συνδέσεων από κάθε είσοδο σε κάθε νευρώνα (ανοιχτά και σκούρα χρώματα απεικονίζουν μεγαλύτερα και μικρότερα βάρη αντίστοιχα). Εάν τα πρότυπα σύνδεσης δύο εισόδων είναι αρκετά παρόμοια, μπορούμε να θεωρήσουμε πως οι είσοδοι ήταν αρκετά παρόμοιες.
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα SOM-2D στο Matlab Δημιουργία SOM με την εντολή nntool του Matlab
Παράδειγμα SOM-2D στο Matlab
Παράδειγμα στο Matlab Στο Help του Matlab Cluster Data with a Self-Organizing Map: Παράδειγμα SOM
Παράδειγμα SOM-2D στο Matlab στο Matlab Παραδείγματα SOM στο Matlab: nnd14fm1 1D feature map nnd14fm2 2D feature map