29
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ
ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ
ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ
ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ –
ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
Δρ. Χαράλαμπος Π. Στρουθόπουλος Καθηγητής
ΣΕΡΡΕΣ, ΜΑΡΤΙΟΣ 2014
Δρ.Χ. Στρουθόπουλος, e-mail: [email protected]
1
ΠΕΡΙΕΧΟΜΕΝΑ
ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ
ΚΕΦΑΛΑΙΟ 2 - ΠΕΡΙΓΡΑΦΗ ΠΡΟΤΥΠΩΝ ΚΑΙ ΟΡΙΣΜΟΙ
2.1 Διανυσματική περιγραφή
2.2 Εσωτερικό γινόμενο
2.3 Αποστάσεις.
2.4 Ευθεία, επίπεδο, υπερεπίπεδο
2.4.1 Επαυξημένα διανύσματα
ΚΕΦΑΛΑΙΟ 3 - ΜΕΘΟΔΟΙ ΑΝΑΓΝΩΡΙΣΗΣ – ΕΚΠΑΙΔΕΥΣΗ ΜΕ ΕΠΟΠΤΗ
3.1 Αναγνώριση με βάση τα κέντρα των κλάσεων.
3.2 Αναγνώριση με γραμμικές διακριτικές συναρτήσεις
3.3 Γραμμικοί ταξινομητές
3.4 Εκπαίδευση γραμμικών ταξινομητών δυο κλάσεων
3.4.1 Η περίπτωση πολλών κλάσεων
3.4.2 Tαξινομητές πολλών επιπέδων
3.5 Μη γραμμικοί ταξινομητές – ΝΔ Back propagation
3.6 Δένδρα απόφασης
3.7 Ταξινομητές με βάση τον κανόνα πιθανοτήτων του Bayes
ΚΕΦΑΛΑΙΟ 4 - ΕΚΠΑΙΔΕΥΣΗ ΧΩΡΙΣ ΕΠΟΠΤΗ
4.1 Προσδιορισμός των συγκεντρώσεων με την μέθοδο MAXIMIN.
4.2 Απεικόνιση αλυσίδας.
4.3 Ο Αλγόριθμος ISODATA ή Κ-Μέσων (k-means ή c-means)
4.4 Νευρωνικό δίκτυο αυτο-οργανούμενου πίνακα απεικόνισης χαρακτηριστικών.
ΑΝΑΛΥΣΗ ΧΑΡΑΚΤΗΡΙΣΤΙΚΩΝ
5.1 Ανάλυση χαρακτηριστικών στην εκπαίδευση με επόπτη
5.2 Ανάλυση χαρακτηριστικών στην εκπαίδευση χωρίς επόπτη
ΠΑΡΑΡΤΗΜΑ Α: ΣΤΟΙΧΕΩΔΕΙΣ ΠΡΑΞΕΙΣ ΓΡΑΜΚΗΣ ΑΛΓΕΒΡΑΣ ΠΑΡΑΡΤΗΜΑ Β : ΠΑΡΑΡΤΗΜΑ Γ : ΤΑ ΙΔΙΟΔΙΑΝΥΣΜΑΤΑ ΤΟΥ ΠΙΝΑΚΑ ΣΥΝΔΙΑΣΠΟΡΑΣ ΠΑΡΑΡΤΗΜΑ Δ: ΕΝΤΟΛΕΣ MATLAB & TOOLBOX
29
ΚΕΦΑΛΑΙΟ 1
ΕΙΣΑΓΩΓΗ.
Η λέξη αναγνώριση στην καθομιλουμένη σημαίνει την εύρεση της ταυτότητας ενός
όντος (π.χ. ανθρώπου, ζώου, αντικειμένου, εικόνας ήχου, ιδέας, πρότασης κ.λ.π.) και
χρησιμοποιείται συνήθως όταν η ταυτότητα αυτή δεν είναι άμεσα γνωστή. Σε τέτοιες
περιπτώσεις μάλιστα η αναγνώριση βασίζεται σε ειδικά χαρακτηριστικά του όντος
(π.χ. ο διαρρήκτης ήταν αριστερόχειρας). Με την λέξη ταυτότητα εννοούμε ένα
σημαντικό, μοναδικό ίσως χαρακτηριστικό του όντος που το ξεχωρίζει από τα
υπόλοιπα ή το εντάσσει σε μια κατηγορία ομοειδών του (π.χ. οι πεζοί αναγνώρισαν
πως το αυτοκίνητο που παραβίασε τον κόκκινο φωτεινό σηματοδότη ήταν σπορ, ένας
από αυτούς κατέγραψε τον αριθμό κυκλοφορίας του (ταυτότητα) και η τροχαία
εντόπισε, δηλαδή αναγνώρισε, τον παραβάτη). Η αναγνώριση είναι μια ικανότητα
που έχουν κυρίως τα έμβια όντα και αποτελεί βασική λειτουργία της νοημοσύνης. Οι
«νοήμονες» μηχανές που θα διαδεχθούν τις «έξυπνες» θα πρέπει να διαθέτουν την
ικανότητα της αναγνώρισης. Ένα ον θα το αποκαλούμε στο εξής και ως πρότυπο.
Αναγνώριση Προτύπων (Pattern Recognition) είναι ο επιστημονικός κλάδος που
ασχολείται με την εύρεση μεθόδων για την ταξινόμηση (classification) των όντων
(προτύπων) σε κατηγορίες. Τις κατηγορίες αυτές θα τις ονομάζουμε κλάσεις ή τάξεις
(classes).
Ένα σύνολο ομοίων προτύπων, όχι αναγκαστικά πανομοιότυπων, ορίζει μία σύλληψη
(concept). Τα νοήμονα έμβια παρατηρούν και μαθαίνουν τα όντα (πρότυπα) του
περιβάλλοντος κόσμου και δημιουργούν γι αυτά συλλήψεις. Για παράδειγμα το
σύνολο των αλόγων που γνωρίσατε σας έμαθε την γενική σύλληψη (ιδέα) άλογο
(κάντε συσχετισμούς με τον κόσμο των ιδεών του Πλάτωνα). Στον χώρο των
γραμμάτων της Ελληνικής γλώσσας υπάρχουν 24 συλλήψεις που είναι τα 24
γράμματα της Ελληνικής αλφαβήτου. Κάθε γράμμα της Ελληνικής γλώσσας που
30
γράφτηκε αποτελεί μία πραγματοποίηση ή συμβάν (event) μιας από τις 24
συλλήψεις. Για παράδειγμα οι μορφές
β β β β Β β β β Β
δ Δ δ Δ δ δ δ δ αποτελούν συμβάντα (πρότυπα) των συλλήψεων των γραμμάτων ΒΗΤΑ και ΔΕΛΤΑ.
Τα πρότυπα αυτά μπορεί να διαφέρουν στο μέγεθος, την γραμματοσειρά, να είναι
κεφαλαία ή μικρά, ή να έχουν μικροδιαφορές που δημιουργήθηκαν κατά τη στιγμή
της εκτύπωσης (θόρυβος). Είναι προφανές πως οι συλλήψεις και τα οικεία πρότυπά
τους πρέπει να διαθέτουν χαρακτηριστικά που να τις διακρίνουν από άλλες
συλλήψεις και πρότυπα. Η εύρεση και μέτρηση τέτοιων χαρακτηριστικών (features)
των προτύπων είναι πρωταρχικής σημασίας για την περιγραφή και την αναγνώρισή
τους.
Η αναγνώριση προτύπων από μηχανές μπορεί να αντικαταστήσει πληθώρα επίπονων
ανθρώπινων εργασιών, να βελτιώσει το εργασιακό περιβάλλον και να αυξήσει την
παραγωγικότητα. Για παράδειγμα η μετατροπή τυπωμένων εγγράφων σε ηλεκτρονική
μορφή με κωδικοποίηση κατά ASCII, μπορεί να γίνει από τον άνθρωπο
δακτυλογράφο που διαβάζει το κείμενο, αναγνωρίζει τους χαρακτήρες και τους
πληκτρολογεί, μπορεί όμως ακόμη να γίνει με την σάρωση και ψηφιοποίηση
(scanning) του εγγράφου από κατάλληλο πρόγραμμα οπτικής αναγνώρισης
χαρακτήρων (OCR: Optical Character Recofgnition) που θα αναγνωρίζει την
ψηφιακή μορφή κάθε χαρακτήρα και θα τον κωδικοποιεί με το αντίστοιχο κώδικα
ASCII.
Ένα σύστημα (αλγόριθμος) που αναγνωρίζει πρότυπα λέγεται ταξινομητής
(classifier). Σε ένα ταξινομητή επιτελούνται δύο κύριες εργασίες που είναι η
εκπαίδευση (training) και η ταξινόμηση. Κατά την εκπαίδευση προσδιορίζονται οι
κλάσεις ή οι συγκεντρώσεις των προτύπων και ρυθμίζονται κατάλληλα οι παράμετροι
του συστήματος ταξινόμησης με βάση τις οποίες θα είναι αυτό ικανό να ταξινομήσει
τα πρότυπα σε σωστές κλάσεις. Με την ταξινόμηση αποδίδεται ένα πρότυπο σε μία
κλάση ή σε μία συγκέντρωση.
31
Τα πρότυπα που χρησιμοποιούνται για την εκπαίδευση του ταξινομητή αποτελούν το
σύνολο εκπαίδευσης (training set). Οι μέθοδοι εκπαίδευσης χωρίζονται σε δύο
βασικές κατηγορίες:
Α) Εκπαίδευση με επόπτη (supervised learning) κατά την οποία είναι γνωστή η
κλάση στην οποία ανήκει κάθε πρότυπο του συνόλου εκπαίδευσης και επιδιώκεται η
ορθή απόδοση των προτύπων που δεν ανήκουν στο σύνολο εκπαίδευσης, σε μία από
τις προκαθορισμένες κλάσεις.
Β) Εκπαίδευση χωρίς επόπτη (unsupervised learning) κατά την οποία δεν είναι
γνωστή η κλάση στην οποία ανήκει κάθε πρότυπο του συνόλου εκπαίδευσης και
αναζητούνται βασικά οι συγκεντρώσεις των προτύπων (clustering).
Προτιμότερο είναι η εκπαίδευση ενός ταξινομητή να μην εκτελείται μόνο μία αρχική
φορά, αλλά να επαναλαμβάνεται ώστε η μηχανή να προσαρμόζεται στις αλλαγές των
προτύπων που ταξινομεί. Οι ταξινομητές είναι ουσιαστικά το αντικείμενο με το οποίο
θα ασχοληθούμε περαιτέρω και θα αναλυθούν διεξοδικά στα επόμενα κεφάλαια.
32
ΚΕΦΑΛΑΙΟ 2
ΠΕΡΙΓΡΑΦΗ ΠΡΟΤΥΠΩΝ ΚΑΙ ΟΡΙΣΜΟΙ
Θα αναφέρουμε παρακάτω δύο κυρίαρχες μεθόδους περιγραφής των προτύπων που
είναι η διανυσματική περιγραφή και η συντακτική περιγραφή.
Διανυσματική περιγραφή.
Για κάθε πρότυπο μετρούμε ένα πεπερασμένο πλήθος χαρακτηριστικών του (π.χ.
βάρος, χρώμα, ύψος, πλάτος, μήκος). Για ένα ποιοτικό χαρακτηριστικό που δεν
μετριέται άμεσα με αριθμητικές τιμές όπως για παράδειγμα το χρώμα,
χρησιμοποιούμε κάποια κωδικοποίηση που αντιστοιχεί αριθμούς στις διάφορες
μορφές του (π.χ. 0 για το μαύρο, 1 για το μπλε, 2 για το κόκκινο κ.λ.π.) Αν Ω είναι
ένα σύνολο που αποτελείται από Κ το πλήθος πρότυπα Πκ, κ=1,2,3,...,Κ, δηλαδή
Ω={Π1, Π2, Π3 .... Πκ,.. ΠΚ} και μετρούμε Ν το πλήθος κοινά χαρακτηριστικά για κάθε
πρότυπο, τότε το Πκ πρότυπο μπορεί να περιγραφεί από ένα διάνυσμα - πίνακα
στήλης xκ σε ένα χώρο Ν διαστάσεων σύμφωνα με την σχέση
Νκνκ2κ1κ
Νκ
νκ
2κ
1κ
κ xxxx
x
x
xx
x (2.1.1)
Κάθε πρότυπο θεωρείται ξεχωριστό από κάθε άλλο ακόμη και όταν όλες οι τιμές των
αντίστοιχων χαρακτηριστικών τους είναι ίσες. Δηλαδή το πρότυπο Πμ είναι άλλο
στοιχείο του συνόλου Ω, από το πρότυπο Πλ αν και xμ=xλ (μ, λ {1,2,...,Κ}, και Πμ,
33
Πλ Ω ). Ως εκ τούτου το Ω είναι σύνολο με την μαθηματική έννοια. Όλους τους
πίνακες θα τους συμβολίζουμε με παχιά γράμματα ή με υπογράμμιση.
Αν Κ το πλήθος των προτύπων , Ν το πλήθος των χαρακτηριστικών που μετράμε σε
κάθε πρότυπο και Τ το πλήθος των τάξεων, μπορούμε να χρησιμοποιήσουμε ένα
δείκτη κ=1,2,...,Κ για κάθε πρότυπο, ένα δείκτη ν=1,2,...,Ν για κάθε χαρακτηριστικό
και ένα δείκτη τ=1,2,...,Τ για κάθε κλάση. Ο διανυσματικός χώρος των προτύπων έχει
διάσταση Ν (π.χ. ΕΝ). Για την τιμή του ν χαρακτηριστικού του κ προτύπου που
ανήκει στην κλάση τ γράφουμε
x .
Συχνά κάποιοι δείκτες δεν χρησιμοποιούνται όταν έχουν προφανή τιμή ή όταν η
αναφορά τους δεν είναι απαραίτητη.
Η μαθηματική περιγραφή των πραγμάτων στην αναγνώριση προτύπων γίνεται με την
χρήση όρων της γραμμικής άλγεβρας. Το διάνυσμα x
που περιέχει Ν
χαρακτηριστικά ενός προτύπου θα θεωρείται πίνακας με Ν γραμμές και μία στήλη
και θα συμβολίζεται xNx1 ή χάριν συντομίας x ή x. Συχνά θα χρησιμοποιούμε τον
ανάστροφο πίνακα ΑΤ ενός πίνακα Α (Παράρτημα Α). Όπου ενδείκνυται για
εξοικονόμηση χώρου τον πίνακα στήλης x ενός προτύπου θα τον γράφουμε ως
πίνακα γραμμής xT=[ x1, x2, ..., xν, ...,xN]. Με βάση τον ορισμό του πολλαπλασιασμού
δύο πινάκων (Παράρτημα Α) η Ευκλέιδια απόσταση dE(x,y) των πινάκων στήλης x, y
δύο προτύπων Πx, Πυ δίνεται από την σχέση
dE(x,y) = [(x-y)T(x-y)]1/2 (2.1.2)
Αν Ν3 τότε μπορούμε να παραστήσουμε τα διανύσματα των προτύπων στον φυσικό
χώρο. Ακολούθως θα δούμε ένα παράδειγμα προτύπων που είναι άτομα για τα οποία
μετράμε δύο χαρακτηριστικά που είναι το βάρος και το ύψος. Οι τιμές των
χαρακτηριστικών για όλα τα πρότυπα που μετρήθηκαν δείχνονται στο ακόλουθο
πίνακα 2.1.
34
Π (πρότυπο) Υ (ύψος σε εκ.) Β (βάρος σε κιλά)Π1 185 85 Π2 185 82 Π3 182 115 Π4 180 80 Π5 178 78 Π6 175 112 Π7 171 114 Π8 160 58 Π9 160 55 Π10 155 62 Π11 150 85 Π12 150 82 Π13 145 84 Π14 143 80
Πίνακας 2.1
Τα αντίστοιχα διανύσματα των προτύπων ως πίνακες στήλης όπως παρακάτω:
85185
1x ,
82185
2x ,
115182
3x ,
80180
4x ,
78178
5x ,
112175
6x ,
114171
7x ,
58160
8x , (2.1.3)
55160
9x ,...,
80143
14x
Στο Σχ.2.1 που ακολουθεί φαίνονται τα σημεία τέλους των διανυσμάτων που
αντιστοιχούν σε κάθε πρότυπο.
35
Σχήμα 2.1.
Έστω ότι επιθυμούμε να κατατάξουμε τα πρότυπα μας σε τάξεις ως εξής: Βαρείς αν
Β>80, ελαφρούς αν Β80, ψηλούς αν Υ>170 και κοντούς αν Υ170. Παρατηρούμε
ότι τα άκρα των διανυσμάτων των προτύπων συγκεντρώνονται σε ομάδες. Το γεγονός
αυτό οφείλεται στο ότι τα όμοια πρότυπα γειτνιάζουν επειδή τα αντίστοιχα
χαρακτηριστικά τους έχουν κοντινότερες τιμές (ομόλογες συντεταγμένες των
ανυσμάτων τους) σε σχέση με τις τιμές των χαρακτηριστικών των άλλων προτύπων.
Για παράδειγμα η ευκλείδεια απόσταση D12 των προτύπων Π1, Π2 είναι
3)8285()185185()()( 2222221
2121112 xxxxD (2.1.4)
και η ευκλείδεια απόσταση D15 των προτύπων Π1, Π5 είναι
29)7885()178185()()( 2222521
2151115 xxxxD (2.1.5)
Άρα η απόσταση των ανυσμάτων των προτύπων είναι ένα μαθηματικό κριτήριο της
ισότητας δύο προτύπων. Οι ομάδες που σχηματίζουν τα πρότυπα λέγονται
συγκεντρώσεις (clusters). Οι συγκεντρώσεις δημιουργούνται. από πρότυπα περίπου
ίδια μορφολογικά. Στο παράδειγμα μας οι τέσσερις συγκεντρώσεις δημιουργήθηκαν
από άτομα α) με Β>100 κ. β) με Β<70 κ. γ) με Υ<1.80μ και 70<Β<100 κ. και δ) με
Υ>1.80μ και 70κ<Β<100κ.
0
20
40
60
80
100
120
140
0 50 100 150 200
36
Ο εντοπισμός των συγκεντρώσεων (clusters) προτύπων που δημιουργούνται στον
χώρο των προτύπων είναι σημαντικός για την αναγνώριση προτύπων και αναφέρεται
ως πρόβλημα εύρεσης των συγεντρώσεων (clustering). Η σωστή επιλογή των
χαρακτηριστικών που μετράμε για τα πρότυπα (feature selection) είναι καθοριστικής
σημασίας για την εύρεση των ομάδων των προτύπων. Συχνά ενδιαφερόμαστε για
πρότυπα που έχουν κάποια ιδιότητα και βρίσκονται σε περισσότερες από μία ομάδες.
Για παράδειγμα τα πρότυπα των ατόμων με ύψος μεγαλύτερο από 1,70 μ ανήκουν σε
δύο συγκεντρώσεις. Ανάλογα συμβαίνει και με τα πρότυπα των πεζών και κεφαλαίων
γραμμάτων όπως των ‘Α’, ‘α’ ή ‘Ω’, ‘ω’ κ.α. Η εύρεση της ομάδας ή των ομάδων των
προτύπων που έχουν μία τελική κοινή χαρακτηριστική ιδιότητα (ταυτότητα: label)
αποτελεί την ταξινόμηση των προτύπων και οδηγεί στην αναγνώρισή τους. Στην
γενική περίπτωση το πρόβλημα της ταξινόμησης είναι δύσκολο κυρίως λόγω α)κακής
επιλογής των μετρούμενων χαρακτηριστικών, β) μεγάλης ποικιλομορφίας των
προτύπων, γ)θορύβου, δ)της ασάφειας των ορίων των κλάσεων στον χώρο των
προτύπων.
2.2 Εσωτερικό γινόμενο
Αν δύο πρότυπα Πx και Πy περιγράφονται διανυσματικά από τα διανύσματα x
(x1,
x2,…,xν,…,xΝ) και y
( y1, y2,…,yν,…,yΝ ) ή αντίστοιχα από τους πίνακες x = x1, x2,
…,xν,,…,xΝΤ, και y = y1, y2,…,yν,…,yNT, όπου Ν το πλήθος των χαρακτηριστικών
τους , το εσωτερικό γινόμενό τους ορίζεται από τη σχέση
yx
ν
Ν
1ννNNvv2211 yxyx...yx...yxyxcosyyx x
(2.2.1)
όπου θ είναι η κυρτή γωνία που σχηματίζουν τα δύο διανύσματα.
Αν το διάνυσμα x
έχει μέτρο (μήκος) ίσο με τη μονάδα, το γινόμενο yx είναι η
αλγεβρική τιμή της προβολής 'y
του y
επάνω στην ευθεία που διέρχεται από το
διάνυσμα x
(φορέας του x
). Όταν η γωνία θ των x
και y
μικραίνει το εσωτερικό
τους γινόμενο yx =xΤy αυξάνει και μεγιστοποιείται όταν τα x
και y
βρίσκονται
στην ίδια ευθεία και έχουν την ίδια φορά (Σχ.2.2).
37
Σχήμα 2.2.
Αυτό σημαίνει ότι τότε ισχύει η σχέση
λx
y
x
y
x
y
x
y και R λ όπου λ ,xλy
Ν
Ν
2
2
1
1
vxy (2.2.2)
Η σχέση (2.2.2) είναι σχέση αναλογίας και το εσωτερικό γινόμενο μπορεί να
χρησιμοποιηθεί ως κριτήριο ομοιότητας (όχι υποχρεωτικά ισότητας) δύο προτύπων.
Παροτρύνεται ο αναγνώστης να εφαρμόσει τα παραπάνω στον «κόσμο» των
τριγώνων όπου κάθε τρίγωνο περιγράφεται διανυσματικά στον τρισδιάστατο χώρο με
συντεταγμένες τα μήκη των πλευρών του. Υπενθυμίζεται ότι κριτήριο ισότητας δύο
προτύπων είναι η απόστασή τους 0)y,xd(
.
2.3 Αποστάσεις
Εκτός από την Ευκλείδεια απόσταση υπάρχουν και άλλοι τύποι αποστάσεων σε
διανυσματικούς χώρους. Για να θεωρηθεί απόσταση μια σχέση )y,xd(
θα πρέπει για
οποιοδήποτε διάνυσμα x, y, z να ικανοποιούνται οι σχέσεις:
yx0)y,xd( Αν
0)y,xd(
)y,zd()z,xd()y,xd(
)x,yd()y,xd(
(2.3.4)
Συνήθεις τύποι αποστάσεων είναι οι παρακάτω:
α) Minkowski τάξης s
0θ3
2θ 1θ
2y
1y
33 yy
2y1y
x
38
1/sN
1ν
s
ννμ yx)y,x(d
(2.3.5)
β) City Block
Είναι ειδική περίπτωση της Minkowski με s=1
Ν
1νννc yx)y,x(d
(2.3.6)
γ) Ευκλείδεια
Είναι ειδική περίπτωση της Minkowski για s=2
1/2T
2/12N
1ν
ννε )]-()-[()y(x)y,x(d yxyx
(2.3.7)
δ) Chebychev
ννT yxmax)y,x(d
(2.3.8)
ε) Mahalanobis
)-(Cov)-(),(d)y,x(d -1TRR yxyxyx
(2.3.9)
όπου Cov ο πίνακας συμμεταβλητότητάς των x και y.
στ) Μη γραμμική (Non Linear)
Ty)d(x, ανTy)d(x, αν O
)y,x(d NL
(2.3.10)
χώρου. τουαπόσταση άλλη μια )y,xd( και απόστασης ι της παράμετροR ΤΗ, όπου
2.4 Ευθεία, επίπεδο, υπερεπίπεδο
Η ευθεία του (ε) στο Σχ.2.4.1 χωρίζει το επίπεδο σε δύο ημιεπίπεδα κάθε ένα των
οποίων περιέχει και μια κλάση. Κάθε σημείο της ευθείας είναι το πέρας ενός
διανύσματος x
(x1, x2) που ικανοποιεί την εξίσωση της ευθείας που είναι
0cxwxw 2211 (2.4.1)
ή
T21T
21
T2211
w,w x,x και
c cxwxwd(x)
όπου 0)d(
wx
xw
x
,
(2.4.2)
39
+
Αν xA και xB ανήκουν στην ευθεία θα ισχύουν οι σχέσεις
wT xA +c=0 και (2.4.3)
wT xΒ +c=0 (2.4.4)
από όπου με αφαίρεση κατά μέλη προκύπτει ότι
wT (xA- xΒ)=0 (2.4.5)
Η σχέση αυτή δείχνει ότι το άνυσμα w είναι κάθετο στην ευθεία (ή το επίπεδο αν το
x ανήκει στον τρισδιάστατο χώρο)
Όλα τα σημεία του ενός ημιεπιπέδου καθιστούν την d(x)>0 και του άλλου
ημιεπιπέδου την d(x)<0. Πράγματι, αν x διάνυσμα με πέρας στο ένα ημιεπίπεδο και
x΄ διάνυσμα με πέρας το σημείο τομής του x με την ευθεία ισχύει ότι:
d(x΄)=wTx΄+c=0 (2.4.6)
d(x)=wT(x΄-x΄+x)+c=wTx΄+c+ wT(x- x΄)= |w||x- x΄|cosθ (2.4.7)
Η κυρτή γωνία θ[0, π/2) για τα σημεία του ενός ημιεπιπέδου (αυτού που δείχνει η
φορά του ανύσματος w) και συνεπώς το cosθ έχει θετική τιμή, η γωνία θ(π/2, π] για
το άλλο ημιεπίπεδο και το cosθ έχει αρνητική τιμή. Συνεπώς αν d(x)>0 το πέρας του
x βρίσκεται στο ημιεπίπεδο που δείχνει το άνυσμα w ενώ αν d(x)<0 το πέρας του x
βρίσκεται στο αντίθετο ημιεπίπεδο.
θ
x΄
xB
xA
(ε) x1
x2
Σχ. 2.4.1
x w
w
40
Ο ίδιο ισχύει και για πολυδιάστατους χώρους οποιασδήποτε διάστασης όταν
x=[x1,x2…xN]T και w=[w1,w2…wN]T. Δηλαδή αν d(xΑ)∙d(xΒ)<0 τότε υπάρχει x που
το άκρο του βρίσκεται μεταξύ των σημείων xΑ, xΒ και d(x)=0.
Απόδειξη: Θεωρώ x=xA+λ(xB- xA), (2.4.8)
τότε το άκρο του x βρίσκεται μεταξύ των σημείων xΑ, xΒ αν 0<λ<1.
d(x)=wT(xA+λ∙xB- λ∙xA)+c=d(xΑ)+λ∙d(xΒ)-λ∙d(xΑ) (2.4.9)
άρα λ/(λ-1)= d(xΑ)/d(xΒ)<0 (2.4.10)
επειδή 0<λ<1 (2.4.11)
Είναι επίσης προφανές πως αν |w|=1, τότε η ποσότητα d(x) είναι η προσημασμένη
απόσταση του x από την ευθεία (ε).
Η συνάρτηση d(x) λέγεται γραμμική διακριτή συνάρτηση και η ταξινόμηση ενός
προτύπου που περιγράφεται από τον πίνακα στήλης x εξαρτάται από τις σχέσεις
d(x)<0 ή d(x)>0. Αν d(x)>0 ανήκει στην πρώτη κλάση, αν d(x)<0 στη δεύτερη και αν
d(x)=0 υπάρχει απροσδιοριστία.
Η εξίσωση του μεσοκαθέτου υπερεπιπέδου δυο σημείων μΑ–μΒ μπορεί να βρεθεί
εύκολα ως ακολούθως:
Ως κάθετο διάνυσμα w μπορεί να επιλεγεί το μΑ–μΒ
w =μΑ–μΒ (2.4.12)
Το σημείο (μΑ+μΒ)/2 ανήκει στο μεσοκάθετο υπερεπίπεδο και ισχύει (2.4.13)
0cΤ 2/)( μμw άρα
)BBAABAΤΤ(
2
1 και μμμμμμw c (2.4.14)
ΠΑΡΑΔΕΙΓΜΑ
Έστω xA = [0,1]Τ , xΒ = [2,3]Τ. Η εξίσωση της μεσοκαθέτου στο ευθύγραμμο τμήμα
με άκρα τα άκρα των BA x , x
ανυσμάτων είναι
0w3Τ xw όπου
41
32 [2,3]1
0 0,12
1
2
1w
[-2,-2][2,3][0,1]xw
BTBA
TA3
TTTBA
xxxx
x
6))94(1(2
13322()1100(
2
1-
Άρα η ευθεία δίνεται από τη σχέση
03xxε)
062x2x6x
x2,-2-wxwd(x)ε)
21
212
13
T
(
(
2.4.1 Επαυξημένα διανύσματα
Αν c=w3, τότε,1]x,[xx~και ]w,w,[ww T21
T321 η σχέση (2.4.2) γράφεται
xwx ~)d( T (2.4.1.1)
Ο πίνακας x~ λέγεται επαυξημένος του x και η ευθεία δίνεται από την σχέση
0~ xwT (2.4.1.2)
Η σχέση xwx) Td( =0, με x=[x1, x2, x3]T περιγράφει ένα επίπεδο (Π) στον
τρισδιάστατο χώρο που διέρχεται από το κέντρο των αξόνων και περιέχει την ευθεία.
Όλα τα ανύσματα των προτύπων ανήκουν στο επίπεδο (Π΄) που είναι κάθετο στον
άξονα των x3 και τον τέμνει στην τιμή ένα.
Στο Σχ.2.4.1.1 φαίνεται η ευθεία της σχέσης (2.4.1.1) του προηγούμενου
παραδείγματος σχεδιασμένη στο επίπεδο του Ε2 με άξονες τους x1, x2 και η
τοποθέτηση του Ε2 στον χώρο Ε3 των επαυξημένων ανυσμάτων. Φαίνεται επίσης το
επίπεδο (Π) του επαυξημένου χώρου που δίνεται από την σχέση
0 T xw (3.2.1.3)
Επαυξημένα διανύσματα μπορούμε να θεωρήσουμε σε οποιοδήποτε πλήθος
διαστάσεων και να μεταβούμε από τον χώρο ΕΝ στον χώρο ΕΝ+1.
42
(Π΄)
(3,0,1)
Χ2
(0,0,1)
x2
(0,0,0)
(3.
(0,3,1)
(Π)
x1
Χ3
Χ1
Σχ.2.4.1.1.
43
ΚΕΦΑΛΑΙΟ 3
ΜΕΘΟΔΟΙ ΑΝΑΓΝΩΡΙΣΗΣ – ΕΚΠΑΙΔΕΥΣΗ ΜΕ ΕΠΟΠΤΗ
3.1 Αναγνώριση με βάση τα κέντρα των τάξεων
Είναι μια απλοϊκή μέθοδος αναγνώρισης με επόπτη σύμφωνα με την οποία κατά την
εκμάθηση υπολογίζεται η μέση τιμή της κάθε κλάσης (κέντρο της κλάσης). Κάθε νέο
πρότυπο ταξινομείται στην κλάση που το κέντρο της απέχει λιγότερο από το πρότυπο.
Αν Τ το πλήθος των τάξεων με κέντρα μt, t=1,2,…,Τ το πρότυπο με πίνακα x
αποδίδεται στην κλάση tμx,(d(mint
.
Αν ως μετρική χρησιμοποιηθεί η Ευκλείδεια απόσταση dE η παραπάνω διαδικασία
μπορεί να τροποποιηθεί ως εξής:
Να ελαχιστοποιηθεί η απόσταση του ανύσματος x από το κέντρο μt της t τάξης
σύμφωνα με την ακόλουθη σχέση:
)2(-(-(,(d 2Ε ttttt μxμxxμxμxμx
Προς τούτο αρκεί να μεγιστοποιηθεί η ποσότητα
dt(x) = xTμt-0.5 μtTμt
Άρα το πρότυπο x αποδίδεται στην κλάση x((dmax tt
Αν για δύο κλάσεις Α,Β υπολογίσουμε την διαφορά των dΕ(x,μΑ)2- dΕ(x,μΒ)2
προκύπτει ότι
dΕ(x,μΑ)- dΕ(x,μΒ)= 2xT(μΒ- μΑ)-(μΑ- μj)T(μk- μj)
μμμμμμxμxμx )(2,(d-,(d 2
Ε2
Ε Αν 0)(2
μμμμμμx τότε η σχέση περιγράφει το υπερεπίπεδο που
είναι μεσοκάθετο στο ευθύγραμμο τμήμα με άκρα τα κέντρα των κλάσεων και τα δύο
μέρη .
Η διαδικασία αυτή μπορεί να είναι αποδοτική όταν οι κλάσεις έχουν τη μορφή
υπερσφαιρών με ακτίνες μικρότερες της ημιαπόστασης των κέντρων τους (Σχ.3.1).
44
ΣΧ 3.1
Η διαδικασία αυτή μπορεί να είναι αποδοτική όταν οι κλάσεις έχουν τη μορφή
υπερσφαιρών με ακτίνες μικρότερες της ημιαπόστασης των κέντρων τους.
(Α) (Β)
(Γ)
Σχήμα 3.2 Α) Ορθή ταξινόμηση. Β) Εσφαλμένη ταξινόμηση λόγω διαφορετικής συμμεταβλητότητας των
κλάσεων. Συνιστάται η χρήση απόστασης Mahalanobis. Γ) Εσφαλμένη ταξινόμηση λόγω μορφολογίας των κλάσεων.
45
3.2 ΑΝΑΓΝΩΡΙΣΗ ΜΕ ΓΡΑΜΜΙΚΕΣ ΔΙΑΚΡΙΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ
Ο υπολογισμός των αποστάσεων είναι υπολογιστικά δαπανηρός και όπως είδαμε δεν
εξασφαλίζει πάντα ορθά αποτελέσματα. Μία άλλη προσέγγιση υπολογιστικά
ταχύτερη και περισσότερο αποτελεσματική μπορεί να βασισθεί στον διαχωρισμό των
κλάσεων με ευθείες, επίπεδα και γενικά υπερεπίπεδα του χώρου των προτύπων. Ας
ξεκινήσουμε για λόγους εποπτικούς την παρουσίαση του ζητήματος στο διδιάστατο
χώρο.
3.3 Ταξινομητές –Νευρωνικά δίκτυα
Ο ταξινομητής είναι ένα σύστημα ταξινόμησης που χρησιμοποιεί συχνά γραμμικές
διακριτικές συναρτήσεις. Οι ταξινομητές αυτοί αναπαρίστανται συχνά με ομάδες
κόμβων εντός των οποίων υπολογίζονται οι ποσότητες xw T όπου w ο πίνακας των
συντελεστών των γραμμικών διακριτικών συναρτήσεων και x ο πίνακας προτύπου
που θεωρείται ως είσοδος στον κόμβο (Σχήμα 3.3.1).
Όπως φαίνεται στο σχήμα οι συντελεστές wν σημειώνονται επί των γραμμών που
οδηγούν από τις εισόδους xν στον κόμβο και ονομάζονται συνάψεις. Ένας τέτοιος
κόμβος ονομάζεται νευρώνας λόγω μιας ομοιότητας του με τα ομώνυμα βιολογικά
κύτταρα του ανθρώπινου εγκεφάλου. Συστήματα διασυνδεδεμένων νευρώνων
συνθέτουν τα λεγόμενα τεχνητά νευρωνικά δίκτυα (ΤΝΔ), (Artificial Neural
Networks). Διάφοροι τύποι νευρωνικών δικτύων επιτελούν χρήσιμες εργασίες στην
αναγνώριση προτύπων. Προς το παρόν θα ασχοληθούμε με νευρωνικά δίκτυα που
βασίζονται σε γραμμικές διακριτικές συναρτήσεις. Υπάρχουν διάφορες παραλλαγές
τεχνητού τύπου (μοντέλων) νευρώνων που βασίζονται κυρίως στην διαμόρφωση της
σ f(σ)
w2
wν
wN
w1
.
.
.
.
x2
Σ
x1
xν
xΝ
Σχ.3.3.1.
w0
1
46
τελικής τιμής της εξόδου με την χρήση μίας συνάρτησης επί της τιμής σ=wTx .
Συνήθως, τέτοιες συναρτήσεις είναι οι ακόλουθες:
Βηματική 0/1 (step function 0/1):
01
00)(
f (3.3.1)
47
Βηματική -1/1 (step function -1/1):
01
01)(
f (3.3.2)
Σιγμοειδής-λογιστική (sigmoid - logistic):
ef
1
1)( (3.3.3)
Σιγμοειδής-Υπερβολική εφαπτομένη (hyperbolic tangent):
e
ef
1
1)tan()( (3.3.4)
Συνάρτηση κατωφλίου (threshold function):
11
10
00
)(f (3.3.5)
Συνάρτηση ράμπας (ramp function)
0
00)(
f (3.3.6)
Γραμμική συνάρτηση (linear function
)(f (3.3.7)
Οι συναρτήσεις καθιστούν τους νευρώνες μη γραμμικά συστήματα όπως θα
μελετήσουμε αργότερα. Πρωτοπόροι στην μοντελοποίηση των φυσικών νευρώνων
είναι οι Αμερικανοί επιστήμονες McCulloch και Pitts. Η εξέλιξη των τεχνητών
νευρωνικών δικτύων υπήρξε σημαντική τις τελευταίες μετά από μία περίοδο
αδράνειας από την αρχική παρουσίασή τους στην επιστημονική κοινότητα. Σήμερα
αποτελούν καινοτόμες προσεγγίσεις στην επίλυση προβλημάτων με σημαντικά
πλεονεκτήματα.
48
3.4 Εκπαίδευση γραμμικών ταξινομητών δυο κλάσεων.
Η εκπαίδευση γραμμικών ταξινομητών ή γραμμικών νευρωνικών δικτύων
(Perceptron) είναι μια επαναληπτική διαδικασία διόρθωσης σφάλματος. Για την
απλούστερη μαθηματική διατύπωση του μηχανισμού διόρθωσης θα θεωρήσουμε τους
επαυξημένους πίνακες των προτύπων. Αν δηλαδή ο χώρος των πινάκων των
προτύπων έχει Ν διαστάσεις )E( N οι σχέσεις θα γραφούν στον χώρο 1NE που έχει
Ν+1 διαστάσεις.
Έστω xwx ~)~( T D γραμμική διακριτική συνάρτηση
]1 ,[~ και ]w,w,,w,w[ T0N21 xxw όπου x άνυσμα του συνόλου εκπαίδευσης
και ο επόπτης επιθυμεί 0)~D( Ax και 0)~D( Bx
Αρχικά το w έχει τυχαίες τιμές και πιθανότατα η D δεν διαχωρίζει τις κλάσεις. Η
βασική ιδέα της εκμάθησης είναι η διόρθωση του υπερεπιπέδου 0)~D( x του ΕΝ+1,
κάθε φορά που κάποιο πρότυπο ταξινομείται εσφαλμένα ώστε τελικά να αφήνει το
πρότυπο προς την πλευρά των ορθά ταξινομημένων προτύπων. Η διόρθωση αυτή
γίνεται σύμφωνα με την σχέση
xww ~ρt1t (3.4.2)
Το πρόσημο (+) χρησιμοποιείται όταν ταξινομείται λάθος ένα πρότυπο της κλάσης Α
και (-) της κλάσης Β. Η ποσότητα ρ λέγεται παράμετρος εκμάθησης και παίρνει τιμές
στο διάστημα (0,1). Ο t είναι ένας μετρητής επανάληψης της διαδικασίας εκμάθησης.
Ο μηχανισμός βασίζεται στο γεγονός ότι επειδή η ποσότητα ρxTx είναι πάντα θετική,
η xxxxxwxwx ~~ρ)~(~)~ρ(~)~( t11T
tTT
tt DD μειώνει την εσφαλμένη
απόσταση του προτύπου και οδηγεί επαναληπτικά στο επιθυμητό αποτέλεσμα. Η
παράμετρος ρ ρυθμίζει το βήμα διόρθωσης και την ταχύτητα σύγκλισης.
Τα παραπάνω παρουσιάζονται ακολούθως βηματικά.
Βήμα 1ο : Αρχικοποιήσεις:
Ορίζουμε ένα μετρητή επανάληψης t=0,1,2,3,... και του αποδίδουμε αρχικά την τιμή
μηδέν. Αποδίδουμε τυχαίες (συνήθως μικρές θετικές) τιμές στο άνυσμα
1,210 ,,, NN wwww w , δημιουργούμε τα επαυξημένα διανύσματα του συνόλου
49
εκπαίδευσης ]1 ,[~ xx και θεωρούμε την γραμμική διακριτική συνάρτηση
xwx ~)~( TttD . Ζητούμε 0)~D( Ax και 0)~D( Bx
Βήμα 2ο: Αυξάνουμε τον μετρητή επανάληψης και επιλέγουμε ένα τυχαίο πρότυπο
με πίνακα x~ , από το σύνολο εκπαίδευσης και υπολογίζουμε την ποσότητα Dt( x~ ). Αν
το πρότυπο είναι σωστά ταξινομημένο επαναλαμβάνουμε το Βήμα 2 αλλιώς
διορθώνουμε το w
λάθος ηκε ταξινομήθx~ το~ρ
σωστά ηκε ταξινομήθx~ το
t1t1
xww
ww t
t (3.4.3)
Με (+) αν το πρότυπο ανήκει στην κλάση Α, με (-) στην κλάση Β.
Βήμα 3ο: Αυξάνεται η τιμή του t κατά ένα και η διαδικασία επαναλαμβάνεται από το
Bήμα 2 εωσότου όλα τα πρότυπα να ταξινομηθούν σωστά.
ΠΑΡΑΔΕΙΓΜΑ
Έστω τα πρότυπα με ένα χαρακτηριστικό (x = [x1]) που χωρίζονται σε δύο κλάσεις Α,
Β και με τιμές
1][ [0.8], [1], A3
A2
A1 xxx
[3] [2.8], [2], [2.5], B7
B6
B5
B4 xxxx
Οι πίνακες των προτύπων ανήκουν στο χώρο Ε1 και απεικονίζονται στην ευθεία των
πραγματικών αριθμών όπως φαίνεται στο Σχ. 3.4.1.
Έστω w0=[-3, 1.5]T
Στο Σχ.3.4.2 φαίνονται τα άκρα των επαυξημένων διανυσμάτων των προτύπων και η
ευθεία 0131
5.13~)( 11
0
x
xT xw .
Mx B7x
B6xB
4x B5x A
2x A1x A
3x
-1 0 +1 +2 +3
Σχ.3.4.1.
50
Θεωρούμε την ποσότητα
xwx ~)~( 00 TD
Επιλέγουμε τυχαία ένα πρότυπο έστω το x5 που ανήκει στη κλάση Β, δηλαδή x0 =x5 .
Ισχύει
0 4.5- 12
3 2(-3)
1
2
2
3 , 3- )~(D)~(D B
50B00
xx .
Θα πρέπει ως εκ τούτου οι επαυξημένοι πίνακες των προτύπων της κλάσης Β να
καθιστούν την 0 )~(Dt x και αυτοί της κλάσης Α το 0 )~(Dt x . Εάν αυτό δεν ισχύει
πρέπει το wt να διορθώνεται σύμφωνα με την σχέση (3.4.2). Προς τούτο ελέγχουμε
την ποσότητα )~(Dt x για όλα τα πρότυπα με τυχαία σειρά και την διορθώνουμε
μεταβάλλοντας το wt+1 όταν χρειαστεί. Συγκεκριμένα για ρ = 0.4 έχουμε τα ακόλουθα
βήματα:
x2
x1
(ε3) (ε1)
(3.
+20.8 +10.5 2.5 +3 2.8
+1
0
M~x B
7~x
B6
~xB4
~xB5
~x A2
~x A1
~x A3x~
Σχ.3.4.2.
-1
51
t
1
x ~ 1x
2
1t w
w w xwx ~ )~D( T
Πρόσημο κλάσης του x~
Διόρθωση xxww ~p)~( t1t L
0
1
1 ~ A
1x
1.5
3- 0w -31 + 1.5 =
-1.5 < 0 +
1.9
2.6-
1
1 0.4
1.5
3- 1
w
1
1
2.5 ~ B
4x
1.9
2.6- 1w -2.62.5+1.9 =
-3.5 < 0
-
Καμία διόρθωση
12 ww
2
1
0.8 ~ A
2x
2.3
2.28- 2
w
-2.60.8 +1.9= – 1.7 < 0
+
2.3
2.28-
1
0.8 0.4
1.9
2.6- 3
w
3
1
2 ~ B
5x
2.3
2.28- 3
w
-2.282+2.3< 0 -
Καμία διόρθωση
34 ww
4
1
2.8 ~ B
6x
2.3
2.28- 4
w
-2.282.8+2.3< 0
-
Καμία διόρθωση
45 ww
5
1
1- ~ A
3x
2.3
2.28- 5
w
(-1.28) (-1) +2.3> 0
+
Καμία διόρθωση
56 ww
6
1
3 ~ B
7x
2.3
2.28- 6
w
-2.28 3 + 2.3 < 0
-
Καμία διόρθωση
67 ww
7
1
0.8 ~ A
2x
2.3
2.28- 7
w
(-2.28)0.8 +2.3> 0
+
Καμία διόρθωση
78 ww
8
1
2.5 ~ B
4x
2.3
2.28- 8
w
(-2.28) 2.5 + 2.3 < 0
-
Καμία διόρθωση
89 ww
9
1
1 ~ A
1x
2.3
2.28- 9
w
-2.281+2.3 > 0 +
Καμία διόρθωση
52
Κατά τα βήματα για t = 3, 4, ….,9 έχουν προσπελασθεί όλα τα πρότυπα και έχουν
ταξινομηθεί σωστά. Συνεπώς η εξίσωση
0 x
x
3.2
28.2
2
1
T
δηλαδή 0 x3.2x28.2 21
διαχωρίζει τις δύο κλάσεις. Στο Σχ.8 φαίνονται οι ευθείες (ε1), (ε3) για 1 ww και
3 ww στις αντίστοιχες φάσεις διόρθωσης. Επειδή τα πρότυπά μας περιγράφηκαν με
επαυξημένους πίνακες η x2=1 άρα η σχέση 0 3.2x28.2 1 ορίζει την τελική
γραμμική διακριτική συνάρτηση 3.2x28.2)( 1 xD .
Ακολούθως παρουσιάζεται η υλοποίηση ενός γραμμικού ταξινομητή με την γλώσσα
προγραμματισμού C, για την εκμάθηση των τιμών της λογικής διάζευξης (OR).
#include<stdio.h> #include<conio.h> #define K 4 #define N 2 float x[K][N+1]={ 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0 }; float _class[K] = { 0.0, 1.0, 1.0, 1.0 }; float w[N+1] = { 1.0, 1.0, -1.5}; float Dx, r = 0.2; int k, n; bool error; main() { //---- Training phase ---------- do {error = false; for(k = 0; k < K; k++) { Dx = x[ k][0]*w[ 0] + x[ k][ 1]*w[ 1] + x[ k][ 2]*w[ 2]; //-------------- printf("w=(%+.2f %+.2f %+.2f | ",w[0], w[1], w[2]); printf("x=(%+.2f, %+.2f, %+.f) | ",x[k][0],x[k][1],x[k][2]); printf("D(x)=%+.2f, class:%.2f ",Dx, _class[ k]); //-------------- if( Dx >=0 && _class[ k] == 0.0) { w[0]-=r*x[k][0]; w[1]-=r*x[k][1]; w[2]-=r*x[k][2]; error = true; printf("False\n"); } else if(Dx <= 0 && _class[ k] == 1.0) { w[0]+=r*x[k][0]; w[1]+=r*x[k][1]; w[2]+=r*x[k][2]; error = true; printf("False\n"); } else printf("True\n"); } }while(error); printf("D(x) = %+.2fx1 %+.2fx2 %+.2f\n", w[0], w[1], w[2]); }
53
Από την εκτέλεση του προγράμματος προκύπτουν τα ενδιάμεσα στάδια εκπαίδευσης
και η ευθεία διαχωρισμού των κλάσεων.
w=(+1.00 +1.00 -1.50 | x=(+0.00, +0.00, +1) | D(x)=-1.50, class:0.00 True
w=(+1.00 +1.00 -1.50 | x=(+0.00, +1.00, +1) | D(x)=-0.50, class:1.00 False
w=(+1.00 +1.20 -1.30 | x=(+1.00, +0.00, +1) | D(x)=-0.30, class:1.00 False
w=(+1.20 +1.20 -1.10 | x=(+1.00, +1.00, +1) | D(x)=+1.30, class:1.00 True
w=(+1.20 +1.20 -1.10 | x=(+0.00, +0.00, +1) | D(x)=-1.10, class:0.00 True
w=(+1.20 +1.20 -1.10 | x=(+0.00, +1.00, +1) | D(x)=+0.10, class:1.00 True
w=(+1.20 +1.20 -1.10 | x=(+1.00, +0.00, +1) | D(x)=+0.10, class:1.00 True
w=(+1.20 +1.20 -1.10 | x=(+1.00, +1.00, +1) | D(x)=+1.30, class:1.00 True
D(x) = +1.20x1 +1.20x2 -1.10
Κατόπιν τούτων μπορούμε να παραστήσουμε διαγραμματικά την ταξινόμηση ενός
νέου προτύπου σε μία από τις δύο γραμμικά διαχωρίσιμες κλάσεις Α, Β, όπως
δείχνεται στο Σχ.3.4.3.
Με +1 να κωδικοποιεί (ονομάζει) κατά σύμβαση την κλάση Α κα -1 την Β
Σε παρόμοιο αλγόριθμο οδηγούμαστε εάν θεωρήσουμε το πρόβλημα εύρεσης του w
ως πρόβλημα βελτιστοποίησης (optimization) μιας συνάρτησης κόστους Κ(w). Μία
τέτοια συνάρτηση είναι η
~)~()( με :)Κ( T1
Sx
N xwxww (3.4.7)
B 1
Α 1)~(
x
xx
όπου S το σύνολο των διανυσμάτων που ταξινομήθηκαν λάθος. Η συνάρτηση Κ(w)
εκφράζει ουσιαστικά το συνολικό σφάλμα ταξινόμησης και είναι κατά τμήματα
+1wN+1
w2
wν
wN
w1
.
.
.
.
x2
Σ
x1
xν
xΝ
Σχ.3.4.3.
+1
-1
54
γραμμική συνάρτηση. Η βέλτιστη λύση του προβλήματος είναι η εύρεση τέτοιου w
ώστε Κ(w)=0. Αν w=w0 είναι μία αρχική τιμή, η βέλτιστη τιμή του w μπορεί να
προσεγγισθεί από τον τύπο
Sxt
t
ttt
Kxxw
w
www ~)~(ρ
)(1 (3.4.8)
Ο τύπος αυτός αποτελεί έναν γενικό επαναληπτικό αλγόριθμο ελαχιστοποίησης της
συνάρτησης κόστους.
Στο Παράρτημα Γ παρουσιάζεται Α) ένα εργαλείο του MatLab και Β) οι
εντολές για την δημιουργία γραμμικού ταξινομητή.
3.4.1. Η περίπτωση πολλών κλάσεων.
Στην περίπτωση που το πλήθος των κλάσεων είναι Μ>2 δύο τότε θα πρέπει να
χρησιμοποιήσουμε περισσότερους του ενός γραμμικούς ταξινομητές. Μία περίπτωση
είναι να διαχωρίσουμε γραμμικά κάθε τάξη από τις υπόλοιπες (εάν αυτό είναι εφικτό)
με Μ το πλήθος γραμμικές διακριτικές συναρτήσεις. Αν dμ(x)=wμΤ∙x+c>0, μ=1…Μ,
όταν το x ανήκει στη κλάση Cμ (Σχ. 3.4.1.1), τότε ένα πρότυπο ανήκει στην κλάση
της οποίας η γραμμική διακριτική συνάρτηση dμ(x) είναι θετική. Στην περίπτωση
υλοποίησης με ΝΔ και βηματική έξοδο -1/1 το άγνωστο πρότυπο ταξινομείται στην
κλάση που ο αντίστοιχος νευρώνας έχει έξοδο 1. Μια τέτοια προσέγγιση όπως
δείχνεται στο σχήμα. 3.4.1.1 είναι δυνατόν να αποδώσει ένα πρότυπο σε καμία οι σε
πολλές τάξεις.
Σχ. 3.4.1.1
Ένας άλλος τρόπος αντιμετώπισης του προβλήματος είναι ο διαχωρισμός των
κλάσεων ανά δύο αδιαφορώντας για τις υπόλοιπες. Το πρότυπο αποδίδεται σε εκείνη
την κλάση που έχει Μ-1 θετικές τιμές στις διακριτικές συναρτήσεις που την χωρίζουν
από τις υπόλοιπες. Η μέθοδος αυτή είναι υπολογιστικά πολύπλοκη στην περίπτωση
C1
C2 C3
w1
w3
w2
x
N1
N3
N2
55
των πολλών κλάσεων (Σχ.3.4.1.2). Τέλος αν οι διαχωριστικές επιφάνειες είναι όπως
στο σχήμα 3.4.1.3 αποφεύγεται η ύπαρξη διφορούμενων περιοχών στο χώρο των
προτύπων. Συνδυασμοί γραμμικών ή κατά τμήματα γραμμικών ταξινομητών με την
χρήση διαφόρων συναρτήσεων στην έξοδο έχουν προταθεί όπως είναι τα ΝΔ
ADALINE, MADALINE οι μηχανές επιτροπής (COMMITTEE MACHINES) κ.α.
Στα συστήματα αυτά δεν θα αναφερθούμε ενδελεχώς δεδομένου ότι η κεντρική ιδέα
της λειτουργίας του καλύπτεται από όσα αναφέρθηκαν μέχρι τώρα Ακολούθως θα
περιγράψουμε ταξινομητές που αποτελούνται από επίπεδα γραμμικών ταξινομητών
για την επίλυση μη γραμμικών προβλημάτων και θα εστιάσουμε στο επόμενο
κεφάλαιο στο νευρωνικό δίκτυο backpropagration
Σχ. 3.4.1.2
C1
C2 C3
w13
w32
w23
w31
w12
w21
56
Σχ. 3.4.1.3
3.4.2 Tαξινομητές πολλών επιπέδων
Όταν το πρόβλημα της ταξινόμησης αφορά περισσότερες από δύο κλάσεις ή όταν οι
κλάσεις δεν είναι γραμμικά διαχωρίσιμες, είναι δυνατόν να επιτευχθούν λύσεις με
κατάλληλους συνδυασμούς γραμμικών ταξινομητών. Μια τέτοια χαρακτηριστική
περίπτωση είναι αυτή της λογικής πύλης XOR της οποίας ο πίνακας αληθείας
δείχνεται στον Πιν.3.4.2.1.
Α Β Α XOR β
0 0 0
0 1 1
1 0 1
1 1 0
Πινακας 3.4.2.1.
w1
d1(x)>0, d2(x)<0
d3(x)>0, d1(x)<0
d2(x)>0, d3(x)<0
w2
w3
57
Σύμφωνα με αυτόν οι συνδυασμοί των τιμών των λογικών μεταβλητών α, β
αποτελούν τέσσερα πρότυπα που περιγράφονται από τα διανύσματα στοιχείων
συνόλου Ω= { (0,0), (0,1), (1,0), (1,1) } και η πράξη α XOR β ορίζει τις κλάσεις
Α={(0,0),(1,1)} και Β={(0,1),(1,0)}. Στο Σχ.3.4.2.1 φαίνονται τα άκρα των
διανυσμάτων στο Ε2.
Είναι προφανές ότι οι κλάσεις Α, Β δεν διαχωρίζονται με μια ευθεία. Ο διαχωρισμός
των κλάσεων μπορεί να γίνει με δύο ευθείες (Σχ.3.5.1) που ορίζουν μία ζώνη στο
εσωτερικό της οποίας βρίσκονται τα πρότυπα της κλάσης Β. Η ευθεία (1) μπορεί να
προσδιοριστεί από ένα γραμμικό ταξινομητή που θα διαχωρίζει το πρότυπο (1,1) από
τα υπόλοιπα. Η ευθεία (2) μπορεί να προσδιορισθεί από ένα γραμμικό ταξινομητή
Τ2 που θα διαχωρίζει το πρότυπο (0,0) από τα υπόλοιπα. Οι έξοδοι των Τ1, Τ2 θα είναι
οι τιμές των συναρτήσεων d1(x), d2(x) για x Ω όπως φαίνονται στον ακόλουθο
πίνακα 3.4.2.2 :
Α Β d1(x) d2(x) ΚΛΑΣΗ
0 0 -1 -1 Α
0 1 -1 +1 Β
1 0 -1 +1 Β
1 1 +1 +1 Α
Πίνακας 3.4.2.2
Οι τιμές των d1(x), d2(x) προσδιορίζουν τις κλάσεις Α και Β αποτελώντας ένα νέο
σύνολο προτύπων Φ={(-1,-1),(-1,+1),(+1,+1)} (η περίπτωση (+1,-1) είναι αδύνατη).
Στο Σχ.3.4.2.2 φαίνεται ο χώρος του Φ.
(ε2)
(ε1)
Σχ. 3.4.2.1
58
Η κλάση Α προσδιορίζεται από το σημείο (-1,+1) του χώρου Φ που διαχωρίζεται
γραμμικά με την ευθεία () από τα διανύσματα (-1,-1),(+1,+1) που προσδιορίζουν
την κλάση Β. Ένας γραμμικός ταξινομητής Τ μπορεί να προσδιορίσει την . Σ’ αυτόν
αν dΤ (x)>0 xA και αν dΤ(x)<0 xB. Το όλο σύστημα φαίνεται στο Σχ.3.4.2.3.
Αφήνεται σαν άσκηση στον αναγνώστη ο υπολογισμός των συναπτικών βαρών του
ΝΔ του σχήματος 3.4.2.3 με γραμμικές διακριτικές συναρτήσεις όπως των ευθειών
των σχημάτων 3.4.2.1, 3.4.2.2. Προσέξτε παρατηρώντας τον πίνακα 3.4.2.2, ότι ο
ένας νευρώνας του κρυφού επιπέδου υλοποιεί την λογική πράξη OR (α+β) και ο
άλλος την λογική πράξη AND (α∙β). Ο νευρώνας εξόδου υλοποιεί την πράξη
α∙not(3.5.2).
Με τη χρήση περισσότερων νευρώνων παρατεταγμένων σε επίπεδα όπως στο
Σχ.3.4.2.3 δημιουργούμε πολυεπίπεδα δίκτυα perceptron (MLP: Multi Layer
Perceptron) που μπορούν να διαχωρίσουν κλάσεις μη γραμμικά διαχωρίσιμες. Τα
επίπεδα ανάμεσα στο επίπεδο εισόδου των τιμών του ανύσματος x και του επιπέδου
w23
w13
w03
w01
w02
Σχήμα 3.4.2.3. Γραμμικός ταξινομητής-ΝΔ Perceptron δύο επιπέδων.
d(x)
d2(x)
d1(x)
w22
w12
w21
w11 x1
x2
Σ
Σ
Σ
d2(x)
d1(x)
Σχ. 3.4.2.2.
59
των νευρώνων εξόδου, ονομάζονται κρυφά επίπεδα. Το νευρωνικό δίκτυο του
Σχ.3.4.2.3 έχει ένα κρυφό επίπεδο δύο νευρώνων. Ο διαχωρισμός μη γραμμικά
διαχωρίσιμων κλάσεων με την χρήση MLP απαιτεί την παρέμβαση του ανθρώπου
σχεδιαστή και δεν είναι μια γενική και αυτοματοποιημένη διαδικασία. Οι
περισσότεροι αλγόριθμοι εκπαίδευσης βασίζονται στην ελαχιστοποίηση μιας
κατάλληλης συνάρτησης κόστους των συναπτικών βαρών. Μια τέτοια προσέγγιση
βασίζεται στην κατάβαση αντίθετα από την κλίση (παράγωγο) της συνάρτησης αυτής.
Η βηματικές συναρτήσεις που χρησιμοποιήθηκαν μέχρι τώρα δεν είναι
παραγωγίσιμες στο μηδέν. Άλλες συναρτήσεις παραγωγίσιμες σε όλο το πεδίο
ορισμού τους μπορούν να χρησιμοποιηθούν και να δώσουν ικανοποιητική λύση όπως
θα δούμε στο ακοκούθως.
3.5 Μη γραμμικοί ταξινομητές – ΝΔ Back error propagation
Μία διαφορετική τεχνική σχεδιασμού ενός πολυεπίπεδου perceptron για την
ταξινόμηση μη γραμμικά διαχωριζομένων κλάσεων βασίζεται στην αντικατάσταση
της συνάρτησης d(x) από μία συνεχή και διαφορίσιμη συνάρτηση f(x) που την
προσεγγίζει. Υπάρχουν διάφορες αναλυτικές μορφές για την f(x) με ποιο
συνηθισμένη την λεγόμενη λογιστική που δίδεται από τον τύπο
0 ,1
1)(
x
aexf (3.5.1)
Η παράμετρος α λέγεται παράμετρος κλίσης (slope) ή λοξότητος, Σχ 3.5.1.
60
Η χρήση της f(x) διευκολύνει την εφαρμογή μιας τυποποιημένης μεθόδου
ελαχιστοποίησης της κατάλληλης συνάρτησης κόστους. Το όλο ΝΔ όπως θα
παρουσιασθεί και θα αναλυθεί παρακάτω βασίζεται στα παραπάνω και ονομάζεται
λόγω της μεθόδου εκπαίδευσής του, ΝΔ Back error propagation ή για συντομία Back
propagation.
Στο νευρωνικό δίκτυο υπάρχουν επίπεδα δηλαδή ομάδες νευρώνων, πλήρως
διασυνδεδεμένα μεταξύ τους Σχ.3.5.1. Η έξοδος κάθε νευρώνα ενός επιπέδου
εισέρχεται σε κάθε νευρώνα του επόμενου επιπέδου, με αντίστοιχη σύναψη (βάρος)
Σχ.3.5.2. Οι τιμές του πίνακα εισόδου αποτελούν το επίπεδο εισόδου. Εκτός από το
επίπεδο εισόδου υπάρχουν Ζ το πλήθος επόμενα διαδοχικά επίπεδα, το τελευταίο των
οποίων ονομάζεται επίπεδο εξόδου. Τα επίπεδα που ενδεχομένως υπάρχουν μεταξύ
των επιπέδων εισόδου και εξόδου, λέγονται κρυφά επίπεδα. Στο Σχ. 3.5.2. φαίνεται
0
0.2
0.4
0.6
0.8
1
1.2
-6 -4 -2 0 2 4 6
a=2
0
0.2
0.4
0.6
0.8
1
1.2
-6 -4 -2 0 2 4 6
a=8
Σχήμα 3.5.1. Η λογιστική συνάρτηση για α=2 και α=8.
61
ένα νευρωνικό όπου το πρότυπο εισόδου εχει δύο χαρακτηριστικά (x1,x2) που
εισέρχονται σε ένα κρυφό επίπεδο τριών νευρώνων οι έξοδοι των οποίων είναι
είσοδοι ενός επόμενου επιπέδου με δύο νευρώνες και δύο τελικές εξόδους. Για την
αρίθμηση των επιπέδων θα χρησιμοποιούμε τον δείκτη ζ με τιμές ζ=0,…,Ζ, με ζ=0
για το επίπεδο εισόδου και ζ=Ζ για το επίπεδο εξόδου Σχ. 3.5.1.
Ονομάζουμε Νζ το πλήθος των νευρώνων ενός επιπέδου ζ. Ως εκ τούτου το πλήθος
των στοιχείων του πίνακα εισόδου x είναι Ν0 και του πίνακα εξόδου y είναι ΝΖ. Αν ν
είναι δείκτης για αρίθμηση των νευρώνων του επιπέδου ζ, τότε οι συνάψεις του
συνθέτουν έναν πίνακα γραμμής ζνw . Αν μ δείκτης για την αρίθμηση των νευρώνων
του προηγουμένου επιπέδου ζ-1 που αποτελείται από Νζ-1 νευρώνες, τότε
Η έξοδος του αθροιστή του νευρώνα θα είναι
1 με 1-ζ
0
1-ζ
μ
0
ζ
νμ
ζ
ν0
1-ζ
μ
1
ζ
νμ
11
yywwywσ
Η τελική έξοδος του νευρώνα, ζνy προκύπτει από την σχέση
ζ
ν
ζ
ν σfy
όπου f(.) κατάλληλη συνάρτηση με την οποία θα ασχοληθούμε παρακάτω. Στο Σχ.
3.5.3 φαίνεται αναλυτικά η δομή ενός νευρώνα όπως περιγράφηκε παραπάνω.
],...,,...,[ ζ
νΝ
ζ
νμ
ζ
ν0 1-ζwwwζ
ν w
zy
zy
zy1
Επίπεδο Εξόδου, ζ=Ζ
Κρυφό Επίπεδο ζ=2
x2
xN
x1
Επίπεδο Εισόδου ζ=0
Κρυφό Επίπεδο ζ=1
Κρυφό Επίπεδο ζ
Πλήθος Νευρώνων N1
Πλήθος Νευρώνων N2
Πλήθος Νευρώνων Nζ
Πλήθος Νευρώνων NΖ
Σχ.3.5.1.
62
1x
2x
1
3y
1
2y
1
1y
2
2y
2
1y
2
23w
2
22w 2
21w
2
13w
2
12w
2
11w
1
32w
1
31w
1
22w
1
21w
1
11w
1
12w
Σχ.3.5.2.
.
.
.
11-ζ0 y
1-ζ
1-ζNy
1-ζy
1-ζ1y
ζw
ζ
1w
ζ1w
ζ0w
O ν-οστός νευρώνας του ζ επιπέδου
ζνy ζ
νσ1-ζμ
Ν
0μ
ζν
1ζ
σ yw
ζ
νσf
.
.
.
Σχ.4.6.3.
63
Οι τιμές των εξόδων κάθε επιπέδου είναι οι είσοδοι του επόμενου επιπέδου όπως
περιγράφτηκε παραπάνω ξεκινώντας από το επίπεδο εισόδου και προχωρώντας
προοδευτικά μέχρι το επίπεδο εξόδου (forward propagation).
Εκπαίδευση back-error propagation
Έστω Ι το πλήθος ζευγών από πίνακες εισόδου και των αντίστοιχων επιθυμητών
πινάκων εξόδου με γνωστές τιμές, το σύνολο εκπαίδευσης S ορίζεται ως
S={(xi,yi)/(xi,yi) ζεύγος με xi πίνακα στήλης εισόδου και
yi τον αντίστοιχο επιθυμητό πίνακα στήλης εξόδου, i=1,…,I }.
Αν ο δείκτης ν αριθμεί τους νευρώνες του επιπέδου εξόδου Ζ, ν=1,…,ΝΖ και ο
πίνακας εξόδου του ΝΔ είναι
],...,,...,[ ν1zzzZ yyyy για συγκεκριμένο ζεύγος (xi,yi)
ορίζουμε μία συνάρτηση Δ(i) με χρήση της ευκλείδειας απόστασης σύμφωνα με την
σχέση:
2
1
2)(,)( νi2
121
yyDiZN
vi
ZE
yy
Η σχέση Δ(i) είναι ένα άθροισμα τετραγωνικών σφαλμάτων μεταξύ της παραγόμενης
εξόδου yZ του ΝΔ όταν η είσοδος είναι xi και της επιθυμητής εξόδου yi. Μπορούμε να
ορίσουμε τώρα την συνάρτηση κόστους Κ(.) που θα έχει ανεξάρτητες μεταβλητές όλα
τα ζνw για το συγκεκριμένο σύνολο εκπαίδευσης S σύμφωνα με την σχέση
I
1i
ζν Δ(i)),( Sw
Αντιμετωπίζοντας την εύρεση ελάχιστης τιμής της Κ ως πρόβλημα βελτιστοποίησης
(optimization) οι τιμή των ζνw μπορούν να εκτιμηθούν επαναληπτικά σύμφωνα με
σχέση
)(1
)(
Δ(i)ρ)(
Κρ)()1(
t
I
iζν
ζνtζ
ν
ζν
ζν ζ
νζν
tttww w
ww
ww
(3.5.1)
Σύμφωνα με τον κανόνα παραγώγισης της αλυσίδας
ζν
ζν
ζν
ζν
σ
σ
Δ(i)Δ(i)
ww
(3.5.2)
64
Ο όρος ζν
ζνσ
w
για όλα τα ζνw (για κάθε ν και ζ>0) είναι
1-ζ
1-ζ
1-ζ
1-ζ
y
w
w
w
w
T
T
ζν
ζν
ζν
ζν
ζν
ζν
ζν
ζν
y
y
y
σ
σ
σ
σ
1
1
0
0
1
(3.5.3)
Απομένει τώρα ο υπολογισμός του πρώτου όρου του γινομένου, τον οποίο
ονομάζουμε ζνσ
)(
i
(3.5.4)
Θα υπολογίσουμε πρώτα το για έναν νευρώνα ν του επιπέδου εξόδου (ζ=Ζ,
Νζ=ΝΖ) και δείκτη αρίθμησης των νευρώνων μ=1,…,ΝΖ.
)('))((2
2))((
2
1
)())(2
1(
)(
1
2
1
2
Ζννi
Ζν
μμi
Ζμ
Ζμ
Ζμμi
ΖμΖ
νΖν
σσσ
σ με σσ
fyfyf
fyyyi
)(')( Ζννi
Ζν σfyy
(3.5.5)
Για τα κρυφά επίπεδα (0<ζ<Ζ) ο υπολογισμός του είναι περιπλοκότερος, επειδή
δεν είναι δεδομένη η τιμή της εξόδου yνi, κάθε νευρώνα. Ο υπολογισμός σε κάθε
κρυφό επίπεδο θα βασισθεί στις τιμές διόρθωσης του επομένου του, αρχίζοντας από
το επίπεδο που προηγείται του επιπέδου εξόδου και οδεύοντας διαδοχικά προς τα
πίσω (back-error propagation). Συγκεκριμένα αν ζ ένα κρυφό επίπεδο, το επόμενό
του θα είναι το ζ+1. Έστω ακόμη μ ένας μετρητής αρίθμησης των νευρώνων του ζ
επιπέδου και κ ένας μετρητής αρίθμησης των νευρώνων του ζ+1 επιπέδου. Η
συνάρτηση Δ(i) εξαρτάται από τα 1111 1
,...,,...,
και κάθε 1 εξαρτάται από
το του ν-οστού νευρώνα του ζ επιπέδου. Σύμφωνα με τον κανόνα της αλυσιδωτής
παραγώγισης
65
1
111
1
ζν
1ζκν
1
1
ζμ
1
1ζκμ
1
1
11
)1(1
11ζ
κζν
σ'
σ
)(
σ
)(
fw
ywii
ζν
1ζκν
1
1 σ'1
fw
(3.5.6)
Τελικά από τις σχέσεις (3.5.1),(3.5.2),(3.5.3),(3.5.4) συνάγεται ότι
ii yx
ζν
ζν ytt
,
1-ζζνδ)()1( ww
όπου δίνεται από την σχέση (3.5.5)
)σ(')( ζννi
ζν fyy
όταν ο νευρώνας ν βρίσκεται στο επίπεδο εξόδου και από την (3.5.6)
ζν
1ζκν
1
1 σ'1
fw
όταν ο νευρώνας ν βρίσκεται σε κρυφό επίπεδο ξεκινώντας από το τελευταίο και
υποχωρώντας προοδευτικά μέχρι το πρώτο επίπεδο (back-error propagation).
Το Back error propagation ΝΔ είναι από τα πλέον χρησιμοποιούμενα ΝΔ και έχει
εφαρμοσθεί σε πληθώρα εφαρμογών από διαφορετικές επιστημονικές περιοχές. Στα
κρυφά επίπεδά του προσδιορίζονται ουσιαστικά αυτόματα τα αποτελεσματικά
χαρακτηριστικά για την ταξινόμηση. Το πλήθος των κλάσεων μπορεί να είναι το ίδιο
με αυτό των ανυσμάτων εισόδου του συνόλου εκπαίδευσης και έτσι το ΝΔ να
προσεγγίζει ένα μετασχηματισμό των ανυσμάτων εισόδου στα ανύσματα εξόδου. Το
σημαντικότερο μειονέκτημα του back propagation είναι χρόνος ολοκλήρωσης της
εκπαίδευσης του ή χρόνος σύγκλισης, όπως αλλιώς λέγεται. Είναι δυνατόν να
χρειασθούν εκατοντάδες χιλιάδες επαναλήψεις εωσότου συγκλίνει ακόμη και για
σχετικά απλές εφαρμογές. Σε κάποιες εφαρμογές χρειάσθηκαν μερικές μέρες για την
σύγκλιση του συστήματος. Ο εγκλωβισμός της διαδικασίας σύγκλισης σε τοπικά
ελάχιστα της συνάρτησης κόστους είναι ένα επιπρόσθετο πρόβλημα που θα
αναλύσουμε σε ακόλουθη παράγραφο.
66
3.6 Δένδρα απόφασης
Τα δένδρα απόφασης (decision trees) αποτελούν μια ευρεία κατηγορία τεχνικών μη
γραμμικών ταξινομητών στην οποία ο χώρος των χαρακτηριστικών διαιρείται σε
περιοχές που αντιστοιχούν στις επιθυμητές κλάσεις. Η απόφαση της ταξινόμησης
ενός προτύπου προκύπτει από τις απαντήσεις σε ερωτήματα που υποβάλλονται
σύμφωνα με μία δενδρική δομή. Θα παρουσιάσουμε ακολούθως μια
αντιπροσωπευτική και δημοφιλή τεχνική των δένδρων απόφασης κατά την οποία ο
χώρος χωρίζεται σε υπερ-παραλληλόγραμμα. Για ένα υπό ταξινόμηση πρότυπο κάθε
ερώτημα αφορά ένα χαρακτηριστικό xν και είναι της μορφής «ισχύει xν < t» όπου t
κατάλληλη τιμή κατωφλίου. Τα δένδρα απόφασης αυτής της μορφής ονομάζονται
συνήθη δυαδικά δένδρα ταξινόμησης - ΣΔΔΤ(ordinary binary classification trees -
OBCT). Η λειτουργία ενός ΣΔΔΤ γίνεται εύκολα αντιληπτή με ένα παράδειγμα δύο
χαρακτηριστικών και κλάσεις κατανεμημένες όπως στο Σχ.[ 3.6.1]
3.6.1
Με απλή γεωμετρική παρατήρηση μπορούμε να οδηγηθούμε στο δένδρο απόφασης
του Σχ.[3.6.2]
67
Σχήμα 3.6.2
Ο οπτικός διαχωρισμός βέβαια δεν είναι δυνατός σε χώρους υψηλότερης του τρία
διάστασης και σε κάθε περίπτωση η εκτέλεση από Υπολογιστές απαιτεί την
αλγοριθμική και μαθηματικολογική διατύπωση.
Παρατηρώντας τον χώρο των προτύπων του παραδείγματος και τις ορθογώνιες
περιοχές που περικλείουν τις κλάσεις, σε σχέση με το αντιστοιχο δένδρο απόφασης
διαπιστώνουμε ότι σε κάθε κόμβο t τίθεται ως ερώτημα μια συνθήκη η ισχύς της
οποίας χωρίζει ένα υποσύνολο Χt του χώρου τον προτύπων σε δύο μέρη. Ο ριζικός
κόμβος αφορά όλο σύνολο εκπαίδευσης. Η απάντηση του ερωτήματος μπορεί να
είναι θετική (Ναι) ή αρνητική (Όχι) και από αυτή καθορίζονται τα δύο υποσύνονα
ΧtN, ΧtO που ικανοποιούν τις σχέσεις
tN tO tX X X
tN tOX X
Πρέπει ακόμη να καθορισθούν τα παρακάτω κριτήρια ώστε:
ο διαχωρισμός να είναι βέλτιστος
να τερματίζεται ο διαχωρισμός ενός κόμβου
να αντιστοιχίζεται σε ένα κόμβο-φύλλο μία κλάση
Μια ερώτηση κόμβου είναι της μορφής xv>α, όπου xv η τιμή του ν χαρακτηριστικού
ενός προτύπου και α μια τιμή κατωφλίου. Το α μπορεί να πάρει απεριόριστες τιμές
στο πεδίο μεταβολής του, εν τούτοις αν Λt είναι το πλήθος των προτύπων που
ανήκουν στον Χt, αρκεί ένα πεπερασμένο πληθός τιμών ανλ, λ=1,2,…, Λt , για να
68
διαχωριστεί ο χώρος. Η τιμή ανλ θα επιλεγεί ώστε να ικανοποιείται το κριτήριο του
βέλτιστου διαχωρισμού.
Καθορισμός του κριτηρίου διαχωρισμού
Ο διαχωρισμός του Xt πρέπει να είναι τέτοιος ώστε σε ένα τουλάχιστον από τα δύο
μέρη του να κυριαρχούν πληθυσμιακά τα πρότυπα μιας μόνο κλάσης, να είναι
δηλαδή «καθαρό» σύμφωνα με την ορολογία των δυαδικών δένδρων απόφασης. Ως
μέτρο της καθαρότητας ενός κόμβου μπορεί να χρησιμοποιηθεί η εντροπία (μέση
πληροφορία) γνωστή από την θεωρία της πληροφορίας. Για έναν κόμβο t η εντροπία
I(t) δίνεται από την σχέση
21
( ) ( | ) log ( | )M
i ii
I t P C t P C t
Όπου P(Ci|t) η πιθανότητα ένα πρότυπο του χώρου X(t) να ανήκει στην κλάση Ci.
Υπενθυμίζεται ότι 0∙log20=0 και ότι I(t) μεγιστοποιείται αν οι τιμές P(Ci|t)είναι ίσες
μεταξύ τους. Οι πιθανότητες P(Ci|t) εκτιμώνται με βάση τα ποσοστά Λti/Λt όπου Λt το
πλήθος των προτύπων του κόμβου και Λti το πληθος όσων εξ αυτών ανήκουν στην
κλάση Ci. Με τον διαχωρισμό του κόμβου η καθαρότητά του μεταβάλλεται κατά
ΔI(t) σύμφωνα με τη σχέση
( ) ( ) ( ) ( )tN tON O
t t
I t I t t t
Η ποσότητα ΔI(t) υπολογίζεται για όλα τα χαρακτηριστικά και τις κατάλληλες τιμές
κατωφλίου των προτύπων που ανήκουν στους χώρους Χt, ΧtN, ΧtO. Ακολούθως
επιλέγεται το χαρακτηριστικό και το κατώφλι που μεγιστοποιούν την ΔΙ(t) και
προκύπτει το ερώτημα του κόμβου t.
Καθορισμός του κριτηρίου τερματισμού του διαχωρισμού
Ο διαχωρισμός του χώρου Xt, είναι δυνατόν να τερματίσει όταν η μέγιστη τιμή ΔΙ(t)
είναι μικρότερη από ένα προκαθορισμένο όριο. Εναλλακτικά μπορεί να τερματιστεί
αν ο πληθυσμός Λt είναι αρκετά μικρός ή όταν τα πρότυπα ανήκουν σε μία κλάση
(ΔΙ(t)=0).
Καθορισμός κριτηρίου αντιστοίχησης μιας κλάσης στον κόμβο-φύλλο
Σύμφωνα με τα παραπάνω μετά τον τερματισμό στο κόμβο t αποδίδεται ως όνομα το
όνομα της κλάσης των προτύπων που υπερτερούν πληθυσμιακά στον χώρο Xt.
3.7 Ταξινομητές με βάση τον κανόνα πιθανοτήτων του Bayes
69
Στις προσεγγίσεις που παρουσιάσαμε στα προηγούμενα κεφάλαια δεν λάβαμε υπόψη την
πιθανότητα εμφάνισης των προτύπων του συνόλου εκπαίδευσης. Στο κεφάλαιο αυτό θα
ασχοληθούμε με ταξινομητές που βασίζονται σ αυτή την πιθανότητα και στην
ελαχιστοποίηση του σφάλματος ταξινόμησης που προκύπτει από αυτήν.
Θα ξεκινήσουμε την παρουσίαση με το πρόβλημα των δύο κλάσεων C1, C2. Στόχος μας
αρχικά είναι ο υπολογισμός της πιθανότητας το πρότυπο να ανήκει στη κλάση C1 (ή C2)
δεδομένου ότι έχει την τιμή x, δηλαδή να βρούμε τις υπό συνθήκη πιθανότητες P(C1|x) και
P(C2|x). Αν P(C1|x) > P(C2|x) το πρότυπο ανήκει στη κλάση C1, διαφορετικά στη C2.
Ακολούθως αναζητούμε εκείνες της περιοχές του χώρου των προτύπων για τις οποίες
ελαχιστοποιείται το σφάλμα ταξινόμησης με βάση την παραπάνω θεώρηση. Από το κανόνα
του Bayes ισχύει ότι
και [3.7.1]
Όπου P(C1) και P(C2) οι πιθανότητες το πρότυπο x να ανήκει στις κλάσεις C1, C2 αντίστοιχα
και p(x|C1), p(x|C2) συναρτήσεις πυκνότητας πιθανότητας (σ.π.π.) για την γενική περίπτωση
που το x είναι διανυσματική συνεχής τυχαία μεταβλητή. Για τις σ.π.π. θα χρησιμοποιούμε
το μικρό p και για τις πιθανότητες κεφαλαίο P.
Άρα το x ανήκει
στη C1 αν p(x|C1)∙P(C1) > p(x|C2)∙P(C2), στη C2 αν p(x|C1)∙P(C1) < p(x|C2)∙P(C2) [3.7.2]
Στα προηγούμενα σημειώνεται ότι oι πιθανότητες P(C1) και P(C2) υπολογίζονται
προσεγγιστικά από τις σχέσεις P(C1) =Ν1/Ν , P(C2)=Ν2/Ν με Ν1, N2 το πλήθος των προτύπων,
οι ποσότητες p(x|C1), p(x|C2) θεωρούνται γνωστές ή εκτιμώνται από το σύνολο
εκπαίδευσης. Από την σχέση [3.7.2] βρίσκουμε ακολούθως τις περιοχές R1 και R2 που
διαχωρίζουν τον χώρο των προτύπων. Για παράδειγμα για δύο κλάσεις με P(C1) = 0.25 και
P(C2)=0.75, p(x|C1), p(x|C2) κανονικές κατανομές με μέσους όρους μ1=‐1, μ2=3 και
διασπορές σ1=1, σ2=2 οι περιοχές R1 και R2 θα είναι όπως στο Σχ._
Σχ.[]
Παρακάτω θα δείξουμε ότι με βάση τα παραπάνω το λάθος ταξινόμησης ελαχιστοποιείται.
Αν R1 η περιοχή που περιλαμβάνει τις τιμές του x που ταξινομούνται στη κλάση C1 και R2 η
περιοχή που περιλαμβάνει τις τιμές του x που ταξινομούνται στη κλάση C2 το σφάλμα θα
70
συμβαίνει αν το x ανήκει στη R1 και το πρότυπο στη κλάση C2 ή αν το x ανήκει στη R2 και το
πρότυπο στη κλάση C1 και η πιθανότητα Pe να συμβεί θα είναι
=
(3.7.3)
Ισχύει ακόμη ότι
(3.7.4)
Από τις σχέσεις (3.7.1) και (3.7.2) προκύπτει
Που σημαίνει ότι το σφάλμα ελαχιστοποιείται όταν η περιοχή R1 είναι τέτοια ώστε το
ολοκλήρωμα να είναι θετικό δηλαδή . Το αυτό αντίστοιχα ισχύει και για
την R2.
Στην περίπτωση των πολλών κλάσεων το πρότυπο ανήκει στην κλάση Ci για την οποία
ισχύει
Συναρτήσεις διάκρισης και διαχωριστικές επιφάνειες
Στην περίπτωση που απόφαση λαμβάνεται με κριτήριο την ελαχιστοποίηση του σφάλματος
ταξινόμησης για δύο κλάσεις η σχέση μπορούμε σύμφωνα με τα προηγούμενα να
ισχυριστούμε ότι το πρότυπο ανήκει στην κλάση K1 αν P(C1|x) ‐ P(C2|x)>0 διαφορετικά
ανήκει στην κλάση K2. Θα παρουσιάσουμε ακολούθως την δυνατότητα ταξινόμησης του
προτύπου μέσω του προσδιορισμού μιας διαχωριστικής επιφάνειας του χώρου που θα
ελαχιστοποιεί το σφάλμα ταξινόμησης στην περίπτωση που η συνάρτηση πυκνότητας
πιθανότητας (σ.π.π., probability density function, pdf) είναι η κανονική κατανομή
(Gaussian).
71
Για μονοδιάστατη τυχαία μεταβλητή η σ.π.π. της κανονική μεταβλητής δίνεται από τον τύπο
Όπου μ και σ η μέση τιμή και η διασπορά της κατανομής.
Στην γενική περίπτωση που η τυχαία μεταβλητή είναι διάνυσμα x ενός Ν διάστατου
χώρου αντίστοιχη σ.π.π. δίδεται από τη σχέση
Όπου μ μέση τιμή και C ό πίνακας συνδιασποράς της σ.π.π. και |C| η ορίζουσά του. Προσοχή η χρήση του συμβόλου C δεν αναφέρεται πλέον στην κλάση Κ αλλά στο πίνακα συνδιασποράς. Για λόγους γεωμετρικής απεικόνισης θα θεωρήσουμε την περίπτωση που η τυχαία
μεταβλητή ανήκει στον δισδιάστατο χώρο. Ο πίνακας συνδιασποράς αποτελείται από τις
διασπορές και τις ετεροσυσχετίσεις των γραμμών της διανυσματικής μεταβλητής x=[x1,x2]T
και είναι της μορφής
Στα ακόλουθα σχήματα βλέπουμε τις σ.π.π κανονικών κατανομών για διαφορετικούς
πίνακες συνδιασποράς και μέσους όρους.
-3-2 -1 0
1 23
-20
2
0
0.05
0.1
0.15
0.2
x1x2
Pro
babi
lity
De
nsity
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
x1
x2
H σ.π.π. κανονικής κατανομής για
72
-3 -2 -1 0 1 2 3
-20
2
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
x1x2
Pro
ba
bilit
y D
ens
ity
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
x1
x2
H σ.π.π. κανονικής κατανομής για
-3 -2-1
0 1 23
-2
0
2
0
0.1
0.2
0.3
0.4
x1x2
Pro
ba
bilit
y D
ensi
ty
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
x1
x2
H σ.π.π. κανονικής κατανομής για
Λόγω της εκθετικής μορφής της σ.π.π. της εκθετικής κατανομής μπορούμε να
χρησιμοποιήσουμε για απλούστευση των υπολογισμών μία μονότονη λογαριθμική
συνάρτηση,δηλαδή η πρόταση
το x ανήκει στη C1 αν p(x|Κ1)∙P(Κ1) > p(x|Κ2)∙P(Κ2), στη Κ2 αν p(x|Κ1)∙P(Κ1) < p(x|Κ2)∙P(Κ2)
διατυπώνεται το x ανήκει
στη Κ1 αν g1(x)> g2(x), στη Κ2 αν g1(x)<g2(x)
με
Και σταθερά ποσότητα
Γενικά αυτή είναι μια μη γραμμική τετραγωνική μορφή. Τα σημεία του χώρου για τα οποία
73
καθορίζουν την περιοχή της κλάσης Κi. Στην περίπτωση των
δύο κλάσεων η διαχωριστική τους καμπύλη ικανοποιεί την σχέση
Για συναρτήσεις απόφασης δύο κλάσεων Ακολουθούν παραδείγματα για
διαφορετικές σ.π.π.
-10-5
05
10
-10
-5
0
5
100
0.1
0.2
0.3
0.4
x1x2
Pro
ba
bilit
y D
ens
ity
-10 -5 0 5 10-10
-8
-6
-4
-2
0
2
4
6
8
10
x1x2
Οι σ.π.π. για μ1=[0, 0]T,
και μ2=[4,0]T,
Η διαχωριστική επιφάνεια των κλάσεων για ισοπίθανες κλάσεις
74
ΚΕΦΑΛΑΙΟ 4 ΕΚΠΑΙΔΕΥΣΗ ΧΩΡΙΣ ΕΠΟΠΤΗ
Tο πρόβλημα του προσδιορισμού των συγκεντρώσεων των προτύπων όταν δεν
είναι γνωστό το πλήθος τους και η ταυτότητα τους είναι δύσκολο. Για την λύση του
προτείνονται ενδιαφέρουσες τεχνικές με δομή ή όχι νευρωνικού δικτύου. Η μέτρηση
πολλών χαρακτηριστικών και η ποικιλία των προτύπων είναι βασικοί παράγοντες που
επιτείνουν την δυσκολία του προβλήματος. Ακολούθως θα παρουσιάσουμε τρεις
μεθόδους εκπαίδευσης χωρίς επόπτη. Οι δύο πρώτες είναι απλές διαδικασίες που
μπορούν να δρομολογηθούν για την επίλυση απλών προβλημάτων μικρού μεγέθους
δεδομένων. Η τρίτη είναι μία ισχυρή μέθοδος που βασίζεται στην λειτουργία ενός
νευρωνικού δικτύου και μπορεί να αποτελέσει βάση για την σχεδίαση ταξινομητών.
Η δεύτερη και τρίτη μέθοδος δίνουν την δυνατότητα εποπτείας σε πολυδιάστατους
χώρους που η αναπαράστασή τους σε ένα σύστημα αξόνων είναι ανέφικτη.
4.1 Προσδιορισμός των συγκεντρώσεων με την μέθοδο MAXIMIN.
Πρόκειται για μία μέθοδο προσδιορισμού του πλήθους και του περιεχομένου των
συγκεντρώσεων των προτύπων, επονομαζόμενη μέθοδος MAXIMIN και βασίζεται
στην χρήση των αποστάσεων μεταξύ των προτύπων. Η μέθοδος έχει ως εξής:
Θεωρούμε Κ (ΚΝ) το πλήθος των προτύπων Πκ, κ=1,…,Κ, του συνόλου
εκπαίδευσης S και xκ τον πίνακα του προτύπου Πκ. Θεωρούμε τον μετρητή κλάσεων
t (tN) με αρχική τιμή ένα (t = 1).
75
Βήμα 1ο: Επιλέγουμε ένα τυχαίο πρότυπο 1t ττ (τt=1,…,Κ) και με αυτό
ορίζουμε την πρώτη κλάση ωt=ω1.
Βήμα 2ο: Δημιουργούμε το σύνολο D1 των αποστάσεων των προτύπων του S από
το 1τ
Sκ/xxD κτ1 1 (4.1.1)
Βρίσκουμε το πρότυπο 2τ (τ2=1,…,Κ) που απέχει την μέγιστη
απόσταση Μ1 από το 1τ .
)(Dmaxτ 1κ
2 (4.1.2)
)max(DxxD 1ττ1 21 (4.1.3)
Βήμα 3ο: Αυξάνουμε το t κατά ένα και ορίζουμε την κλάση ωt με στοιχείο το
tτ , tτtω .
Βήμα 4ο: Ταξινομούμε κάθε Πκ S στις τάξεις ωi, I=1,…,t με το κριτήριο της
ελάχιστης απόστασης. Δημιουργούμε τα σύνολα Di των αποστάσεων
των προτύπων κάθε κλάσης ωi από το πρότυπο iτ που όρισε την
κλάση.
K1,...,i ,ωΠ / xxD iκκτi i (4.1.4)
Βρίσκουμε την μέγιστη απόσταση Μt μεταξύ όλων των αποστάσεων
των Di και το αντίστοιχο πρότυπο Πκ το οποίο ονομάζουμε 1tτ
.
Dmaxτt
1ii
κ1t
(4.1.5)
t
1iit DmaxM (4.1.6)
Βήμα 5ο: Αν Μt/ Μt+1 ρ << 1, όπου ρ θετικός προκαθορισμένος αριθμός
σημαντικά μικρότερος της μονάδας, η διαδικασία σταματάει και το
76
πλήθος των ομάδων είναι ο αριθμός t. Αλλιώς συνεχίζεται επαναληπτικά
από το βήμα 3.
ΠΑΡΑΔΕΙΓΜΑ ΓΙΑ ΤΗΝ ΜΕΘΟΔΟ MAXIMIN
Δίνονται οι παρακάτω πίνακες προτύπων:
x1 = [10, 8]T, x2 = [9, 7]T, x3 = [1, 10]T, x4 = [2, 8]T, x5 = [4, 1]T, x6 = [8, 9]T
Δίνεται η τιμή 0.4 στο (π=0.4) προς χάριν του παραδείγματος διότι στις πραγματικές
εφαρμογές εκλαμβάνεται μικρότερη. Για απλούστευση της διαδικασίας υπολογίζουμε
όλες τις αποστάσεις (π.χ. Ευκλείδειες) dκλ, κ,λ {1,2,3,4,5,6,} μεταξύ των προτύπων.
Δεδομένου ότι dκλ = dλκ και dκκ=0 πρέπει να υπολογίσουμε για πλήθος προτύπων Κ =
6, Κ(Κ-1)/2=15 αποστάσεις. Οι τιμές των αποστάσεων δίνονται από τον Πίν. 4.1.1:
d12= 2 [ (10-9)2+(8-7)2]1/2
d13= 85 d14= 64 d15= 85 d16= 5
d23= 73 d24= 50 d25= 61 d26= 5 d34= 5 d35= 90 d36= 50 d45= 53 d46= 37 d56= 80
Πίνακας 4.1.1.
Το πλήθος προτύπων Κ=6 και ο μετρητής συγκεντρώσεων t=1.
Επιλέγουμε τυχαία το πρότυπο Π4, άρα τ1=4 και ω1={Π4}.
37 ,53 0, ,5 ,50 ,64d ,d ,d ,d ,d ,dD 4645444342411
Μ1 = max ( D1 ) = 64 = 8, άρα τ2 = 1
t = 2, ω2 = {Π1}.
Όλα τα πρότυπα ταξινομούνται στις κλάσεις ω1, ω2 με βάση το κριτήριο της
ελάχιστης απόστασης από τα Π4 και Π1. Για διευκόλυνση δημιουργούμε τον
ακόλουθο πίνακα.
77
Π2 Π3 Π5 Π6
Π4 ω1 50 5 53 37
Π1 ω2 2 85 85 5
Π2 ω2 Π3 ω1 Π5 ω1 Π6 ω2
Άρα ω1={Π3, Π4, Π5}, ω2={Π1, Π2, Π6}
5τd53,5,2,53,5maxd,dd,dmaxM 345161245432
M2/M1 = 53 / 64 > p και συνεχίζουμε από το βήμα 3.
t = 3, 5τ3 3ω
Τα πρότυπα ταξινομούνται στις κλάσεις ω1, ω2, ω3 όπως φαίνεται στον ακόλουθο
πίνακα.
Π2 Π3 Π6
Π4 ω1 50 5 37
Π1 ω2 2 85 5
Π5 ω3 61 90 80
Π2 ω2 Π3 ω1 Π6 ω2
Οι κλάσεις διαμορφώνονται ως εξής:
ω1={Π3, Π4}, ω2={Π1, Π2, Π6}, ω3={Π5}.
6. ή 3 τάρα
dd 55,2,5maxd,ddmaxM
4
16431612433
Μ3/Μ2= 5 / 53 =0.307<ρ συνθήκη που οδηγεί στον τερματισμό της διαδικασίας
και στο αποτέλεσμα των τριών κλάσεων ω1, ω2 ,ω3. Στο Σχ. 4.1.1 απεικονίζονται
78
τα άκρα των ανυσμάτων των προτύπων, ο οπτικός προσδιορισμός των
συγκεντρώσεων συμφωνεί με τα αποτελέσματα της διαδικασίας.
4.2 Απεικόνιση αλυσίδας.
Η απεικόνιση αλυσίδας (chain map) είναι μία μέθοδος που παρέχει την εποπτεία
της κατανομής των προτύπων σε πολυδιάστατους χώρους και μπορεί να
χρησιμοποιηθεί για την εύρεση του πλήθους και του περιεχομένου των
συγκεντρώσεων τους. Σύμφωνα με αυτήν δημιουργούμε μία κατανομή της
απόστασης κάθε προτύπου με το γειτονικότερό του. Συγκεκριμένα διατρέχουμε όλα
τα πρότυπα ξεκινώντας από κάποιο τυχαίο μεταβαίνοντας στο γειτονικότερό του
εξαιρουμένου του προηγουμένου του. Θεωρούμε έναν δείκτη i, i Ν, που αριθμεί τις
μεταβάσεις από πρότυπο σε πρότυπο αυξανόμενος κατά ένα ξεκινώντας με αρχική
τιμή την μονάδα που αντιστοιχεί στην απόσταση του αρχικού τυχαίου προτύπου με το
γειτονικότερό του. Δημιουργούμε την ακολουθία αi των αποστάσεων των προτύπων.
Οι κορυφές της κατανομής που περιγράφει η ακολουθία αi, διαχωρίζουν το σύνολο
των προτύπων σε υποσύνολα που καθορίζουν τις συγκεντρώσεις τους.
ΠΑΡΑΔΕΙΓΜΑ
Έστω τα πρότυπα
x1 = [10, 8]T, x2 = [9, 7]T, x3 = [1, 10]T, x4 = [2, 8]T, x5 = [4, 1]T, x6 = [8, 9]T
που χρησιμοποιήσαμε και στο παράδειγμα της μεθόδου MAXIMIN.
x6
+
x5+
x4+
x3
+
x2+
x1
+
Σχήμα 4.1.1 .
79
Επιλέγουμε τυχαία το πρότυπο Π4 και θέτουμε i=1. Υπολογίζουμε τις αποστάσεις
των υπολοίπων προτύπων (δίνονται στον Πίν. 1) και υπολογίζουμε την
μικρότερή τους.
min{d41, d42, d43, d45, d46} = min{ 64 , 50 , 5 , 53 , 37 }= 5 = α1
άρα γειρονικότερο του Π4 είναι το πρότυπο Π3.
Υπολογίζουμε τις αποστάσεις των προτύπων πλην του Π4, από το Π3 και
βρίσκουμε την μικρότερή τους
min{ d31, d32, d35, d36} = { 85 , 73 , 90 , 50 } = 50 = α2
και μεταβαίνουμε στο Π6.
min{d61, d62, d65} = { 5 , 5 , 32 } = 5 = α3
και μεταβαίνουμε στο Π2.
min{d21, d25} = { 2 , 61 } = 2 = α4
και μεταβαίνουμε στο Π1.
d15 = 85 = α5.
d54 = 90 = α6.
Οι τιμές της ακολουθίας αi, i=1,...,6 φαίνονται στο Σχ.4.2.1
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6
Σχ. 4.2.1.
d43 d36 d62 d21 d15 d54
80
Οι υψηλές τιμές ορίζουν τις ομάδες χαμηλών τιμών α) d43, β) d62, d21. Από την πρώτη
συμπαιρένεται ότι ω1={Π3, Π4}, από τήν δεύτερη ω2={Π6, Π2, Π1}. Το απομένον Π5
ω3.
4.3 Ο Αλγόριθμος ISODATA ή Κ-Μέσων (k-means ή c-means)
Ο Αλγόριθμος των Κ-μέσων τιτλοφορείται και ως ISODATA ή αλγόριθμος
Lloyd’s είναι από τους δημοφιλέστερους αλγορίθμους συσταδοποίησης. Οι
ομοιότητα των προτύπων περιγράφεται με την Ευκλείδεια Απόσταση. Κάθε
συγκέντρωση περιγράφεται από ένα σημείο-αντιπρόσωπο στο χώρο των προτύπων
και σ’ αυτήν ανήκουν τα πρότυπα που απέχουν μικρότερη απόσταση από τον
αντιπρόσωπο αυτής συγκριτικά με τους αντιπροσώπους των άλλων συγκεντρώσεων.
Ο αντιπρόσωπος είναι ο μέσος όρος των προτύπων που αποτελούν την συγκέντρωση,
ονομάζεται και κέντρο της κλάσης. Ακολούθως ο αλγόριθμος περιγράφεται για
προκαθορισμένο πλήθος συγκεντρώσεων.
Έστω,
- Ι το πλήθος των προτύπων, Κ το πλήθος το συγκεντρώσεων,
- Ν το πλήθος των χαρακτηριστικών,
- xi EN πίνακας στήλης που περιγράφει το i πρότυπο, i=1…I
- ck EN πίνακας στήλης που περιγράφει τον αντιπρόσωπο (κέντρο) της k κλάσης,
k=1…K
- Β πίνακας Ι × 1 σε κάθε στοιχείο i του οποίου καταχωρείται η συγκέντρωση που
ανήκει το i πρότυπο, (πχ bi=k),
- t μετρητής επανάληψης.
Για t=0 αποδίδονται τυχαίες τιμές στα ck, για κάθε k.
Επανάληψη
Για i από 1 έως I
2
1
minN
i i kkv
b x c
Τέλος για.
Για κάθε πρότυπο
υπολογίζονται οι αποστάσεις
του από τα κέντρα όλων των
κλάσεων και καταχωρείται
σ’ αυτή που έχει
κοντινότερο κέντρο
81
t = t+1
Για k από 1 έως K
1i
i
b k
ib k
k
P
x
cP
Τέλος για.
Αν ck(t)= ck(t+1) για κάθε k, τέλος επανάληψης
Υπολογίζεται το πλήθος P
των προτύπων που ανήκουν
στην k κλάση
Υπολογίζεται το κέντρο της
κλάσης
Αν τα κέντρα παραμείνουν
ίδια ο αλγόριθμος
τερματίζεται
Στο Σχήμα 4.3.1 φαίνεται η μετακίνηση των κέντρων των συγκεντρώσεων σε
διαδοχικές επαναλήψεις του αλγορίθμου.
82
Σχ. 4.3.1.
Είναι δυνατόν επίσης κάποιο ή κάποια κέντρα να μην έχουν κανένα κοντινότερο
πρότυπο και ως εκ τούτου να έχουμε λιγότερες από Κ συστάδες. Στην περίπτωση
αυτή το κέντρο τοποθετείται κοντά σε πρότυπο που απέχει περισσότερο όλων από το
κέντρο της συστάδας του.
Σχ.4.3.2.
83
Ο k-means θεωρείται ένας γρήγορος, αρκετά αποτελεσματικός αλγόριθμος με
ευκολία στην υλοποίηση. Δίνει καλύτερα αποτελέσματα όταν το σύνολο των
δεδομένων είναι διακριτό, δηλαδή τα δεδομένα είναι δομημένα σε διαχώρισιμες
συγκεντρώσεις. Μειονέκτημα είναι ότι απαιτεί τον προκαθορισμό του αριθμού των
κέντρων των συστάδων. Η τυχαία επιλογή της τιμής αυτών των κέντρων μπορεί να
μη μας οδηγήσει σε καλά αποτέλεσμα. Επίσης, ο αλγόριθμος παρουσιάζει αδυναμία
στον χειρισμό δεδομένων με θόρυβο ή ακραίες τιμές και αποτυγχάνει για μη
συμπαγές σύνολο δεδομένων (σφαιρικές συγκεντρώσεις). Οι μεσοκάθετοι των
κέντρων αποτελούν τις γραμμικές διακριτικές συναρτήσεις των συγκεντρώσεων και
συνθέτουν το λεγόμενο διάγραμμα Voronoi (Voronoi tessellation, Σχήμα 4.3.4.)
Σχ.4.3.4.
84
4.4 Νευρωνικό δίκτυο αυτοργανούμενου πίνακα απεικόνισης χαρακτηριστικών
Ο Αυτό-οργανούμενος Πίνακας Απεικόνισης Χαρακτηριστικών (ΑΠΑΧ) (SOFM:
Self organized Feature Map) είναι ένα νευρωνικό δίκτυο που επιτελεί την κύρια
διαδικασία της ταξινόμησης. Το επίπεδο εισόδου του συνδυάζεται με ένα επίπεδο
ανταγωνισμού και εκπαιδεύεται χωρίς επόπτη. Τα δύο επίπεδα είναι πλήρως
διασυνδεδεμένα επειδή κάθε είσοδος συνδέεται με όλους τους νευρώνες του επιπέδου
ανταγωνισμού. Τυπικά το επίπεδο ανταγωνισμού είναι οργανωμένο επάνω σε ένα
δισδιάστατο κάναβο και κάθε νευρώνας αντιπροσωπεύει μία τάξη. Η αυτοοργάνωση
έχει ως αποτέλεσμα την αντιπροσώπευση ομοίων τάξεων από γειτονικούς νευρώνες
του επιπέδου ανταγωνισμού. Το Σχ. 4.4.1 παρουσιάζει την τοπολογία του ΑΠΑΧ.
Στην παρούσα προσέγγιση το επίπεδο ανταγωνισμού είναι τοποθετημένο σε έναν
κάναβο 8Χ8. Αν και ο κάναβος είναι δισδιάστατος, οι νευρώνες έχουν αριθμηθεί με
ένα δείκτη k που παίρνει ακέραιες τιμές από 0 έως 63.
Η εκπαίδευση του νευρωνικού δικτύου γίνεται ως εξής:
– Συγκροτείται το σύνολο εκπαίδευσης του ΑΠΑΧ από τα ανύσματα εξόδου που
προέκυψαν από την είσοδο του αρχικού συνόλου εκπαίδευσης στον ΑΚΣ.
– Θεωρούμε τη μεταβλητή επανάληψης t που παίρνει ακέραιες τιμές από 0 μέχρι μία
προκαθορισμένη τελική τιμή Τ (π.χ. Τ=100.000).
– Θεωρούμε τη μεταβλητή του ρυθμού εκμάθησης α(t).
– Θεωρούμε το μήκος d(t) της πλευράς ενός τετραγώνου που ορίζει μια υποπεριοχή
(γειτονιά) επάνω στον κάναβο.
– Έστω ukj το βάρος της σύναψης μεταξύ του k νευρώνα του επιπέδου ανταγωνισμού
και της j εισόδου του, j{0,1,…,m-1}.
Εκτελούνται τα παρακάτω βήματα:
Βήμα 1. Αρχικοποιούνται (t=0) τα βάρη των συνάψεων ukj(0) με τιμές που
προκύπτουν από την πρόσθεση μικρών τυχαίων αριθμών στη μέση τιμή των
ανυσμάτων yn όλου το συνόλου εκπαίδευσης.
Βήμα 2. Αρχικοποιείται η α(0) με μια μεγάλη τιμή, συνήθως μεταξύ 0.2 και 0.5.
Βήμα 3. Αρχικοποιείται η d(0) με την τιμή 4, που είναι ίση με το μισό του εύρους του
κανάβου.
Βήμα 4. Επιλέγεται ένα τυχαίο άνυσμα x(t) από το σύνολο εκπαίδευσης.
Βήμα 5. Υπολογίζεται η έξοδος ok(t) του νευρώνα k από τη σχέση
85
1
0
2))()(()()()(m
jkjjk tutxttto kux . (4.4.1)
Είναι φανερό πως η ok είναι η Ευκλείδια απόσταση μεταξύ των x(t) και uk(t).
Βήμα 6. Ο νευρώνας c ανακηρύσσεται νικητής εάν ικανοποιείται η συνθήκη
oc(t) = min{ok(t)}. (4.4.2)
Εάν οι έξοδοι δύο νευρώνων είναι ίσες, τότε κατά σύμβαση επιλέγεται
αυτός με το μικρότερο δείκτη.
Βήμα 7. Tα βάρη ukj των συνάψεων ανανεώνονται σύμφωνα με τις παρακάτω σχέσεις
c
cj
kj
N k αν 0
Ν k αν ))()((xα(t)Δu
tut kj
(4.4.3)
ukj(t+1)=ukj(t)+Δukj(t) (4.4.4)
όπου Nc το σύνολο των δεικτών των νευρώνων που βρίσκονται μέσα σε ένα
τετράγωνο του δισδιάστατου κανάβου με κέντρο το νευρώνα νικητή και
πλευρά d(t) (γειτονιά του νικητή νευρώνα).
Βήμα 8. Αυξάνεται η μεταβλητή επανάληψης κατά ένα και αποδίδονται νέες τιμές
στις μεταβλητές α(t), d(t) σύμφωνα με τις σχέσεις:
a t at
T( ) ( ) ( ) 0 1 (4.4.5)
d t dt
T( ) ( ) ( ) 0 1 (4.4.6)
Τα βήματα 4 έως 8 επαναλαμβάνονται έως ότου η μεταβλητή t πάρει τη μέγιστη
τελική τιμή Τ. Είναι φανερό πως οι μεταβλητές α(t) και d(t) συγκλίνουν στο μηδέν
καθώς η t τείνει στην τιμή Τ.
Μετά την εκπαίδευση κάθε άνυσμα εισόδου του ΑΠΑΧ αποδίδεται στον νικητή
νευρώνα. Κάθε νευρώνας του επιπέδου εξόδου αντιπροσωπεύει μία ομάδα προτύπων
(cluster). Πρότυπα με μεγάλη ομοιότητα αντιπροσωπεύονται από τον ίδιο νευρώνα.
86
Σχήμα 4.4.1.
87
ΚΕΦΑΛΑΙΟ 5 ΑΝΑΛΥΣΗ ΧΑΡΑΚΤΗΡΙΣΤΙΚΩΝ
Μια σημαντική εργασία σε ένα σύστημα αναγνώρισης είναι η ανάλυση των
μετρούμενων χαρακτηριστικών των προτύπων. Με την ανάλυση των
χαρακτηριστικών πετυχαίνουμε την αξιολόγηση τους, την επιλογή των
καταλληλότερων για την ταξινόμηση των προτύπων και την ελάττωση του πλήθους
τους. Για παράδειγμα ένα χαρακτηριστικό με κοντινές τιμές μέσα σε κάθε μία κλάση
και σαφώς διαφορετικές τιμές μεταξύ των κλάσεων είναι «καλό» χαρακτηριστικό
ταξινόμησης. Mε κατάλληλες μεθόδους ανάλυσης χαρακτηριστικών μπορούμε να
οδηγηθούμε και σε νέα χαρακτηριστικά που προκύπτουν από τον γραμμικό
συνδυασμό των αρχικών και είναι καταλληλότερα από αυτά . Ακολούθως θα δούμε
μεθόδους ανάλυσης χαρακτηριστικών σε συστήματα εκμάθησης με και χωρίς επόπτη.
5.1 Ανάλυση χαρακτηριστικών στην εκπαίδευση με επόπτη
Μια σημαντική εργασία σε ένα σύστημα αναγνώρισης είναι η επιλογή ενός μικρού
συνόλου κατάλληλων χαρακτηριστικών από ένα πολύ μεγαλύτερο. Η επιλογή των
ισχυρών χαρακτηριστικών είναι κρίσιμη για την αποτελεσματικότητα της
ταξινόμησης. Για να ελαττωθεί το πλήθος των χαρακτηριστικών με την επιλογή ενός
συνόλου «καλών», που οδηγούν στην ορθή εκτελείται μια διαδικασία αξιολόγησης
της ευστάθειας (stability), της διαχωριστικότητας (separability) και της ομοιότητας
(similarity) των χαρακτηριστικών.
Με τον έλεγχο της ευστάθειας προσδιορίζονται τα χαρακτηριστικά που
παρουσιάζουν σημαντικά σταθερή συμπεριφορά. Υπολογίζονται οι μέσες τιμές και οι
τυπικές αποκλίσεις των χαρακτηριστικών μέσα σε κάθε κλάση. Οι τιμές των τυπικών
αποκλίσεων κανονικοποιούνται κατόπιν στο ίδιο διάστημα, διαιρούμενες με τις μέσες
τιμές τους. Τα χαρακτηριστικά διαιρούνται σε τρεις ομάδες ανάλογα με την
88
κανονικοποιημένη τυπική απόκλισή τους σ*. Η πρώτη ομάδα περιλαμβάνει τα
χαρακτηριστικά υψηλής ευστάθειας με σ*<0.1. Η δεύτερη ομάδα περιλαμβάνει τα
ασταθή χαρακτηριστικά με 0.1<σ*<0.9 και η τρίτη τα πολύ ασταθή με σ*>0.9.
Για τον έλεγχο της ικανότητας διαχωρισμού καθορίζεται ο παράγοντας
διαχωριστικότητας (seperability factor) Savg μεταξύ δύο κλάσεων ωi και ωj για κάθε
χαρακτηριστικό ν από τη σχέση:
22 )σ()σ(
μμ
ji
ji
S
(5.1)
όπου iμ , j
μ είναι οι μέσες τιμές και iσ , j
σ οι τυπικές αποκλίσεις σε κάθε
κλάση. Μεγάλη διαχωριστικότητα σημαίνει ότι το χαρακτηριστικό έχει μεγάλη
ικανότητα να διαχωρίζει τις δύο κλάσεις μεταξύ τους.
Για την ανάλυση της ομοιότητας των χαρακτηριστικών εκτιμάται ο παράγοντας
συσχέτισης (correlation factor) για κάθε δύο χαρακτηριστικά ν και λ που ανήκουν
στην ίδια τάξη p, σύμφωνα με τη σχέση
λν
1λ
σσ
)μ)(μ(1
p
xx
C pp
(5.2)
όπου Κp είναι το πλήθος των στοιχείων της κλάσης p, xνκ και xλκ οι τιμές των
χαρακτηριστικών, σ,μ,μ λ και λσ οι μέσες τιμές και οι τυπικές αποκλίσεις των
χαρακτηριστικών στην τάξη p. Ο παράγοντας συσχέτισης μετρά την ομοιότητα
μεταξύ των δύο χαρακτηριστικών και παίρνει τιμές μεταξύ –1 και +1. Μια τιμή
κοντά στο +1 ή στο -1 σημαίνει ότι τα δύο χαρακτηριστικά συσχετίζονται πολύ ή
συσχετίζονται αντίστροφα, αντίστοιχα. Μια τιμή κοντά στο μηδέν δείχνει ότι τα
χαρακτηριστικά είναι κατά πολύ ασυσχέτιστα.
89
ΠΑΡΑΔΕΙΓΜΑ
Δίνονται οι πίνακες τεσσάρων προτύπων Π1, Π2, Π3, Π4
1
0
1
x,
0
1
5.0
x,
1
5.0
1
x,
0
1
0
x B4
B3
A2
A1
Απορρίψτε το χειρότερο χαρακτηριστικό με το κριτήριο της διαχωριστικότητας.
21
43
21
2)10(
2)5.01(2
)10(
μΑ ,
21
214
3
2)10(
2)01(
2)15.0(
μΒ
41
2
)211()2
10()(
41
2
)210()2
11()(
161
2
)431()4
32
1()(
41
2
)211()2
10()(
161
2
)43
21()4
31()(
41
2
)211()2
10()(
22
23
22
22
22
21
22
23
22
22
22
21
161
41
43
21
S1AB
,
41
161
21
43
S2AB
, 0
41
41
21
21
S3AB
Ο συντελεστής διαχωριστικότητας για το 3ο χαρακτηριστικό είναι μηδέν και γι αυτό
αυτό μπορεί να απορριφθεί.
90
5.2 Ανάλυση χαρακτηριστικών στην εκπαίδευση χωρίς επόπτη
Η ανάλυση χαρακτηριστικών στην εκπαίδευση χωρίς επόπτη, πετυχαίνεται με την
μέθοδο ανάλυσης κύριων συνιστωσών (ΑΚΣ), (PCA: Principal Components Analysis).
Η ΑΚΣ είναι ένα μέσο με το οποίο επιτυγχάνεται ένας κατάλληλος μετασχηματισμός
ώστε ο χώρος των χαρακτηριστικών να εμφανίζει τη μεγαλύτερη δυνατή διασπορά
κατά μήκος στο μικρότερο δυνατό πλήθος αξόνων. Ειδικά με τη χρήση της ΑΚΣ ο
αρχικός χώρος των χαρακτηριστικών μετασχηματίζεται σε έναν άλλο χώρο που έχει
την ίδια διάσταση με τον αρχικό. Ωστόσο ο μετασχηματισμός έχει σχεδιαστεί ώστε
να είναι δυνατή η αντιπροσώπευση του αρχικού συνόλου των χαρακτηριστικών με
άλλα λιγότερα και αποτελεσματικότερα που διατηρούν σημαντικό μέρος της
πληροφορία των δεδομένων. Συνεπώς, με τη χρήση της ΑΚΣ επιτυγχάνεται όχι μόνο
η αύξηση της διασποράς των χαρακτηριστικών αλλά και η μείωση των διαστάσεων
και συνεπώς συμπίεση της πληροφορίας. Ο μετασχηματισμός Karhunen-Loeve
(KLT) είναι ένα γνωστό εργαλείο στην ανάλυση πολλών μεταβλητών και
χρησιμοποιείται στην ΑΚΣ.
Για ένα σύνολο Κ ανυσμάτων σε ν-διαστάσεων χώρο χαρακτηριστικών έστω ότι
xκ είναι το διάνυσμα που δείχνεται από την σχέση.
x
x
x
x
2
1
x (5.2.1)
και μx το άνυσμα μέσης τιμής των στοιχείων του συνόλου εκπαίδευσης
1
x
1][Eμ xx (5.2.2)
όπου E[.] η μαθηματική προσδοκία. Τις τιμές xκ-μx συμβολίζουμε με την
διανυσματική μεταβλητή x=xκ-μx. Ο πίνακας συνδιασποράς Cx όλων των ανυσμάτων
91
του συνόλου εκπαίδευσης δίνεται από τη σχέση (με την προϋπόθεση ότι ο μέσος όρος
είναι μηδέν).
1
1][
ΤΤ
x E xxxxC (5.2.3)
=
2ΝΝνΝ2Ν1
νΝ2νν2ν1
2Ν2ν2221
1Ν1ν1221
σ..σ..σσ
........
........
σ..σ..σσ
........
........
σ..σ..σσ
σ..σ..σσ
Κάθε διαγώνια τιμή 2νσ του πίνακα συνδιασποράς εκφράζει τη διασπορά των
ανυσμάτων xκ για τη μεταβλητή-άξονα ν, ενώ οι υπόλοιπες τη συνδιασπορά των
δεδομένων μεταξύ δύο διαφορετικών μεταβλητών-αξόνων. Είναι φανερό πως για τη
διαδικασία της ταξινόμησης είναι επιθυμητές μεγάλες τιμές των διαγωνίων τιμών 2νσ
διότι μαρτυρούν ένα μεγάλο άπλωμα (spreading) των δεδομένων κατά μήκος του κ
άξονα, ενώ είναι επιθυμητές μηδενικές τιμές για τις συνδιασπορές ώστε οι
μεταβλητές - άξονες να είναι μεταξύ τους ασυσχέτιστες. Για να επιτύχουμε αυτό
αναζητούμε ένα τέτοιο μετασχηματισμό W που θα εκφράζεται από ένα πίνακα pxp
ώστε τα διανύσματα xWy T να έχουν πίνακα συνδιασποράς Cy με την ακόλουθη
μορφή:
Νν21
Ν
ν
2
1
λ...λ...λλ ,
λ..0..00
........
........
0..λ..00
........
........
0..0..λ0
0..0..0λ
ΛCy (5.2.4)
Ακόμη ισχύει ότι
92
Cy=E[yyT]=E[WTx(WTx)T]= E[WTxxΤW]= WTE[xxΤ]W= WTCxW (5.2.5)
Είναι φανερό ότι η τιμή 2νν σ=λ είναι η διασπορά του y κατά τον ν άξονα, ο
οποίος εκφράζεται από την ν στήλη του πίνακα W. Η στήλη wν είναι
“αποτελεσματικό” χαρακτηριστικό ενώ η τιμή λν αξιολογεί τη σπουδαιότητά του. Ο
πίνακας Cx είναι συμμετρικός και ο πίνακας Λ διαγώνιος. Η σχέση WTCxW = Λ
ικανοποιείται αν w1,…,wN είναι τα ιδιο-διανύσματα του πίνακα Cx, W=[ w1,…,wN].
Οι ιδιοτιμές του Cx είναι οι τιμές λ1,…,λΝ (Παράρτημα Β). Επειδή ο πίνακας Cx είναι
συμμετρικός τα ιδιοδιανύσματα είναι κάθετα μεταξύ τους. Οι ιδιοτιμές είναι ρίζες του
χαρακτηριστικού πολυωνύμου όπως αυτό προκύπτει από την σχέση
Det(Cx-λΙ)=0 (5.2.6)
Για κάθε ιδιοτιμή λν το αντίστοιχο ιδιοδιάνυσμα wν είναι μία από τις άπειρες
λύσεις του αόριστου συστήματος (Cx-λνΙ)wν=0. Είναι σκόπιμο να επιλέγουμε τα
μοναδιαία ιδιοδιανύσματα ( 1=νw ). Σε περίπτωση που απαιτείται επιπλέον μείωση
του πλήθους Ν των ιδιοδιανυσμάτων μπορούμε να επιλέξουμε τα M από αυτά (M<N)
με τις μεγαλύτερες αντίστοιχες ιδιοτιμές, αποδεχόμενοι ένα μέσο τετραγωνικό
σφάλμα
1+Μ=ν
ν2 λ)m(ε .
ΠΑΡΑΔΕΙΓΜΑ
2
5 x,34 x,0
2 x,11 x,0
1x 54321
2,16,2
5
65
13
5/430105/54211μ
22221
1221
xσσ
σσC
64.25
2.6)-(52.6)-(42.6)-(22.6)-(12.6)-(1σ
2222221
48.15
2.6)-1.2)(5-(22.6)-1.2)(4-(32.6)-1.2)(2-(02.6)-1.2)(1-(12.6)-1.2)(1-(0
σ21
93
36.15
1.2)-(21.2)-(31.2)-(01.2)-(11.2)-(0σ
2222222
48.1 2112 σσ
1.361.48
1.482.64Cx
. πολυώνυμοτικόχαρακτηρισ είναι το που1.4λ4λ
.481λλ2.64λ1.362.641.36
1.48λ1.36λ2.64λ1.361.481.48λ2.64detIλCdet
2
22
2x
Για 01.4λ4λ2 προκύπτουν οι ρίζες λ1 = 3.61, λ2 = 0.39 που είναι οι ιδιοτιμές
του Cx. Τα αντίστοιχα ιδιοδυανύσματα w1, w2 ικανοποιούν τις σχέσεις
(Cxλ1Ι)w1=0 και (Cxλ2Ι)w2=0 .
Για το w1 θα έχουμε αναλυτικά
0w25.2w48.1
0w48.1w97.00
w
w
61.336.148.1
48.161.364.2
2111
2111
21
11
από το παραπάνω αόριστο σύστημα λύση για w11=α είναι w1=[α, α0.65]T. Ακόμη για
να ισχύει 84.65.11/11)65.1(1= 2221 w , άρα ένα
μοναδιαίο ιδιοδιάνυσμα είναι το w1=[0.84,0.55]T. Όμοια για την ιδιοτιμή λ2
προκύπτει w2=[0.55,-0.84]T. Τα διανύσματα είναι κάθετα μεταξύ τους όπως
αναμενόταν. Στο Σχ.5.2.1 φαίνεται η ορθότητα της μεθόδου.
+ x2
x5 +
w1
w2
x4+
x3 +x1 +
Σχήμα 5.2.1.
94
O KLT είναι μία αναλυτική διαδικασία για την εκτίμηση των ιδιοτιμών και των
ιδιοδιανυσμάτων από τον πίνακα συνδιασποράς των δεδομένων Cx. Ειδικά, εάν το
πλήθος των διαστάσεων του χώρου των ανυσμάτων είναι μεγάλο ο υπολογισμός και ο
χειρισμός του πίνακα Cx είναι ανέφικτος.
Για τον παραπάνω λόγο αντί του KLT χρησιμοποιούμε στο πρώτο μέρος του
ταξινομητή ένα γραμμικό νευρωνικό δίκτυο ενός επιπέδου (single-layer linear feed
forward neural net), το οποίο επιτελεί την ΑΚΣ (Σχ. 5.2.1). Το δίκτυο αυτό
εκπαιδεύεται χωρίς επόπτη (unsupervised) από τον γενικευμένο αλγόριθμο του Hebb
που βασίζεται στον κανόνα εκμάθησης του Hebb. Με τον αλγόριθμο αυτό το
νευρωνικό δίκτυο συγκλίνει με πιθανότητα ένα στα ιδιοδιανύσματα ενός πίνακα
συνδιασποράς Cx. Ο υπολογισμός του Cx δεν είναι αναγκαίος επειδή τα
ιδιοδιανύσματα προκύπτουν κατευθείαν από τα δεδομένα. Η εκπαίδευση του
νευρωνικού δικτύου γίνεται ως εξής:
Έστω ότι
– t=1,2,3,… μία μεταβλητή για τη μέτρηση της επανάληψης της διαδικασίας,
– x(t) το διάνυσμα εισόδου στο νευρωνικό δίκτυο τη χρονική στιγμή t, με
συνιστώσες xν(t), ν=0,1,…,Ν,
– Κ το πλήθος των νευρώνων (Κ Ν) που ως εκ τούτου είναι και το πλήθος των
επιθυμητών κύριων συνιστωσών,
– κ ένας δείκτης που αποδίδεται στους νευρώνες κ=1,…,Κ,
– wκν(t) η τιμή του βάρους της σύναψης που συνδέει τον κ νευρώνα με την ν είσοδο
κατά την επανάληψη t,
– WΚ x Ν(t) ο πίνακας των wκν(t) και
– y(t) το άνυσμα εξόδου του δικτύου κατά την επανάληψη t, με συνιστώσες yκ(t).
Εκτελούνται τα ακόλουθα βήματα υπολογισμών:
Βήμα 1. Αφαιρείται πρώτα το διάνυσμα μx της μέσης τιμής από κάθε στοιχείο του
συνόλου εκπαίδευσης. Με τον τρόπο αυτό οι τιμές που προκύπτουν έχουν
μηδενικό διάνυσμα μέσης τιμής.
Βήμα 2. Αποδίδονται αρχικά (t=0) στα βάρη wκν(0) των συνάψεων μικρές τυχαίες
τιμές και στην παράμετρο γ του ρυθμού εκπαίδευσης μικρή θετική τιμή (π.χ.
γ=0.007).
Βήμα 3. Υπολογίζεται το διάνυσμα εξόδου y(t) με συνιστώσες yκ(t) για ν=1,...,Ν,
κ=1,...,Κ από τη σχέση
95
1
)()()(
txtwtyk , ή y(t)=W(t) x(t) (63)
και η ποσότητα Δwκν(t) από την σχέση
)β(
)()()(
)α(
)()(yγ)(Δw1
κκν
tytwtytxtt (64)
Ο όρος (α) εκφράζει τον απλό κανόνα του Hebb, που λέει ότι εάν δύο
νευρώνες που βρίσκονται στα άκρα μιας σύναψης (σύνδεσης),
ενεργοποιούνται συγχρόνως, τότε η ισχύς της σύναψης αυξάνεται. Αλλιώς
εξασθενεί ή εκφυλίζεται. Ο όρος (β) επιβάλλει ένα όριο στην αύξηση της
σύναψης. Η τιμή του wκν(t+1) προσαρμόζεται σύμφωνα με τη σχέση
Wκν(t+1)= wκν(t)+Δwκν (5.2.7)
Βήμα 4. Αύξηση της μεταβλητής t κατά ένα και επανάληψη από το βήμα 3 έως ότου
τα βάρη των συνάψεων wκν φθάσουν στη σταθερή κατάσταση.
Μετά τη φάση της εκπαίδευσης τα βάρη wκν του κ νευρώνα συγκλίνουν στην ν
συνιστώσα του ιδιοδιανύσματος που αντιστοιχεί στην κ ιδιοτιμή του πίνακα
συνδιασποράς Cx. Με άλλα λόγια οι γραμμές του πίνακα W έχουν προσεγγίσει τα
πρώτα Κ ιδιοδιανύσματα του Cx, ταξινομημένες σε φθίνουσα σειρά.
96
ΠΑΡΑΡΤΗΜΑ Α: ΣΤΟΙΧΕΩΔΕΙΣ ΠΡΑΞΕΙΣ ΓΡΑΜΚΗΣ ΑΛΓΕΒΡΑΣ
Ο ανάστροφος πίνακα ΑΤ ενός πίνακα Α είναι ένας πίνακας που έχει ως γραμμές
τις στήλες του Α με ίδιο δείκτη. Αν ο ΑΜxN έχει Μ γραμμές και Ν στήλες, τότε ο
ΑΤNxM
θα έχει Ν γραμμές και Μ στήλες. Η ν γραμμή του ΑΤ είναι η ν στήλη του Α
και η μ γραμμή του η μ στήλη του Α. Για παράδειγμα αν
235.0211
22315.01
T3223
AA .
Πολλαπλασιασμός πινάκων. Έστω οι πίνακες ΑΝΚ και ΒΚΜ, το γινόμενό τους είναι
ένας πίνακας ΓΝΜ για τον οποίο γραφουμε Γ=AB και έχει στοιχεία Γμκ που δίνονται
από την σχέση
κμ
Κ
1κ
νκνμ
Για παράδειγμα αν
και1345.021
23 τότε5.05.01113
32
5.25.210
5.15.15.7
005
)5.0(1135.01)1(31133
)5.0(415.05.04)1(5.01435.0
)5.0(2115.02)1(11231
ΓΒΑ 33
97
ΠΑΡΑΡΤΗΜΑ Γ: ΣΤΑΤΙΣΤΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΧΩΡΟΥ ΤΩΝ
ΠΡΟΤΥΠΩΝ.
Για ένα πλήθος Κ προτύπων που περιγράφονται σε ένα χώρο με Ν διαστάσεις η
μέση τιμή μ είναι ένας πίνακας-στήλης που ορίζεται από τη σχέση
Κ
1ν
ΤΝ21
K
1κk x
Κ
1μ όπου ]μ...μ,...,μ,μ[x
K
1μ
κνκν (2.3.1)
Η μέση τιμή μ αναφέρεται και ως η μαθηματική προσδοκία Ε(x) όπου x μεταβλητή
για τους πίνακες-στήλης των προτύπων. Αν υπάρχουν λ πρότυπα που οι τιμές των
πινάκων-στήλης τους είναι ίσες, λαμβάνονται υπόψη λ φορές στο άθροισμα της (9)
και ως εκ τούτου δεν χρησιμοποιείται στον τύπο (9) η συνάρτηση συχνότητας
εμφάνισης f(x) κάθε τιμής της μεταβλητής x. Οι τιμές μν όπου ν=1…Ν ορίζουν το
μέσο διάνυσμα μ
των Κ προτύπων στο Ν-διάστατο χώρο τους. Ο πίνακας
συμμεταβλητότητας ή πίνακας συνδιασποράς Cον ορίζεται από τη σχέση
]μ-,...xμ-x,...,μ-x,μ-x[
μx
μx
μxμx
1μ)(xμ)x(
1C ΝΝκκνκ22κ11κ
1
ΝκΝ
ννκ
22κ
11κ
Τk
1
kον
1
2ΝΝκ ννκΝΝκ 22κΝΝκ 11κΝΝκ
ΝΝκλλκ ννκλλκ 22κλλκ 11κλλκ
ΝΝκ22κ ννκ22κ 2
22κ11κ22κ
ΝNκ11κννκ11κ22κ11κ 2
11κ
)μ(x)μx()μx()μx()μx()μx()μx(
)μx()μx()μx()μx()μx()μx()μx()μx(
)μx()μx()μx()μx()μ-(x)μx()μx()μx()μx()μx()μ(x)μx()μx()μ(x
1
=
σσσσ
σσσσ
σσσσσσσσ
2NΝνΝ2Ν1
λΝλνλ2λ1
2Ν2ν2221
1Ν1ν1221
= Ε( (x-μ) (x-μ)Τ ) (2.3.2)
1
ννκλλκλν )μx()μx(1
σόπου
98
Η ποσότητα σν2 είναι η μεταβλητότητα ή διασπορά (variance) των μετρήσεων του ν-
οστού χαρακτηριστικού των προτύπων. Η ποσότητα σλν=σνλ λέγεται
συμμεταβλητότητα ή συνδιασπορά των τιμών των λ και ν χαρακτηριστικών των
προτύπων και χρησιμοποιείται για τον υπολογισμό του συντελεστή συσχέτισης Pλν
δύο χαρακτηριστικών μ,ν σύμφωνα με τη σχέση
νλ
λνλν σσ
σ
(2.3.3)
Η ποσότητα 2νν σσ λέγεται τυπική απόκλιση. Οι παραπάνω ποσότητες
χρησιμοποιούνται για την αξιολόγηση και ανάλυση των μετρούμενων
χαρακτηριστικών.
ΠΑΡΑΡΤΗΜΑ Γ:ΤΑ ΙΔΙΟΔΙΑΝΥΣΜΑΤΑ ΤΟΥ ΠΙΝΑΚΑ ΣΥΝΔΙΑΣΠΟΡΑΣ
Σε ένα συμμετρικό πίνακα NXNC , CC T , με ιδιοτιμές ,, και
αντίστοιχα μοναδιαία ιδιοδιανύσματα ww ισχύει ότι 0T ww . Δηλαδή τα
ιδιοδιανύσματα είναι κάθετα μεταξύ τους.
Απόδειξη: Επειδή , ιδιοτιμές και ww , ιδιοδιανύσματα ισχύουν οι σχέσεις
(B)
(A)
wwwwwCw
wwwwwCw
wwC
wwC
TTT
TTT
TTT wCwwCw (Γ)
Υπενθυμίζεται ότι (ΑΒ)Τ=ΒΤΑΤ. Από τις σχέσεις (Α), (Β), (Γ) συνεπάγεται
0TTT wwwwww
επειδή έπεται ότι 0TT wwww .
Από τα προηγούμενα συνεπάγεται ότι για τον πίνακα N21 ,,, wwwW
ισχύει ότι
I
ww
ww
ww
www
w
w
w
WW
10
010
001
00
00
00
,,, 22
11
212
1
NTN
T
T
N
TN
T
T
T
99
Άρα αντίστροφος του W είναι ο T1 WW . Για τα ιδιοδιανύσματα του C ισχύει εξ’ ορισμού ότι
ΛWwwwwC
wwC
wwC
wwC
N
2
1
N1N1
NNN
222
111
00
00
00
,,,,
όπου
N
2
1
00
00
00
Λ
Αφού ΛWCWΛΛIΛWWWCWΛWWC T11 .
ΠΑΡΑΡΤΗΜΑ Δ: ΕΝΤΟΛΕΣ MATLAB & TOOLBOX
Α) Δημιουργία, εκπαίδευση και προσομοίωση ενός νευρωνικού δικτύου perceptron με το γραφικό περιβάλλον του Neural Network Toolbox του λογισμικού Matlab Το Matlab δίνει την δυνατότητα στον χρήστη
να δημιουργήσει ένα νευρωνικό δίκτυο με την χρήση γραφικού περιβάλλοντος, χωρίς να χρειάζεται να γνωρίζει τις εντολές της βιβλιοθήκης. Το περιβάλλον αυτό γίνεται ενεργό με την εντολή nntool στο Command Window. Γράφοντας nntool ανοίγει το παράθυρο ( Σχήμα 1):
100
Σχήμα 1
Το παράθυρο αυτό ονομάζεται Network/Data Manager. Αποτελεί ένα χώρο εργασίας ξεχωριστό από αυτό του Command Window. Επιτρέπει την εισαγωγή και την εξαγωγή δεδομένων από και προς το workspace και τον σκληρό δίσκο. Κυρίως όμως επιτρέπει την δημιουργία ενός νευρωνικού δικτύου, την εκπαίδευση του και την εμφάνιση της τοπολογίας του. Η λειτουργία του είναι απλή και φιλική προς τον χρήστη.
Εισαγωγή δεδομένων εισόδου και εξόδου. Προκειμένου να εισάγουμε το σύνολο εκπαίδευσης του νευρωνικού πατάμε
το κουμπί New Data… Ανοίγει ένα νέο παράθυρο, το Create New Data όπως φαίνεται στο σχήμα 2
101
Σχήμα 2
Στο παράθυρο αυτό μπορούμε να ορίσουμε το όνομα του πίνακα εισόδου και τα στοιχεία του. Έστω ότι θέλουμε να υλοποιήσουμε ένα νευρωνικό δίκτυο το οποίο να επιλύει την λογική πύλη AND. Το παράθυρο του σχήματος 2 θα έχει την μορφή (Σχήμα 3):
Σχήμα 3
Και πατάμε το κουμπί Create. Παρόμοια διαδικασία ακολουθούμε και για τον ορισμό του πίνακα εξόδου του δικτύου, επιλέγοντας αυτή την φορά Data Type Targets (Σχήμα 4):
102
Σχήμα 4
Στο σημείο αυτό βλέπουμε ότι ο πίνακας εισόδου του νευρωνικού δικτύου
ορίζεται διαφορετικά απ’ ότι σε ένα M-file. Οι τιμές των χαρακτηριστικών βρίσκονται όλες στον ίδιο πίνακα. Ο πίνακας εισόδου είναι ένας μxν πίνακας όπου μ το πλήθος των χαρακτηριστικών και ν το πλήθος των προτύπων εισόδου.
Στον Network/Data Manager βλέπουμε τα στοιχεία που δημιουργήθηκαν. Με τον τρόπο αυτό δημιουργήσαμε τις μεταβλητές μέσα στο περιβάλλον του nntool. Ωστόσο μας δίνεται η δυνατότητα να εισάγουμε δεδομένα τόσο από το workspace του Matlab όσο και από τον σκληρό δίσκο. Αυτό γίνεται με το κουμπί Import του Manager. Πιέζοντας το Import εμφανίζεται το παράθυρο(Σχήμα 5):
Σχήμα 5
που επιτρέπει την εισαγωγή στοιχείων από το workspace ή από αρχείο.
103
Δημιουργία του νευρωνικού δικτύου Έχοντας τα σύνολο εξόδου, προχωράμε στην δημιουργία του νευρωνικού.
Πιέζοντας το πλήκτρο New Network του Manager εμφανίζεται το παράθυρο Create New Network (Σχήμα 6):
Σχήμα 6
Στο πρώτο πλαίσιο δίνουμε το όνομα που θέλουμε να έχει το νευρωνικό μας (π.χ. and_net). Στο δεύτερο πλαίσιο ορίζεται ο τύπος του νευρωνικού, δηλαδή perceptron. Το παράθυρο του σχήματος 6 παίρνει την μορφή:
Σχήμα 7
104
Στο πλαίσιο με την ένδειξη “Input Ranges” καθορίζουμε το εύρος τιμών του
πίνακα εισόδου. Αυτό γίνεται και αυτόματα αν διαλέξουμε τον πίνακα από την λίστα “Get from input”. Στο επόμενο πλαίσιο καθορίζουμε το πλήθος των νευρώνων που επιθυμούμε. Ακολουθεί ο καθορισμός της συνάρτησης μεταφοράς. Για τα νευρωνικά δίκτυα perceptron οι επιλογές της συνάρτησης μεταφοράς είναι δύο: η hardlim (βηματική συνάρτηση) ή haldlims (συνάρτηση πρόσημου). Στο τελευταίο πλαίσιο του παράθυρου καθορίζουμε την συνάρτηση ενημέρωσης των βαρών (learnp ή learnpn). Το παράθυρο παίρνει την μορφή:
Σχήμα 8
Και πατάμε το κουμπί Create. Το δίκτυο and_net εμφανίζεται στο παράθυρο του Network/Data Manager.Με επιλεγμένο το νευρωνικό, μπορούμε να δούμε και την τοπολογία του με την χρήση του κουμπιού View. Το αποτέλεσμα φαίνεται στο σχήμα 9:
105
Σχήμα 9
Το νευρωνικό είναι έτοιμο για εκπαίδευση.
Εκπαίδευση νευρωνικού δικτύου Έχοντας επιλεγμένο το νευρωνικό που έχει δημιουργηθεί, πατάμε το κουμπί
Train. Αυτό οδηγεί σε ένα νέο παράθυρο με τίτλο Network: and_net. Στην καρτέλα (Training Info) αυτή επιλέγουμε το σύνολο εκπαίδευσης που θα χρησιμοποιηθεί για την εκπαίδευση του νευρωνικού (Σχήμα 10). Η διπλανή καρτέλα (Training Parameters) καθορίζει τις επιμέρους παραμέτρους εκπαίδευσης(Σχήμα 11). Οι παράμετροι αυτοί μπορούν να μεταβληθούν.
Σχήμα 10
106
Σχήμα 11
Με το πάτημα του Train Network ξεκινά η εκπαίδευση του δικτύου με βάση
τις παραμέτρους που έχουν ορισθεί. Το αποτέλεσμα είναι η εμφάνιση της καμπύλης απόδοσης (Σχήμα 12).
Σχήμα 12
107
Το γραφικό περιβάλλον του nntool, δίνει την δυνατότητα στον χρήστη να δει πως έχουν διαμορφωθεί τα βάρη μετά την εκπαίδευση. Οι τιμές των βαρών βρίσκονται στην καρτέλα Weights (Σχήμα 13)του παράθυρου Network: xor_net. Εκεί επιλέγουμε τα βάρη του επιπέδου που επιθυμούμε να δούμε.
Σχήμα 13
Στο σημείο αυτό μπορούμε να δούμε την έξοδο που παρήγαγε το νευρωνικό,
επιστρέφοντας στο παράθυρο του manager, επιλέγοντας τη μεταβλητή and_net_outputs και πατώντας View. Με τον ίδιο τρόπο βλέπουμε και την διαφορά ανάμεσα στην επιθυμητή και την πραγματική έξοδο(μεταβλητή and_net_errors). Αν το νευρωνικό εκπαιδεύτηκε σωστά, η έξοδος θα είναι ίδια με την επιθυμητή έξοδο και το σφάλμα θα είναι παντού 0. Το νευρωνικό είναι έτοιμο για ταξινόμηση προτύπων. Η προσομοίωση της ταξινόμησης αυτής γίνεται με το κουμπί Simulate. Στην καρτέλα που εμφανίζεται επιλέγουμε τον πίνακα εισόδου p ή όποιον άλλο πίνακα έχουμε δημιουργήσει και θέλουμε να προσομοιώσουμε και καθορίζουμε την έξοδο and_net_outputsSim.
108
Σχήμα 14
Η έξοδος αυτή εμφανίζεται στο παράθυρο του manager και μπορούμε να τη
δούμε με το View.
Σχήμα 15
109
Όλα τα δεδομένα και το δίκτυο μπορούν να αποθηκευτούν στο σκληρό
δίσκο ή να εξαχθούν στο workspace. Αυτό κάνει το κουμπί Export… που δίνει την δυνατότητα να επιλέξουμε τι θα σώσουμε και που, όπως φαίνεται στο σχήμα 16.
Σχήμα 16
Το δίκτυο που έχει σωθεί μπορεί να εισαχθεί ξανά στο nntool με το Import… για επεξεργασία, εκπαίδευση, προσομοίωση κ.τ.λ. Μειονέκτημα του nntool αποτελεί το ότι μετά την δημιουργία του νευρωνικού δικτύου, δεν μπορούμε να μεταβάλουμε την τοπολογία του. Πρέπει να δημιουργήσουμε ένα νέο δίκτυο από την αρχή.
Το nntool επιτρέπει και την αρχικοποίηση των βαρών του δικτύου με την
καρτέλα Initialize έτσι ώστε το νευρωνικό να εκπαιδευτεί από την αρχή
110
Σχήμα 17
111
Β) Δημιουργία εκπαίδευση και προσομοίωση ενός απλού perceptron με το λογισμικό Matlab.
Η βιβλιοθήκη Neural Network του λογισμικού Matlab επιτρέπει την
δημιουργία, εκπαίδευση και προσομοίωση ενός νευρωνικού δικτύου perceptron με λίγες γραμμές κώδικα. Στις παρακάτω παραγράφους περιγράφεται η διαδικασία δημιουργίας ενός perceptron.
Εισαγωγή του συνόλου εκπαίδευσης(training set)
Το νευρωνικό δίκτυο perceptron εκπαιδεύεται με την μέθοδο
εκπαίδευσης με επόπτη. Στην περίπτωση εκπαίδευσης με επόπτη, δίνεται στο δίκτυο το λεγόμενο σύνολο εκμάθησης, ζεύγη δηλαδή από πίνακες εισόδου και αντίστοιχους πίνακες επιθυμητών εξόδων. Πριν ξεκινήσει η διαδικασία της δημιουργίας και εκπαίδευσης ενός νευρωνικού δικτύου perceptron είναι απαραίτητο να οριστεί το κατάλληλο σύνολο εκμάθησης. Στο matlab τα επιλεγμένα ζεύγη τιμών ορίζονται σε πίνακες. Τα πρότυπα εισόδου εισέρχονται στο νευρωνικό ένα κάθε φορά. Μετά την είσοδο του προτύπου τα βάρη προσαρμόζονται ανάλογα με τον κανόνα εκμάθησης. Ο πίνακας εισόδου του δικτύου αποτελείται από κ επιμέρους πίνακες, όπου κ το πλήθος των προτύπων. Οι πίνακες αυτοί είναι τις μορφής μx1, όπου μ το πλήθος των χαρακτηριστικών του προτύπου, (άρα και το πλήθος των εισόδων του νευρωνικού). Ο πίνακας εξόδου του νευρωνικού είναι ένας νxκ πίνακας, όπου ν το πλήθος των νευρώνων εξόδου και κ το πλήθος των προτύπων. Ο πίνακας εξόδου αποτελείται από 0 και 1, λόγω της χρήσης της βηματικής συνάρτησης.
Απλό παράδειγμα γραμμικού προβλήματος ταξινόμησης αποτελεί η πύλη AND με πίνακα αληθείας:
112
Α Β Y
0 0 0
0 1 0
1 0 0
1 1 1
Στην περίπτωση της πύλης AND ο πίνακας εισόδου του νευρωνικού είναι ο:
p=[ [0;0] [0;1] [1;0] [1;1]]; και ο πίνακας εξόδου:
t=[0 0 0 1];
ΔΗΜΙΟΥΡΓΙΑ ΤΟΠΟΛΟΓΙΑΣ ΤΟΥ ΝΕΥΡΩΝΙΚΟΥ ΔΙΚΤΥΟΥ PERCEPTRON.
Η εντολή δημιουργίας ενός νευρωνικού δικτύου perceptron ενός
επιπέδου νευρώνων είναι η εντολή newp, η οποία συντάσσεται
net = newp(PR,S,TF,LF) όπου
PR : ένας πίνακας Rx2. R είναι το πλήθος των χαρακτηριστικών ενός προτύπου (πλήθος αξόνων). Η πρώτη στήλη του PR είναι η ελάχιστη και η δεύτερη στήλη η μέγιστη τιμή κάθε χαρακτηριστικού. Έμμεσα με τον τρόπο αυτό καθορίζεται και το πλήθος των εισόδων που θα δέχεται το δίκτυο. Εναλλακτικά μπορεί να χρησιμοποιηθεί η εντολή minmax(όνομα πίνακα εισόδου)
S : το πλήθος των νευρώνων του δικτύου TF : η συνάρτηση μεταφοράς των νευρώνων. Στα νευρωνικά
δίκτυα perceptron χρησιμοποιείται είτε η hardlim (βηματική
113
συνάρτηση) είτε η hardlims (συνάρτηση πρόσημου). Προκαθορισμένη συνάρτηση μεταφοράς είναι η hardlim.
LF : η συνάρτηση ενημέρωσης των βαρών των συνάψεων. Στην περίπτωση του perceptron δύο είναι η συναρτήσεις ενημέρωσης βαρών: η learnp, που εφαρμόζει τον απλό κανόνα δέλτα, και η learnpn , που εφαρμόζει τον κανονικοποιημένο κανόνα δέλτα. Η προκαθορισμένη συνάρτηση είναι η learnp.
Παράδειγμα δημιουργίας ενός perceptron Με την εντολή
net=newp([0 2],1); δημιουργείται ένας perceptron που δέχεται στην είσοδο τις τιμές ενός
χαρακτηριστικού για κάθε άνυσμα του συνόλου εκπαίδευσης. Το εύρος τιμών της εισόδου είναι από 0-2. Το ένα και μοναδικό επίπεδο του δικτύου αποτελείται από 1 νευρώνα. Η συνάρτηση μεταφοράς που χρησιμοποιείται είναι η hardlim (που δεν χρειάζεται να οριστεί καθώς είναι προκαθορισμένη). Η συνάρτηση ενημέρωσης των βαρών είναι η learnp. Πληκτρολογώντας στο παράθυρο εντολών του matlab ‘net’ εμφανίζονται πληροφορίες σχετικά με το δίκτυο που δημιουργήθηκε. Παρόμοια μπορούμε να δούμε πληροφορίες για τα βάρη των συνάψεων και τα biases του νευρωνικού δικτύου πληκτρολογώντας
inputweights=net.inputweights{1,1} Η εντολή αυτή εμφανίζει πληροφορίες σχετικά με τα βάρη από το
επίπεδο εισόδου προς το 1Ο επίπεδο του δικτύου. biases=net.biases{1} που εμφανίζει τα biases του πρώτου επιπέδου.
Εκπαίδευση ενός νευρωνικού δικτύου perceptron Η εκπαίδευση ενός perceptron μπορεί να γίνει με την χρήση δυο
εντολών : της train και της adapt. Κάθε μία από της εντολές αυτές εκτελεί και
114
ένα διαφορετικό αλγόριθμο εκπαίδευσης. Παρακάτω περιγράφεται η σύνταξη των εντολών και η λειτουργία τους.
Εντολή εκπαίδευσης train. Η εντολή train είναι η πλέον διαδεδομένη εντολή εκπαίδευσης
νευρωνικών δικτύων. Η train συντάσσεται ως εξής:
net=train(net,p,t); όπου net : το object net που έχει δημιουργηθεί p : ο πίνακας εισόδου του δικτύου. t : ο πίνακας των επιθυμητών εξόδων.
Η εντολή train συνδέεται με επιμέρους παραμέτρους που αφορούν την
εκπαίδευση. Οι παράμετροι αυτοί είναι οι: epochs :(εποχές) ο αριθμός των εποχών ,που δηλώνει πόσες
φορές θα εισαχθεί το σύνολο εκμάθησης στο δίκτυο. Η εκπαίδευση σταματά όταν οι επαναλήψεις φτάσουν στον μέγιστο αριθμό των εποχών.
show : δηλώνει κάθε πόσες εποχές θα εμφανίζεται η κατάσταση της εκπαίδευσης.
goal :η επιδιωκόμενη ελάχιστη τιμή σφάλματος στην οποία η εκπαίδευση σταματά.
time : το όριο χρόνου εκπαίδευσης σε sec. Η εκπαίδευση σταματά αν ο χρόνος ξεπεράσει το όριο που δίνουμε. Συνήθως χρησιμοποιείται η προκαθορισμένη τιμή inf (άπειρο).
115
Οι παράμετροι αυτοί καθορίζονται πριν ξεκινήσει η εκπαίδευση του νευρωνικού. Για τον καθορισμό της τιμής των παραμέτρων χρησιμοποιείται η εντολή
net.trainParam.όνομα παραμέτρου= επιθυμητή τιμή παραμέτρου;
Για παράδειγμα, net.trainParam.epochs=1000;
Με την χρήση της train χρησιμοποιείται η συνάρτηση εκπαίδευσης trains. Η συνάρτηση αυτή καθορίζει τον τρόπο που γίνεται η εισαγωγή των προτύπων εισόδου και η προσαρμογή των βαρών. Με την trains τα πρότυπα εισέρχονται στο δίκτυο ένα κάθε φορά και τα βάρη προσαρμόζονται μετά την παρουσίαση του κάθε προτύπου. Η χρήση της trains γίνεται εμφανής με την εκτέλεση της εντολής στον Command Window
net.adaptFcn Έχοντας καθορίσει τις τιμές των παραμέτρων καλείται η train για να
αρχίσει η εκπαίδευση του νευρωνικού. Εντολή εκπαίδευσης adapt. Η άλλη εντολή με την οποία εκπαιδεύεται ένα νευρωνικό δίκτυο είναι η
adapt. Η σύνταξη της adapt είναι η ακόλουθη:
[net,y,e,tr] = adapt(net,p,t);
όπου : net : το object net που έχει δημιουργηθεί p : ο πίνακας εισόδου του δικτύου. t : ο πίνακας των επιθυμητών εξόδων. y: ο παραγόμενος πίνακας εξόδου e: ο πίνακας σφάλματος tr : εγγραφή που περιέχει πληροφορίες σχετικές με την εξέλιξη της εκπαίδευσης.
116
Η εντολή adapt συνδέεται με την παράμετρο passes που καθορίζει τις επαναλήψεις εισαγωγής του συνόλου εκπαίδευσης. Ο καθορισμός της τιμής της παραμέτρου γίνεται ως εξής:
net.adaptParam.passes=πλήθος_επαναλήψεων;
Με την εντολή adapt τα πρότυπα εισόδου παρουσιάζονται ένα κάθε
φορά και οι διορθώσεις των βαρών βασίζονται σε κάθε παρουσίαση προτύπου. Η χρήση της adapt εξασφαλίζει ότι κάθε γραμμικό πρόβλημα θα λυθεί σε πεπερασμένο χρονικό διάστημα. Σε αντίθεση με την train που χρησιμοποιείται σε όλα τα είδη νευρωνικών δικτύων, η adapt χρησιμοποιείται μόνο στους perceptron και στα γραμμικά φίλτρα.
Προσομοίωση ενός νευρωνικού δικτύου Perceptron. Εντολή προσομοίωσης sim Η sim είναι εντολή προσομοίωσης του νευρωνικού δικτύου και
εμφανίζει τις τιμές εξόδου του δικτύου. Συντάσσεται ως εξής:
a=sim(net,p)
όπου a : ο πίνακας εξόδου του δικτύου. p : ο πίνακας εισόδου του δικτύου. net : το δίκτυο μετά την προσαρμογή των βαρών.
Η sim χρησιμοποιείται μόνο στην περίπτωση που το δίκτυο εκπαιδεύεται με την εντολή train. Η εντολή adapt, όπως φαίνεται και από την σύνταξή της, δίνει αυτόματα τα αποτελέσματα εξόδου και το σφάλμα.
Αρχικοποίηση ενός νευρωνικού δικτύου perceptron.
117
Εντολή αρχικοποίησης init. Όταν δημιουργείται ένα νευρωνικό δίκτυο perceptron οι τιμές των
βαρών των συνάψεων και των bias unit έχουν την τιμή 0. Αυτό γίνεται γιατί η συνάρτηση αρχικοποίησης είναι η ‘initzero’, κάτι που φαίνεται εκτελώντας την εντολή:
inputweights=net.inputweights{1,1} Μετά την εκπαίδευση οι τιμές των βαρών μεταβάλλονται, όπως είναι
κατανοητό. Υπάρχει όμως η περίπτωση να χρειαστεί να αρχικοποιήσουμε ξανά το δίκτυο, όπως όταν θέλουμε να το εκπαιδεύσουμε από την αρχή. Η εντολή αρχικοποίησης είναι η init, η οποία συντάσσεται:
net=init(net);
Με τον τρόπο αυτό τα βάρη λαμβάνουν και πάλι την τιμή 0 και το δίκτυο
είναι έτοιμο για επεξεργασία. Με την εντολή init μπορούμε να αλλάξουμε και την συνάρτηση αρχικοποίησης ενός επιπέδου βαρών. Για παράδειγμα με την ακολουθία εντολών :
net.inputweights{1,1}.initFcn=’rands’; net.biases{1}.initFcn=’rands’; net=init(net);
τα βάρη λαμβάνουν τυχαίες τιμές. Αρχικοποίηση από τον χρήστη. Πέρα από την τυχαία αρχικοποίηση των βαρών με την init, ο χρήστης
μπορεί να δώσει ο ίδιος τις τιμές των βαρών από τις οποίες θα ξεκινά η εκπαίδευση. Στην περίπτωση αυτή ο χρήστης πρέπει να γνωρίζει ακριβώς το πλήθος των συνάψεων. Οι τιμές των βαρών των συνάψεων δίνονται με την
118
μορφή πίνακα. Στην περίπτωση για παράδειγμα ενός νευρωνικού με έναν νευρώνα που δέχεται τρεις εισόδους η αρχικοποίηση γίνεται:
net.IW{1,1}=[4,5,6]; net.b{1}=2; Με τον τρόπο αυτό οι συνάψεις ανάμεσα στους νευρώνες του επίπεδου
εισόδου και στον ένα νευρώνα εξόδου έχουν τις τιμές (IW{1,1}) έχουν αντίστοιχα τις τιμές 4, 5 και 6, ενώ η σύναψη της bias unit (b{1}) έχει την τιμή 2. Η τεχνική αυτή είναι εύκολο να πραγματοποιηθεί σε μικρά νευρωνικά δίκτυα.
Παράδειγμα δημιουργίας ενός perceptron που επιλύει την πύλη AND Σε ένα M-file γράφουμε τον κώδικα : %ΠΡΟΓΡΑΜΜΑ ΔΗΜΙΟΥΡΓΙΑΣ ΕΝΟΣ ΝΕΥΡΩΝΙΚΟΥ ΔΙΚΤΥΟΥ %PERCEPTRON ΠΟΥ %ΥΛΟΠΟΙΕΙ ΤΗΝ ΠΥΛΗ AND % ΟΡΙΣΜΟΣ ΤΟΥ ΠΙΝΑΚΑ ΕΙΣΟΔΟΥ p=[[0;0] [0;1] [1;0] [1;1]]; % ΟΡΙΣΜΟΣ ΤΟΥ ΠΙΝΑΚΑ ΕΠΙΘΥΜΗΤΗΣ ΕΞΟΔΟΥ t=[ 0 0 0 1]; %ΔΗΜΙΟΥΡΓΙΑ ΝΕΥΡΩΝΙΚΟΥ ΔΙΚΤΥΟΥ PERCEPTRON %TO ΝΕΥΡΩΝΙΚΟ ΑΠΟΤΕΛΕΙΤΑΙ ΑΠΟ 1 ΝΕΥΡΩΝΑ. Η ΣΥΝΑΡΤΗΣΗ %ΕΝΗΜΕΡΩΣΗΣ ΤΩΝ ΒΑΡΩΝ ΕΙΝΑΙ Η LEARNP net=newp(minmax(p),1,'hardlim','learnp'); % ΚΑΘΟΡΙΣΜΟΣ ΤΩΝ ΠΑΡΑΜΕΤΡΩΝ ΕΚΠΑΙΔΕΥΣΗΣ net.trainParam.epoches=20; % ΕΚΠΑΙΔΕΥΣΗ ΔΙΚΤΥΟΥ net=train(net,p,t); % ΠΡΟΣΟΜΟΙΩΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΜΕΝΟΥ ΔΙΚΤΥΟΥ a=sim(net,p)
Μετά την εκτέλεση του προγράμματος στην οθόνη του υπολογιστή
εμφανίζεται το παράθυρο του σχήματος 1.
119
Σχήμα 18
Στο παράθυρο αυτό εμφανίζεται η εξέλιξη της εκπαίδευσης. Η καμπύλη
εμφανίζει την μορφή της συνάρτησης απόδοσης κατά την εκπαίδευση. Το νευρωνικό δίκτυο χρειάστηκε 6 εποχές, δηλαδή 6 επαναλήψεις εισαγωγής του συνόλου εκμάθησης μέχρι να εκπαιδευτεί.
Στο παράθυρο του Command Window του Matlab (Σχήμα 2) εμφανίζεται η συνάρτηση εκπαίδευσης (η TRAINC), οι εποχές και ο πίνακας παραγόμενης εξόδου του νευρωνικού (a) :
120
Σχήμα 19
ενώ στο παράθυρο του Workspace (Σχήμα 3) εμφανίζονται οι μεταβλητές που δημιουργήθηκαν:
Σχήμα 20
Στο παράθυρο βλέπουμε τον πίνακα εισόδου (p), τον πίνακα
επιθυμητής εξόδου (t), τον πίνακα πραγματικής εξόδου (α) και το αντικείμενο net. Μπορούμε να δούμε το μέγεθός τους και τον τύπο δεδομένων που ανήκουν. Στο παράθυρο βλέπουμε και το αντικείμενο net, που δεν είναι τίποτα άλλο από το δίκτυο που έχουμε δημιουργήσει. Γράφοντας στο Command Window του Matlab net, εμφανίζονται οι ιδιότητες του νευρωνικού όπως φαίνεται στο παρακάτω σχήμα. Στο παράθυρο αυτό φαίνονται οι είσοδοι και οι έξοδοι του νευρωνικού, η τοπολογία του δικτύου, οι παράμετροι εκπαίδευσης
121
και οι συναρτήσεις που χρησιμοποιούνται στα διάφορα στάδια της διαδικασίας.
122
Σχήμα 21
Μπορούμε να δούμε και τις τιμές που έχουν πάρει τα βάρη μετά την
εκπαίδευση με την εντολή: net.IW{1,1} net.b{1} όπως φαίνεται στο σχήμα 5:
123
Σχήμα 22
Το εκπαιδευμένο δίκτυο μπορεί να αποθηκευτεί στον σκληρό δίσκο του
υπολογιστή και να ανακαλεστεί κάθε φορά που χρειάζεται. Η εντολή αποθήκευσης ενός νευρωνικού δικτύου είναι η:
save networks_name net;
Για παράδειγμα: save and_network net Με την εντολή αυτή αποθηκεύουμε ολόκληρο το δίκτυο με τις
παραμέτρους που έχει αποκτήσει μετά την εκπαίδευση του. Όταν θέλουμε να καλέσουμε το νευρωνικό προκειμένου να επιτελέσει κάποια εργασία, γράφουμε την εντολή
load networks_name
Για παράδειγμα: load and_network
Top Related