Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων υπολογίζονται οι ποσότητες όπου w ο πίνακας των συντελεστών των γραµµικών διακριτικών συναρτήσεων και ο πίνακας προτύπου που θεωρείται ως είσοδος στον κόµβο (Σχήµα - ) w w ν w w ν w N Ν Σχήµα - Σ Όπως φαίνεται στο σχήµα οι συντελεστές w ν σηµειώνονται επί των γραµµών που οδηγούν από τις εισόδους ν στον κόµβο και ονοµάζονται συνάψεις Ένας τέτοιος κόµβος ονοµάζεται νευρώνας λόγω µιας οµοιότητας του µε τα οµώνυµα βιολογικά κύτταρα του ανθρώπινου εγκεφάλου Συστήµατα διασυνδεδεµένων νευρώνων συνθέτουν τα λεγόµενα τεχνητά νευρωνικά δίκτυα (ΤΝ ), (rtificial Neural Networks) ιάφοροι τύποι νευρωνικών δικτύων επιτελούν χρήσιµες εργασίες στην αναγνώριση προτύπων Προς το παρόν θα ασχοληθούµε µε νευρωνικά δίκτυα που περιγράφουν γραµµικούς ταξινοµητές Ένα τέτοιο γραµµικό νευρωνικό δίκτυο ονοµάζεται perceptron Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -7 Τµήµα πληροφορικής & Επικοινωνιών
Εκπαίδευση γραµµικών ταξινοµητών δυο κλάσεων Η εκπαίδευση γραµµικών ταξινοµητών ή γραµµικών νευρωνικών δικτύων Perceptron είναι µια επαναληπτική διαδικασία διόρθωσης σφάλµατος Για την απλούστερη µαθηµατική διατύπωση του µηχανισµού διόρθωσης θα θεωρήσουµε τους επαυξηµένους πίνακες των προτύπων Αν δηλαδή ο χώρος N των πινάκων των Προτύπων έχει Ν διαστάσεις (E ) οι σχέσεις θα γραφούν στον χώρο εξής: N E + που έχει Ν+ διαστάσεις Η διαδικασία εν συντοµία έχει ως Αν Α και Β οι δυο κλάσεις επιλέγουµε τυχαία ένα πρότυπο µε πίνακα από την Α τάξη και ένα πρότυπο µε πίνακα από την Β τάξη Ακολούθως φέρουµε το µεσοκάθετο υπερ-επιπέδου στο ευθύγραµµο τµήµα µε άκρα τα άκρα των r και r Το µεσοκάθετο υπερ-επιπέδου είναι το ενδιάµεσο σηµείο αν, E, η µεσοκάθετος ευθεία αν, E, το µεσοκάθετο υπερ- επιπέδου αν, E, και η µεσοκάθετος υπερ-επιπέδου αν, E N, N > Αν η εξίσωση του µεσοκάθετου υπερ-επιπέδου στο () w + 0 w N + µπορεί να γραφεί στο N E + () ~ W 0 οπου W [ w, w ] και ~ [,] ως N+ N E είναι Θεωρούµε τώρα την ποσότητα D( X) όπου [, W X X ] N+ E N+ Η σχέση D( X) 0 περιγράφει ένα υπερεπίπεδο που διέρχεται από το κέντρο των αξόνων του και τέµνει το επίπεδο των επαυξηµένων πινάκων των προτύπων στο µεσοκάθετο υπερεπίπεδο τους ισχύει N E + N E D( ~ ) > 0, τότε θα ισχύει D( ~ ) < 0 και αντίστροφα σύµφωνα µε την () ν Η βασική ιδέα της εκµάθησης είναι η διόρθωση του υπερεπιπέδου D( X) 0 του Ε Ν+, κάθε φορά που ταξινοµείται εσφαλµένα κάποιο πρότυπο µε πίνακα ~ ηλαδή, οι πίνακες των πρότυπων της κλάσης Α πρέπει να Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -8 Τµήµα πληροφορικής & Επικοινωνιών
καθιστούν το πρόσηµο της D(X) ίδιο µε αυτό της ποσότητας D( ~ ) Αντίστοιχα πρέπει να συµβαίνει µε τους πίνακες των προτύπων της κλάσης Β Όταν δεν συµβαίνει αυτό, σηµαίνει ότι το υπερεπιπεδο πρέπει να διορθωθεί ώστε να αφήνει το πρότυπο προς την πλευρά των ορθώς ταξινοµηµένων προτύπων Η διόρθωση αυτή γίνεται σύµφωνα µε την σχέση () W W ± ρ ~ t+ t Η ποσότητα ρ λέγεται παράµετρος εκµάθησης και παίρνει τιµές στο διάστηµα (0,) και t είναι µετρητής επανάληψης της διαδικασίας εκµάθησης Το πρόσηµο στην () είναι αυτό της κλάσης του προτύπου όπως αυτό προσδιορίσθηκε από την ποσότητα D( ~ ) Τα παραπάνω παρουσιάζονται ακολούθως βηµατικά Βήµα ο : Επιλέγουµε τυχαία ένα πρότυπο από την κλάση µε πίνακα Α και ένα από την κλάση Β µε πίνακα Β, µε Α, Β Ε Ν Βήµα ο : Φέρουµε το µεσοκάθετο υπερεπίπεδο στο ευθύγραµµο τµήµα µε άκρα τα σηµεία Α, Β σύµφωνα µε τις σχέσεις () Βήµα ο : Ορίζουµε ένα µετρητή επανάληψης t0,,,, και του αποδίδουµε αρχικά την τιµή µηδέν Θεωρούµε την ποσότητα () D t (X)W X όπου W[w, w N+ ], X Ε Ν+ Βήµα ο : Υπολογίζουµε την ποσότητα D t ( ~ ) και βρίσκουµε το πρόσηµο κάθε κλάσης που θα είναι Πρόσηµο κλάσης Πρόσηµο Α κλάσης Β D 0 ( ~ ) > (+) (-) 0 D 0 ( ~ ) < (-) (+) 0 Βήµα ο : Επιλέγουµε ένα τυχαίο πρότυπο Π µε πίνακα ~, από το σύνολο εκπαίδευσης και υπολογίζουµε την ποσότητα D t ( ~ ) Αν το πρόσηµο της είναι ίδιο µε το πρόσηµο της κλάσης του Π το πρότυπο έχει ταξινοµηθεί σωστά και W t+ W t, αλλιώς ο W t+ διορθώνεται σύµφωνα µε την σχέση Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -9 Τµήµα πληροφορικής & Επικοινωνιών
() W t+ W t ±ρ ~ (7) µε πρόσηµο το πρόσηµο της κλάσης του Π Βήµα 6 ο : Αυξάνεται η τιµή του t κατά ένα και η διαδικασία επαναλαµβάνεται από το βήµα έως ότου όλα τα πρότυπα να ταξινοµηθούν σωστά ΠΑΡΑ ΕΙΓΜΑ Έστω τα πρότυπα µε ένα χαρακτηριστικό ( []) που χωρίζονται σε δύο κλάσεις Α, Β και µε τιµές [], [08], [ ] [], [], [8], 6 7 [] Οι πίνακες των προτύπων ανήκουν στο χώρο Ε και απεικονίζονται στην ευθεία των πραγµατικών αριθµών όπως φαίνεται στο Σχ - M - 0 + + + 6 7 Σχήµα - Επιλέγουµε τυχαία ένα πρότυπο από κάθε κλάση, έστω τα και Το ενδιάµεσο σηµείο M των και, θα ικανοποιεί τις σχέσεις () και θα ισχύει (6) w w ' Αρα m w + w - ( - 0, w [w ] E [-]-[] [-] w M - + 0 m ) - ([ ][ ] [][]) και w, w - R Στον επαυξηµένο χώρο E η σχέση Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -0 Τµήµα πληροφορικής & Επικοινωνιών
(7) - M + 0 γράφεται (8) ~ W M 0 µε W [-, ] και ~ M [ M,] Η σχέση (9) W X 0 µε Χ [, ] E περιγράφει την ευθεία (ε) µε εξίσωση : (0) W w (ε) w X 0 [, ] 0 w + w 0 0 + 0 Στο Σχ- φαίνονται τα άκρα των επαυξηµένων διανυσµάτων των προτύπων και η ευθεία (ε) ~ + (ε) (ε ) (ε ) ~ ~ ~ ~ ~ M ~ 6 ~ 7-0 0 08 + + 8 + Σχήµα - Θεωρούµε την ποσότητα () D( X ) W X -, Ισχύει Αναγνώριση Προτύπων-Νευρωνικά ίκτυα - Τµήµα πληροφορικής & Επικοινωνιών
() D( ~ ) -, (-) + - < 0 Θα πρέπει ως εκ τούτου οι επαυξηµένοι πίνακες των προτύπων της κλάσης Β να καθιστούν την D( X) < 0 και αυτοί της κλάσης Α το D( X) > 0 Εάν αυτό δεν ισχύει η ποσότης D(X) πρέπει να διορθωθεί Προς τούτο ελέγχουµε την ποσότητα D(X) για όλα τα πρότυπα µε τυχαία σειρά και διορθώνουµε την D(X) όταν χρειαστεί Συγκεκριµένα για ρ 0 έχουµε τα ακόλουθα βήµατα: t ~ w W t w ~ ) D( W ~ 0 ~ - W - + 0 - < 0 ~ - 6 W -6 +9-9 6 < 0 ~ 08-6 W -6 08 +9 9 7 < 0 ~ -8 W -8 +9 9-7 < 0 ~ 8-8 6 W -8 8+9-9 < 0 ~ - -8 W 9 ~ -8 6 7 W 6 9 ~ 08-8 7 W 7 9 ~ -8 8 W 8 9 ~ -8 9 W 9 9 (-8) (-) + 9 7 > 0 (-8) + 9 - < 0 (-8) 08 + 9 06 > 0 (-8) + 9-6 < 0-8 +9 0 > 0 Πρόσηµο κλάσης του ~ + - + - - + - + - + ιόρθωση W W + p ~ t+ - - 6 W 0 + 9 W t W - 6 08-8 W 0 9 + 9 W W W W W 6 W W 7 W 6 W 8 W 7 W 9 W 8 Κατά τα βήµατα για t,,,9 έχουν προσπελασθεί όλα τα πρότυπα έχουν ταξινοµηθεί σωστά Συνεπώς η εξίσωση Αναγνώριση Προτύπων-Νευρωνικά ίκτυα - Τµήµα πληροφορικής & Επικοινωνιών
() ή ισοδύναµα 8 9 0 W () 8 + 9 0 X 0 µε W [-8,9] διαχωρίζει τις δύο κλάσεις Στο Σχ- φαίνονται οι ευθείες (ε ), (ε ) για W W και W W στις αντίστοιχες φάσεις διόρθωσης Ακολούθως παρουσιάζεται η υλοποίηση ενός γραµµικού ταξινοµητή µε την γλώσσα προγραµµατισµού C, για την εκµάθηση των τιµών της λογικής διάζευξης (OR) #include<stdioh> #include<conioh> #define K #define N float [K][N+]{ 00, 00, 0, 00, 0, 0, 0, 00, 0, 0, 0, 0 }; float _class[k] { 00, 0, 0, 0 }; float w[n+] { 0, 0, -}; float D, r 0; int k, n; bool error; main() { //---- raining phase ---------- do {error false; for(k 0; k < K; k++) { D [ k][0]*w[ 0] + [ k][ ]*w[ ] + [ k][ ]*w[ ]; //-------------- printf("w(%+f %+f %+f ",w[0], w[], w[]); printf("(%+f, %+f, %+f) ",[k][0],[k][],[k][]); printf("d()%+f, class:%f ",D, _class[ k]); //-------------- if( D >0 && _class[ k] 00) { w[0]-r*[k][0]; w[]-r*[k][]; w[]-r*[k][]; error true; printf("false\n"); } else if(d < 0 && _class[ k] 0) { w[0]+r*[k][0]; w[]+r*[k][]; w[]+r*[k][]; error true; printf("false\n"); } else printf("rue\n"); } }while(error); } printf("d() %+f %+f %+f\n", w[0], w[], w[]); Αναγνώριση Προτύπων-Νευρωνικά ίκτυα - Τµήµα πληροφορικής & Επικοινωνιών
Από την εκτέλεση του προγράµµατος προκύπτουν τα ενδιάµεσα στάδια εκπαίδευσης και η ευθεία διαχωρισµού των κλάσεων w(+00 +00-0 (+000, +000, +) D()-0, class:000 rue w(+00 +00-0 (+000, +00, +) D()-00, class:00 False w(+00 +0-0 (+00, +000, +) D()-00, class:00 False w(+0 +0-0 (+00, +00, +) D()+0, class:00 rue w(+0 +0-0 (+000, +000, +) D()-0, class:000 rue w(+0 +0-0 (+000, +00, +) D()+00, class:00 rue w(+0 +0-0 (+00, +000, +) D()+00, class:00 rue w(+0 +0-0 (+00, +00, +) D()+0, class:00 rue D() +0 +0-0 Η απόφαση ταξινόµησης σε µία από τις δύο κλάσεις που διαχωρίζονται από ένα υπερεπίπεδο εξαρτάται τελικώς από το πρόσηµο της ποσότητας D( ~ ) Για την περιγραφή µε µαθηµατικό τρόπο ορίζουµε την συνάρτηση d() µε την παρακάτω σχέση : αν D( () ~ + ) W ~ > 0 d( ) ~ για D( ~ ) {} 0 -αν D( ~ R ) W < 0 Η τιµή + κωδικοποιεί την περίπτωση το πρότυπο να ανήκει στην κλάση d() ~ ) D( Σχήµα - για την οποία D( ~ ) >0 και η την περίπτωση το πρότυπο να ανήκει στην κλάση για την οποία D( ~ ) <0 Η γραφική παράσταση των τιµών της d() σε σχέση µε τις τιµές της D( ~ ) δείχνεται στο Σχ - Στα διαγράµµατα η d() θα παριστάνεται όπως στο Σχ - Αναγνώριση Προτύπων-Νευρωνικά ίκτυα - Τµήµα πληροφορικής & Επικοινωνιών
+ - Σχήµα - Κατόπιν τούτων µπορούµε να παραστήσουµε διαγραµµατικά την ταξινόµηση ενός νέου προτύπου σε µία από τις δύο γραµµικά διαχωρίσιµες κλάσεις Α, Β, όπως δείχνεται στο Σχ- w ν Ν w w ν w N + Σ w N+ - + Σχήµα - Ο τύπος διόρθωσης () γράφεται τώρα W t+ W t ρd() ~ και αιτιολογείται εάν θεωρήσουµε το πρόβληµα εύρεσης του W ως πρόβληµα βελτιστοποίησης (optimization) µιας συνάρτησης κόστους Κ(W) Μία τέτοια συνάρτηση είναι η N + (6) Κ( W ) : R R µε Κ( W) ( d( ) W ~ ) S όπου S το σύνολο των διανυσµάτων που ταξινοµήθηκαν λάθος Η συνάρτηση Κ(W) εκφράζει ουσιαστικά το συνολικό σφάλµα ταξινόµησης και είναι κατά τµήµατα γραµµική συνάρτηση Η βέλτιστη λύση του προβλήµατος είναι η εύρεση τέτοιου W ώστε Κ(W)0 Αν WW 0 είναι µία αρχική τιµή, η βέλτιστη τιµή του W µπορεί να προσεγγισθεί από τον τύπο K ( W) (7) W t+ Wt Wt d ~ ρ ρ ( ) W S Αναγνώριση Προτύπων-Νευρωνικά ίκτυα - Τµήµα πληροφορικής & Επικοινωνιών
Ο τύπος αυτός αποτελεί έναν επαναληπτικό αλγόριθµο ελαχιστοποίησης της συνάρτησης κόστους Γραµµικοί ταξινοµητές πολλών επιπέδων Όταν το πρόβληµα της ταξινόµησης αφορά περισσότερες από δύο κλάσεις ή όταν οι κλάσεις δεν είναι γραµµικά διαχωρίσιµες, είναι δυνατόν να επιτευχθούν λύσεις µε κατάλληλους συνδυασµούς γραµµικών ταξινοµητών Μια τέτοια χαρακτηριστική περίπτωση είναι αυτή της λογικής πύλης XOR της οποίας ο πίνακας αληθείας δείχνεται στο Σχ- α β α XOR β 0 0 0 0 0 0 Σχήµα - Σύµφωνα µε αυτόν οι συνδυασµοί των τιµών των λογικών µεταβλητών α, β αποτελούν τέσσερα πρότυπα που περιγράφονται από τα διανύσµατα στοιχείων συνόλου Ω { (0,0), (0,), (,0), (,) } και η πράξη α XOR β ορίζει τις κλάσεις Α{(0,0),(,)} και Β{(0,),(,0)} Στο Σχ- φαίνονται τα άκρα των διανυσµάτων στο Ε Είναι προφανές ότι οι κλάσεις Α, Β δεν διαχωρίζονται µε µια ευθεία Ο διαχωρισµός των κλάσεων µπορεί να γίνει µε δύο ευθείες (Σχ-) που ορίζουν µία ζώνη στο εσωτερικό της οποίας βρίσκονται τα πρότυπα της κλάσης Β Η ευθεία (ε ) µπορεί να προσδιοριστεί από ένα γραµµικό ταξινοµητή που θα διαχωρίζει το πρότυπο (,) από τα υπόλοιπα Η ευθεία (ε ) µπορεί να προσδιορισθεί από ένα γραµµικό ταξινοµητή Τ που θα διαχωρίζει το πρότυπο (0,0) από τα υπόλοιπα Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -6 Τµήµα πληροφορικής & Επικοινωνιών
(ε ) (ε ) Σχήµα - Οι έξοδοι των Τ, Τ θα είναι οι τιµές των συναρτήσεων d (), d () για Ω θα είναι : α β d () d () ΚΛΑΣΗ 0 0 - - Α 0 - + Β 0 - + Β + + Α Οι τιµές των d (), d () προσδιορίζουν τις κλάσεις Α και Β αποτελώντας ένα νέο σύνολο προτύπου Φ{(-,-),(-,+),(+,+)} (η περίπτωση (+,-) είναι αδύνατη) Στο Σχ- φαίνεται ο χώρος του Φ d () d () Σχήµα - Η κλάση Α προσδιορίζεται από το σηµείο (+,+) του χώρου Φ που διαχωρίζεται γραµµικά µε την ευθεία (ε) από τα διανύσµατα (-,-),(+,+) που προσδιορίζουν την κλάση Β Ένας γραµµικός ταξινοµητής Τ µπορεί να Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -7 Τµήµα πληροφορικής & Επικοινωνιών
προσδιορίσει την ε Σ αυτόν αν d Τ ()>0 και αν d Τ ()<0 Το όλο σύστηµα φαίνεται στο Σχ- w w Σ d () Σ d() Ν w w Σ d () Σχήµα - Γραµµικός ταξινοµητής-ν Perceptron δύο επιπέδων Αναγνώριση Προτύπων-Νευρωνικά ίκτυα -8 Τµήµα πληροφορικής & Επικοινωνιών