Μθχανζσ Διανυςμάτων Υποςτιριξθσ Support Vector Machines Κϊςτασ Διαμαντάρασ Τμιμα Ρλθροφορικισ ΤΕΙ Θεςςαλονίκθσ
Γραμμικόσ διαχωριςμόσ κλάςεων Ξαναμελετάμε το πρόβλθμα του γραμμικοφ διαχωριςμοφ κλάςεων C, C : Δεδομζνα: διανφςματα ειςόδου (πρότυπα) και οι αντίςτοιχοι ςτόχοι τουσ = ι. {, }, {, },, {, Ν }. Ηθτοφμενο: να βρεκεί διάνυςμα βαρϊν w και πόλωςθ w ϊςτε w w w w,, αν αν C C
Γραμμικά διαχωρίςιμο πρόβλθμα Ουςιαςτικά αναηθτείται μια ευκεία που να διαχωρίηει τισ δφο κλάςεισ Αν το πρόβλθμα ζχει λφςθ (γραμμικά διαχωρίςιμο) τότε δεν ζχει μόνο μια λφςθ αλλά άπειρεσ 3
Ρερικϊριο ταξινόμθςθσ Ορίηουμε γ (γ ) τθν απόςταςθ τθσ διαχωριςτικισ ευκείασ από το κοντινότερο πρότυπο τθσ κλάςθσ C (C ) γ γ 4
Ρερικϊριο ταξινόμθςθσ () min C w w w min C w w w Ρερικϊριο γ = γ + γ 5
Ρερικϊριο ταξινόμθςθσ (3) Ρερικϊριο γ γ γ γ 6
Κανονικό διαχωριςτικό υπερεπίπεδο Επζλεξε w ϊςτε γ = γ Κλιμάκωςε w ϊςτε min w w min w w C C Άρα w w, αν C w w, αν C Αφοφ =, αν C, =, αν C, τότε απλά ( w w) 7
Διανφςματα υποςτιριξθσ (support vectors) γ γ γ Ρερικϊριο w 8
Δφο κατθγορίεσ προτφπων Οριςμόσ Διανφςματα υποςτιριξθσ (support vectors): Τα πρότυπα για τα οποία ( w w ) Πλα τα υπόλοιπα πρότυπα: Τα πρότυπα για τα οποία ( w w ) 9
Βζλτιςτο Διαχωριςτικό Υπερεπίπεδο Ρρόβλθμα βζλτιςτου διαχωριςτικοφ υπερεπιπζδου: Βρεσ το υπερεπίπεδο που μεγιςτοποιεί το περικϊριο. Ιςοδφναμα, ελαχιςτοποίθςε τθ ςυνάρτθςθ κόςτουσ: J( w) w Φυςικά πρζπει να ικανοποιοφνται όλεσ οι ανιςότθτεσ για =,,. ( w w)
Τετραγωνικόσ Ρρογραμματιςμόσ Ρρόβλθμα τετραγωνικοφ προγραμματιςμοφ: Βρεσ το ελάχιςτο τθσ ςυνάρτθςθσ J ( v) v Hv f v υπό τουσ περιοριςμοφσ a v b,,, ςυνοπτικά : Av b Ρρόβλθμα γνωςτό εδϊ και δεκαετίεσ MALAB function: quaprog(h,f,a,b)
Βζλτιςτο Διαχωριςτικό Υπερεπίπεδο = Τετραγωνικόσ Ρρογραμματιςμόσ Τα δφο προβλιματα είναι ίδια. Αρκεί να βάλουμε: Θ λφςθ μπορεί να δοκεί άμεςα από το MALAB,,,, b A f I H w v w
Ραράδειγμα Θζλουμε να διαχωρίςουμε τισ παρακάτω κλάςεισ Θζτουμε: 3, [,], [,], [,], [,] 4 4 3 3 3 4,,, b A f H
Εναλλακτικι λφςθ: δυϊκό πρόβλθμα Αντί να λφςουμε το πρόβλθμα ωσ ζχει, υποκζτουμε ότι θ λφςθ είναι ζνασ γραμμικόσ ςυνδυαςμόσ των προτφπων w οπότε αποδεικνφεται ότι,,,, και το πρόβλθμά μασ είναι μακθματικά ιςοδφναμο με τθν λφςθ του λεγόμενου δυϊκοφ προβλιματοσ: και 4
Το δυϊκό πρόβλθμα Δυϊκό Ρρόβλθμα τετραγωνικοφ προγραμματιςμοφ: Βρεσ το ελάχιςτο τθσ ςυνάρτθςθσ L( λ) λ Qλ g λ υπό τουσ περιοριςμοφσ όπου,,, ιςοδ. Q : q g : g ij i j i j i λ 5
6 Δυϊκό πρόβλθμα - Ιδιότθτεσ Ράλι ζχουμε ζνα πρόβλθμα τετραγωνικοφ προγραμματιςμοφ αλλά με άλλουσ πίνακεσ. Αποδεικνφεται: είτε λ ( w w) είναι διάνυςμα υποςτιριξθσ είτε οπότε το λ ( w w) Συνεπϊσ το βζλτιςτο w είναι γραμμικόσ ςυνδυαςμόσ των δ.υ. και μόνο Επίςθσ για οποιοδιποτε δ.υ. θ βζλτιςτθ πόλωςθ είναι w w
Μθ γραμμικά διαχωρίςιμα προβλιματα Ζςτω ότι το πρόβλθμα δεν διαχωρίηεται με ζνα γραμμικό υπερεπίπεδο Ειςάγουμε για κάκε πρότυπο μια μεταβλθτι χαλαρότθτασ ξ ( w w) Αν ξ > τότε το πρότυπο ζχει ταξινομθκεί λάκοσ. πλήθορ λάθορ ταξινομημένων πποτύπων 7
8 Νζα ςυνάρτθςθ κόςτουσ Στθν αρχικι ςυνάρτθςθ κόςτουσ προςκζτουμε ζνα κόςτοσ ανάλογο του Νζο πρόβλθμα τετραγωνικοφ προγραμματιςμοφ: ελαχιςτοποίθςε τθ ςυνάρτθςθ κόςτουσ: J' ( w) w C ϊςτε να ικανοποιοφνται οι ανιςότθτεσ ( w w)
Λφςθ νζου προβλιματοσ Νζο διάνυςμα αγνϊςτων Νζο ςετ πινάκων Κδια λφςθ MALAB: quaprog(h,f,a,b) 9 w ],, [ ξ w v, ], [,,, b A f I H C
Νζο δυϊκό πρόβλθμα Ομοίωσ διατυπϊνεται το νζο δυϊκό πρόβλθμα Βρεσ το ελάχιςτο τθσ ςυνάρτθςθσ L( λ) λ Qλ g λ υπό τουσ περιοριςμοφσ C όπου Q : q g : g ij i j i j,,, ιςοδ. λ i
Νζο δυϊκό πρόβλθμα - Λφςθ είτε λ C ( w w) ςυνεπϊσ το είναι διάνυςμα υποςτιριξθσ είτε λ ( w w) ςυνεπϊσ το ταξινομείται ςωςτά αλλά δεν είναι διάνυςμα υποςτιριξθσ είτε λ C ( w w) ςυνεπϊσ το ίςωσ ταξινομείται ςωςτά ίςωσ ταξινομείται λάκοσ αλλά δεν είναι διάνυςμα υποςτιριξθσ
Νζο δυϊκό πρόβλθμα Λφςθ (ςυν.) Το βζλτιςτο διάνυςμα είναι πάλι w όπου ςτο άκροιςμα ςυμμετζχουν (λ >) μόνο τα για τα οποία είτε ( w ) w (διανφςματα υποςτιριξθσ) είτε ( w w) Θ βζλτιςτθ πόλωςθ είναι πάλι w w όπου είναι οποιοδιποτε δ.υ.
Ραράδειγμα 3
Διαχωριςμόσ μθ Γραμμικϊν κλάςεων Μεταςχθματιςμόσ του προβλιματοσ ςε μεγαλφτερθ διάςταςθ () Λφςθ του προβλιματοσ διαχωριςμοφ ςτθν μεγαλφτερθ διάςταςθ, δθλ. προςπακοφμε να βροφμε λφςθ ςτο νζο πρόβλθμα: ( w ( ) w),,, 4
Ραράδειγμα Ζςτω ο μεταςχθματιςμόσ z ( ) Το πρόβλθμα XOR - - 5
Ραράδειγμα (ςυν.) Μεταςχθματίηεται ςτο παρακάτω πρόβλθμα z z.44 z 3 - - Το πρόβλθμα τώρα είναι γραμμικά διαχωρίςιμο!! Δοκιμάςτε πχ. w [,, ], w.5 6
Ρυρινεσ (Kernels) Δυςκολία: καλοφμαςτε να λφςουμε το πρόβλθμα ςε ζνα χϊρο μεγαλφτερων διαςτάςεων, πχ ι ακόμθ και άπειρων διαςτάςεων Ευτυχϊσ δε χρειάηεται να υπολογίςουμε το w οφτε να κάνουμε το μεταςχθματιςμό Φ()! Ασ ορίςουμε τθ ςυνάρτθςθ K(, y) ( ) ( y) Θ ςυνάρτθςθ K( ) καλείται πυρινασ (ernel) και θ τιμι τθσ είναι ζνασ αρικμόσ αφοφ είναι το εςωτερικό γινόμενο δφο διανυςμάτων Φ(), Φ(y). 7
Ραράδειγμα πυρινα Ασ κυμθκοφμε το μεταςχθματιςμό Θ ςχετικι ςυνάρτθςθ πυρινα είναι Ριο απλόσ ο υπολογιςμόσ του από τον υπολογιςμό του 8 ) ( z ) ( ) ( ) ( ) ( ) ( ), ( y y y y y y y y y K ( y) ) ( ) ( y
Συνθκιςμζνοι πυρινεσ K(, y) ep{ y p K (, y) [ y ] /( )} K(, y) tanh( a y ) K(, y) / y c Γκαουςιανόσ RBF Πολυωνυμικόσ Σιγμοειδήσ Αντίςτροφοσ πολυτετραγωνικόσ Κάκε πυρινασ παράγεται από κάποια ςυνάρτθςθ Φ() όμωσ δε χρειάηεται να τθν ξζρουμε. Ραντοφ ςτισ πράξεισ εμφανίηεται το K() και πουκενά το Φ 9
Ρρόβλθμα Τετραγωνικοφ Ρρογραμματιςμοφ με πυρινεσ Σφμφωνα με το δυϊκό πρόβλθμα πρζπει να ελαχιςτοποιιςουμε τθ ςυνάρτθςθ L( λ) λ Qλ g λ 3 υπό τουσ περιοριςμοφσ C,,, ιςοδ. λ αλλά τϊρα Q : q ( ) ( ) K(, ) g : g ij i i j i j i j i j
Αρκεί θ ςυνάρτθςθ πυρινα Ραρατθριςτε ότι οι πίνακεσ Q, g δεν απαιτοφν γνϊςθ τθσ ςυνάρτθςθσ Φ( ) για να υπολογιςτοφν. Απαιτείται μόνο γνϊςθ τθσ ςυνάρτθςθσ πυρινα K(). 3
Λφςθ Σφμφωνα με τθ κεωρία μασ, τα βζλτιςτα w, w είναι 3 ) ( w j j j j j j j j K w ), ( ) ( ) ( ) ( w Χρειάζεται τη ςυνάρτηςη Φ Δεν χρειάζεται τη ςυνάρτηςη Φ
Δε χρειάηομαι το w Το διάνυςμα w δεν μασ χρειάηεται. Αυτό που πραγματικά μασ ενδιαφζρει είναι αν θ φόρμουλα j jk( j, ) j y( ) w ( ) w w δίνει κετικό ι αρνθτικό αποτζλεςμα Δεν χρειάζεται τη ςυνάρτηςη Φ 33
Μθχανζσ Διανυςμάτων Υποςτιριξθσ (Support Vector Machines SVM) Μθχανζσ μάκθςθσ που υλοποιοφν τθν παραπάνω κεωρία με πυρινα ι χωρίσ Απαιτοφν ςαν είςοδο τα διανφςματα μαηί με τουσ ςτόχουσ άρα ανικουν ςτθν κατθγορία των μθχανϊν μάκθςθσ με επίβλεψθ Βαςίηονται ςτθν λφςθ προβλιματοσ τετραγωνικοφ προγραμματιςμοφ. Το πρόβλθμα ζχει μελετθκεί εκτενϊσ ςτα μακθματικά. Εκτόσ από τθ ςυνάρτθςθ quaprog (MALAB) υπάρχουν βελτιϊςεισ και άλλεσ γριγορεσ υλοποιιςεισ 34
Ραράδειγμα (διάφοροι πυρινεσ) Γκαοςσιανόρ σ = Γπαμμικόρ Γκαοςσιανόρ σ = Πολςωνςμικόρ (τετπαγωνικόρ) 35
Μζκοδοι υλοποίθςθσ, υλικό ςτο διαδίκτυο Μζκοδοι υλοποίθςθσ SVM light (orsten Joachims) http://svmlight.joachims.org/ LIBSVM (Chih-Chung Chang an Chih-Jen Lin) http://www.csie.ntu.eu.tw/~cjlin/libsvm/ Υλικό ςτο διαδίκτυο, portal http://www.ernel-machines.org http://www.support-vector.net 36
Ρλεονεκτιματα και ανοικτά κζματα Ρλεονεκτιματα Οι Μθχανζσ Διανυςμάτων Υποςτιριξθσ - ΜΔΥ (Support Vector Machines - SVM) λφνουν γραμμικά και μθ γραμμικά προβλιματα διαχωριςμοφ Ζχουν μεγάλθ ταχφτθτα υλοποίθςθσ Αντιμετωπίηουν εφκολα προβλιματα μεγάλου μεγζκουσ Ανοικτά προβλιματα Ροια είναι θ βζλτιςτθ επιλογι πυρινα; Κριτιρια επιλογισ Ρϊσ μπορϊ να παραλλθλοποιιςω των αλγόρικμο; 37
Kernel Perceptron Εφαρμογι τθσ ιδζασ των Kernel ςτον αλγόρικμο Perceptron Κατά τθν επανάλθψθ παίρνουμε το πρότυπο p υπολογίηουμε τθν ζξοδο y με βάςθ τα προθγοφμενα βάρθ y f ( w( ) ( ) w( )) υπολογίηουμε το ςφάλμα διορκϊνουμε βάρθ και πόλωςθ w( ) w( ) e w ( ) w p e p p ( ) e p p ( y p ) 38
Χριςθ ernel (αποφυγι Φ) Αποφυγι υπολογιςμοφ του w. Αφοφ w( ) ( ) ( i Το y υπολογίηεται χωρίσ το w y i i f ( i( ) K( i, p ) w( i Αρκεί να ενθμερϊςουμε τουσ ςυντελεςτζσ λ i (): ςτθν επανάλθψθ ενθμερϊνουμε μόνο το ςυντελεςτι που αφορά το πρότυπο Φ( p ) ( ) ( ) e p p i ) p )) 39
Kernel Perceptron Επζκταςθ του κλαςικοφ Perceptron Μθ γραμμικόσ ταξινομθτισ ανάλογα με τθ ςυνάρτθςθ πυρινα που χρθςιμοποιείται Αναδρομικόσ κανόνασ μάκθςθσ Ραρόμοια απόδοςθ με το SVM Ριο αργό από το SVM 4