HMY 795: Αναγνώριση Προτύπων

Σχετικά έγγραφα
HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 15-16

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 17-18

HMY 795: Αναγνώριση Προτύπων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων. Διάλεξη 2

HMY 795: Αναγνώριση Προτύπων

Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 13-14

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

3. O ΑΛΓΟΡΙΘΜΟΣ ΤΟΥ PERCEPTRON

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

HMY 795: Αναγνώριση Προτύπων

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Βασικές αρχές εκπαίδευσης ΤΝΔ: το perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Το Πολυεπίπεδο Perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Ασκήσεις μελέτης της 19 ης διάλεξης

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

HMY 795: Αναγνώριση Προτύπων

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Μοντέλο Perceptron πολλών στρωμάτων Multi Layer Perceptron (MLP)

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΔΕ. 11 ΙΟΥΝΙΟΥ 2012

HMY 795: Αναγνώριση Προτύπων

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

Αναγνώριση Προτύπων Ι

Επιβλεπόμενη Μηχανική Εκμάθηση ΙI

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 9-10

ΤΕΙ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ «ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ» ΠΑ. 7 ΣΕΠΤΕΜΒΡΙΟΥ 2012

4.3. Γραµµικοί ταξινοµητές

HMY 795: Αναγνώριση Προτύπων

ΔΙΚΤΥO RBF. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Lecture Notes for Chapter 5. (cont.)

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 3ο Φροντιστήριο

Επαγωγικές Μηχανές Διανυσμάτων Στήριξης και εφαρμογή σε προβλήματα ταξινόμησης

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

3.7 Παραδείγματα Μεθόδου Simplex

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

HMY 799 1: Αναγνώριση Συστημάτων

Εκπαίδευση ΤΝΔ με ελαχιστοποίηση του τετραγωνικού σφάλματος εκπαίδευσης. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν.

Αναγνώριση Προτύπων (Pattern Recognition) Μπεϋζιανή Θεωρία Αποφάσεων (Bayesian Decision Theory) Π. Τσακαλίδης

HMY 795: Αναγνώριση Προτύπων

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

Σφαίρα σε ράγες: Η συνάρτηση Lagrange. Ν. Παναγιωτίδης

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Υπολογιστική Νοημοσύνη. Μάθημα 13: Αναδρομικά Δίκτυα - Recurrent Networks

ΕΚΤΙΜΙΣΗ ΜΕΓΙΣΤΗΣ ΠΙΘΑΝΟΦΑΝΕΙΑΣ

HMY 795: Αναγνώριση Προτύπων

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 4 o Φροντιστήριο

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Περιεχόμενα. 2.1 Εισαγωγή Προγενέστερη έρευνα Ανάπτυξη υποδειγμάτων παραποίησης Πρόλογος... 11

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Εφαρμοσμένη Βελτιστοποίηση

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Αναγνώριση Προτύπων Ι

ΚΑΤΗΓΟΡΙΕΣ ΤΑΞΙΝΟΜΗΣΗΣ

Το μοντέλο Perceptron

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (Εξ. Ιουνίου - 02/07/08) ΕΠΙΛΕΓΜΕΝΕΣ ΑΠΑΝΤΗΣΕΙΣ

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

ΤΕΤΥ Εφαρμοσμένα Μαθηματικά 1. Τελεστές και πίνακες. 1. Τελεστές και πίνακες Γενικά. Τι είναι συνάρτηση? Απεικόνιση ενός αριθμού σε έναν άλλο.

Μη γραµµικοί ταξινοµητές Νευρωνικά ίκτυα

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

ΧΡΗΣΗ ΤΩΝ ΜΗΧΑΝΩΝ ΔΙΑΝΥΣΜΑΤΩΝ ΥΠΟΣΤΗΡΙΞΗΣ ΣΤΗΝ ΕΚΤΙΜΗΣΗ ΤΙΜΩΝ ΑΚΙΝΗΤΩΝ

Μέθοδοι εκμάθησης ταξινομητών από θετικά παραδείγματα με αριθμητικά χαρακτηριστικά. Νικόλαος Α. Τρογκάνης Διπλωματική Εργασία

Αναγνώριση Προτύπων Ι

Θεωρία Δυαδικότητας ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Η παρουσίαση προετοιμάστηκε από τον Ν.Α. Παναγιώτου. Επιχειρησιακή Έρευνα

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

z = c 1 x 1 + c 2 x c n x n

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Εφαρμοσμένη Στατιστική Δημήτριος Μπάγκαβος Τμήμα Μαθηματικών και Εφαρμοσμένων Μαθηματικών Πανεπισ τήμιο Κρήτης 14 Μαρτίου /34

Σφαίρα σε ράγες: Η συνάρτηση Lagrange. Ν. Παναγιωτίδης

HMY 795: Αναγνώριση Προτύπων

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Τεχνητή Νοημοσύνη. 19η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ ΠΡΩΤΟ ΣΤΟΙΧΕΙΑ ΔΙΑΦΟΡΙΚΟΥ ΛΟΓΙΣΜΟΥ ΣΥΝΑΡΤΗΣΕΩΝ ΠΟΛΛΩΝ ΜΕΤΑΒΛΗΤΩΝ 15

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016

ΘΕΩΡΙΑ ΑΠΟΦΑΣΕΩΝ 3 ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΛΥΣΕΙΣ ΤΩΝ ΑΣΚΗΣΕΩΝ

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

HMY 795: Αναγνώριση Προτύπων

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

1. Τετραγωνικές μορφές. x y 0. 0x y 0 1α 1β 2α 2β 3. 0x + y 0

HY213. ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ ΕΛΑΧΙΣΤΑ ΤΕΤΡΑΓΩΝΑ AΝΑΛΥΣΗ ΙΔΙΑΖΟΥΣΩΝ ΤΙΜΩΝ

4.γ. μερική επανάληψη, εισαγωγή στη βελτιστοποίηση υδατικών συστημάτων. Δρ Μ.Σπηλιώτης

Επιχειρησιακή Έρευνα I

Κεφάλαιο 4 Διανυσματικοί Χώροι

n. Έστω αποτελείται από όλους τους πίνακες που αντιμετατίθενται με ένα συγκεκριμένο μη μηδενικό nxn πίνακα Τ:

Αριθμητική Ανάλυση και Εφαρμογές

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

max f( x,..., x ) st. : g ( x,..., x ) 0 g ( x,..., x ) 0

Transcript:

HMY 795: Αναγνώριση Προτύπων Διαλέξεις 9 20 Kernel methods Support vector machines

Εκπαίδευση νευρωνικών δικτύων backpropagation:. Υπολογισμός μεταβλητών δικτύου «τρέχον» w () () (2) (2) aj = wji xi ak = wkj zj i j z = h( a ) y = g( a ) j j k k 2. Υπολογισμός μερικών παραγώγων δάδ διάδοση σφαλμάτων προς τα πίσω (2) En En ak = (2) (2) (2) wkj ak wkj En Ορισμός: δ = = y t (2) ak E En = δ (2) kz j w kj k k k

2. Πρώτο στρώμα E a a w a w w () () n En j j = = δ () () () j = δ () jxi ji j ji ji E a a δ j = = a a a k (2) (2) n k k (2) () δk () k j k j z = δ '( ) k En = h'( a ) () w ji (2) () ak j k = h ( a ) () () j δkw kj zj aj k δ w x j k kj i k a = w x a = w z () () (2) (2) j ji i k kj j i j z = h( a ) y = g( a ) j j k k 3. Ενημέρωση (single sample/ batch) w( k+ ) = w( k) n( k) J( w) Jacobian μέτρο της «ευαισθησίας» του δικτύου ως οντότητα: J ki y y a y () = = = wji = x a x a () k k j k () () i j j i j j y a y = '( ) (2) () k l () (2) k wji = w (2) () ji h aj wlj (2) j l al aj j l al yk = δ '( σ a (2) kl l ) a l

Hessian H ij 2 E = w w ji lk : ακριβής ή προσεγγιστικός υπολογισμός Κανονικοποίηση: Αν το αρχικό δίκτυο εκπαιδευτεί με τότε αν χρησιμοποιήσουμε δεδομένα εκπαίδευσης μετ/σμένα γραμμικά ( x = ax, y = cy ) θα πρέπει να κανονικοποιήσουμε σύμφωνα με την: i i i i λ a λ λ /2 /2 2 c 2 Πρακτικά ζητήματα: Τερματισμός εκπαίδευσης Training/Validation/Testing Επιλογή συναρτήσεων ενεργοποίησης Κανονικοποίηση δεδομένων εκπαίδευσης Αρχικοποίηση βαρών Σταθερές μάθησης Αριθμός στρωμάτων λ

Αμεταβλητότητα Δημιουργία τεχνητών δεδομένων εκπαίδευσης Προεπεξεργασία Επιλογή κατάλληλης δομής ΝΝ

Bayesian neural networks Μέχρι στιγμής χρησιμοποιήσαμε μέγιστη πιθανοφάνεια για την εκπαίδευση ενός δικτύου Κανονικοποίηση: ισοδύναμη με εκτίμηση MAP Μπορούμε να χρησιμοποιήσουμε και την Μπεϋζιανή θεώρηση Στην περίπτωση της γραμμικής παλινδρόμησης με Γκαουσιανό θόρυβο πήραμε αναλυτικά αποτελέσματα για τις εκ των υστέρων κατανομές των συντελεστών w και την προγνωστική κατανομή ή( (predictive distribution) Εδώ δεν μπορεί να γίνει το ίδιο: προσεγγίσεις (variational inference/laplace approximation) Στην περίπτωση συνεχούς μεταβλητής στόχου t η πιθανοφάνεια είναι: Κανονική εκ των προτέρων κατανομή για τα βάρη: Πιθανοφάνεια για Ν ανεξάρτητες παρατηρήσεις D={t,t 2,,t N }:

Εκ των υστέρων κατανομή: Bayesian neural networks Η κατανομή αυτή, λόγω της μη γραμμικής εξάρτησης του y(x,w) ως προς w δεν είναι κανονική ως προς w Ένας τρόπος (Laplace approximation) είναι να προσεγγίσουμε αυτή την κατανομή με κανονική, γύρω από το μέγιστο της εκ των υστέρων κατανομής (δηλ. της εκτίμησης MAP). Αυτό γίνεται ελαχιστοποιώντας την: Ισοδυναμία με κανονικοποίηση οι μερικές παράγωγοι υπολογίζονται με backpropagation. Η κανονική προσέγγιση της posterior δίνεται τότε από (Laplace approximation): όπου Η: Hessian Μπορούμε προσεγγιστικά να πάρουμε αποτελέσματα επίσης για την προγνωστική κατανομή και τις υπερπαραμέτρους α,β (generalized likelihood Bishop 5.7.)

Bayesian neural networks Για δίκτυο ταξινόμησης σε 2 κλάσεις με σιγμοειδή συνάρτηση ενεργοποίησης εξόδου η πιθανοφάνεια είναι: Και πάλι θεωρούμε κανονική εκ των προτέρων κατανομή για τα βάρη με ακρίβεια α. Όπως και στην περίπτωση συνεχούς t υπολογίζουμε το w MAP ελαχιστοποιώντας (backpropagation) την: Κατόπιν, υπολογίζουμε την Hessian και η εκ των υστέρων κατανομή παίρνει και πάλι τη μορφή Το α μπορεί να υπολογιστεί μεγιστοποιώντας την περιθωριακή πιθανοφάνεια

Μέθοδοι πυρήνων (kernel methods) Οι συναρτήσεις πυρήνα (kernel functions) είναι απεικονίσεις των διανυσμάτων εισόδου x στο σύνολο R που έχουν συγκεκριμένη μορφή και ιδιότητες και γενικεύουν σε μεγάλο βαθμό τις εφαρμογές των αλγορίθμων ταξινόμησης Σύμφωνα με τη μέθοδο μετασχηματίζουμε κατάλληλα τα διανύσματα εισόδου ώστε να επιτύχουμε πιο εύκολη/γενικεύσιμη λύση του προβλήματος ταξινόμησης Για να γίνει αυτό, πηγαίνουμε αρχικά από τον χώρο εισόδου (input space) σε έναν μετασχηματισμένο χώρο χαρακτηριστικών (feature space) με πιθανόν υψηλότερη διάσταση με τη (μη γραμμική) απεικόνιση φ(x) Η συνάρτηση πυρήνα ορίζεται τότε ως: k ( xx, ') = ϕ T ( x ) ϕ ( x ') = ϕ ( x ), ϕ ( x ') είναι με άλλα λόγια ένα εσωτερικό γινόμενο (dot/inner product) μεταξύ των διανυσμάτων φ(x) και φ(x ) στον χώρο χαρακτηριστικών Η πιο απλή συνάρτηση πυρήνα προκύπτει για τη μοναδιαία απεικόνιση φ(x)=x: T k ( xx, ') = xx' είναι δηλ το εσωτερικό γινόμενο μεταξύ των 2 διανυσμάτων Οι συναρτήσεις ρή πυρήνα μπορούν να ερμηνευθούν ως ένα μέτρο της ομοιότητας (similarity) μεταξύ δύο διανυσμάτων στο χώρο εισόδου και ήδη χρησιμοποιήσαμε κάποιες από αυτές για τη μη παραμετρική εκτίμηση κατανομών πιθανότητας (πως?)

Μέθοδοι πυρήνων (kernel methods) Παράδειγμα: Έστω ο αρχικός χώρος είναι δισδιάστατος (x,x 2 ) και η απεικόνιση: 2 2 ϕ ( x) = ( x, 2 xx 2, x) T η οποία μας πηγαίνει σε τρεις διαστάσεις. Τότε: T k( xx, ') = ϕ ( x) ϕ( x') () Τ = ( x, 2 x x, x )( x, 2 x x, x ) = 2 2 '2 ' ' '2 2 2 2 2 = = 2 '2 ' ' 2 '2 ( xx, xx2xx2, x2x2 ) T 2 = ( xx') Τι κερδίζουμε πηγαίνοντας σε χώρο υψηλότερης διάστασης? Η κεντρική ιδέα είναι ότι, πηγαίνοντας ενδιάμεσα σε χώρο υψηλότερης διάστασης, τα δεδομένα μας γίνονται περισσότερο «διαχωρίσιμα» Αν επιπλέον επιλέξουμε κατάλληλα τη συνάρτηση πυρήνα, ώστε να αντιστοιχεί στη μορφή (), δεν είναι ανάγκη να υπολογίσουμε αναλυτικά αυτή την απεικόνιση σε υψηλότερες διαστάσεις, αλλά μόνο το εσωτερικό γινόμενο ()!

Μέθοδοι πυρήνων (kernel methods) Μπορούμε να πάμε από το χώρο εισόδου (input space) στο χώρο χαρακτηριστικών (feature space) πιθανόν υψηλότερης διάστασης όπου όμως το πρόβλημα είναι γραμμικά διαχωρίσιμο, άρα μπορούμε να βρούμε απλούστερα σύνορα αποφάσεων (υπερεπίπεδα)

Μέθοδοι πυρήνων (kernel methods) Πως μπορούμε να χρησιμοποιήσουμε τις συναρτήσεις πυρήνα σε αλγορίθμους ταξινόμησης? Kernel trick: Αν ο αλγόριθμος ταξινόμησης εκφράζεται σε σχέση με το εσωτερικό γινόμενο x T x μπορούμε να το αντικαταστήσουμε με οποιαδήποτε συνάρτηση πυρήνα k(x,x ) Θα δούμε πως αυτό εφαρμόζεται στις διανυσματικές μηχανές υποστήριξης

Μέθοδοι πυρήνων (kernel methods) Για να είναι μια συνάρτηση k(x,x ) έγκυρη συνάρτηση πυρήνα θα πρέπει να είναι συμμετρική και ο πίνακας Κ={k(x n,x m )} να είναι θετικά ημιορισμένος (positive semidefinite). Πως μπορούμε να κατασκευάσουμε συναρτήσεις πυρήνα? Ένας τρόπος είναι να ξεκινήσουμε από κάποια (κάποιες) απλούστερη συνάρτηση k (k 2 ) και να χρησιμοποιήσουμε κάποια/κάποιες από τις παρακάτω ιδιότητες:

Μέθοδοι πυρήνων (kernel methods) Κάποιες συναρτήσεις πυρήνα που χρησιμοποιούνται συχνά είναι: M T T M Πολυωνυμικές k ( xx, ') = ( xx' ) = xx ' M Ανομοιογενείς πολυωνυμικές (, ') T k xx = ( xx' + c ) 2 Γκαουσιανές / radial basis function kernels k ( xx, ') = exp( x x' 2) Υπερβολική εφαπτομένη: σημείωση η συνάρτηση αυτή δεν είναι θετικά ορισμένη αλλά έχει δώσει καλά αποτελέσματα στην πράξη T k( xx, ') = tanh ( axx' + b) Για να υπολογίσουμε το μετασχηματισμό δεν είναι απαραίτητη η γνώση του φ(x), παρά μόνο η γνώση της συνάρτησης πυρήνα Η συνάρτηση πυρήνα με άλλα λόγια υπολογίζει το εσωτερικό γινόμενο στο χώρο των χαρακτηριστικών φ(x) απευθείας, χωρίς γνώση ή/και υπολογισμό της απεικόνισης φ

Διανυσματικές μηχανές υποστήριξης (Support vector machines) Είδαμε ότι όταν ψάχνουμε για μια γραμμική διαχωριστική συνάρτηση για ένα πρόβλημα 2 κλάσεων, η επιλογή της διαχωριστικής επιφάνειας δεν είναι μοναδική Κλάση Κλάση 2

Support vector machines Τ Ποια είναι η καλύτερη επιλογή? Αν y( x) = w x+ b μπορούμε να υπολογίσουμε το w με κάποιον απλό αλγόριθμο (πχ perceptron) αλλά η τελική λύση εξαρτάται από την αρχικοποίηση των w,b καθώς και από τη σειρά με την οποία παρουσιάζουμε τα (λάθος ταξινομημένα) σημεία σε κάθε βήμα Κλάση η Κλάση 2

Support vector machines Όλα τα εικονιζόμενα σύνορα ταξινομούν σωστά τα δείγματα αλλά πως μπορούμε να διαλέξουμε ένα συστηματικά? Κλάση Κλάση 2

Support vector machines Ορίζουμε το περιθώριο (margin) του ταξινομητή ως το εύρος της απόστασης του συνόρου απόφασης από τα κοντινότερα σημεία Κλάση Κλάση 2

Support vector machines Διαισθητικά, ο ταξινομητής με το μέγιστο περιθώριο είναι αυτός που ψάχνουμε και είναι η απλούστερη μορφή διανυσματικής μηχανής υποστήριξης (support vector machine Vapnik 979) Support vectors (Διανύσματα μ υποστήριξης): Τα διανύσματα που βρίσκονται πάνω στο σύνορο όπως θα δούμε μόνο αυτά καθορίζουν τον ταξινομητή! Κλάση Κλάση 2 Support Vectors

Support vector machines Πως μπορούμε να υπολογίσουμε τα w,b? Υπενθύμιση: Η απόσταση ενός οποιουδήποτε σημείου από το σύνορο απόφασης είναι y( x) Τ r = y ( x ) = w x+ + b w όπου y(x)>0 για την κλάση, y(x)<0 για την κλ. 2 Κλάση Κωδικοποιούμε τη μεταβλητή στόχου t n ως Κλάση 2 {+, } οπότε για όλα τα σημεία εκπαίδευσης ισχύει ty n ( xn) > 0 x Η απόσταση του x n από το σύνορο είναι επομένως: r Τ ty n ( xn ) tn ( w xn + b ) = w w Η λύση που ψάχνουμε είναι αυτή που μεγιστο ποιεί την απόσταση του κοντινότερου σημείου από το επίπεδο, με άλλα λόγια: Τ arg max w, b min n( tn( wxn + b) ) w

Support vector machines Σημείωση: Αν μετασχηματίσουμε w κw, b κb τότε η απόσταση δεν αλλάζει. Άρα μπορούμε να διαλέξουμε τα w, b ώστε η απόσταση του κοντινότερου σημείου να είναι ίση με δηλαδή: Τ tn( wxn + b) = canonical representation of the decision hyperplane Ισοδύναμα, η απόσταση του σημείου αυτού Κλάση από το επίπεδο απόφασης είναι w Κλάση 2 Άρα για όλα τα άλλα σημεία θα ισχύει: Τ tn( wxn + b) n=, 2,..., N () x Active constraints: Σημεία για τα οποία ισχύει r ηισότητα ισότητα, inactive: όλα τα υπόλοιπα Θα έχουμε τουλάχιστον έναν ενεργό περιορισμό εξ ορισμού Το πρόβλημα βελτιστοποίησης που έχουμε να λύσουμε επομένως είναι η μεγιστοποίηση του 2 w ή ισοδύναμα η ελαχιστοποίηση του w υπό τους περιορισμούς ρ ανισοτήτων ()(Ν τον αριθμό)

Support vector machines Ξαναγράφοντας το πρόβλημα, πρέπει να βρούμε τα w,b ώστε: 2 arg min w w 2 Quadratic programming problem subject to t ( wx Τ + b) n=, 2,..., N n n Θέλουμε να ελαχιστοποιήσουμε μια τετραγωνική συνάρτηση υπό ένα σύνολο γραμμικών ανισοτήτων Lagrange multipliers a n 0 (περιορισμός λόγω ανισοτήτων). Lagrangian: N 2 T L ( w, b, a ) = w a t Τ n( n( w x n + b ) ), a= ( a, a 2,...,, a N) 2 n= Ελαχιστοποίηση ως προς w,b και μεγιστοποίηση ως προς a Θα πρέπει: L( w, b, a) w = 0 w = n= (2) N L( w, b, a ) = 0 0= (3) at n n N b n= at n n x n

arg min w 2 w 2 Support vector machines Τ subject to tn( wxn + b) n=, 2,..., N Τα προβλήματα βελτιστοποίησης υπό περιορισμούς αυτής της μορφής ικανοποιούν τις συνθήκες Kanush Kuhn Tucker, σύμφωνα με τις οποίες: N L ( w, b, a ) L ( w, b, a ) = 0 w = a t x, = 0 0= w b tn( wx Τ n + b) 0 n=, 2,..., N a 0 n n Τ ( wx ) a t ( + b) =0 n n n n N a t n n n n n n= n= Τι σημαίνουν οι συνθήκες αυτές για το πρόβλημά μας?

Support vector machines. Το διάνυσμα w είναι γραμμικός συνδυασμός των σημείων εκπαίδευσης 2. Τα σημεία x i για τα οποία a i >0 λέγονται διανύσματα υποστήριξης (support vectors) και είναι αυτά που βρίσκονται πάνω στο περιθώριο, δηλ. ισχύει: Τ tn( wxn + b) = 3. Επομένως το διάνυσμα w καθορίζεται μόνο από αυτά τα σημεία! Για τα υπόλοιπα Τ οι περιορισμοί tn( wxn + b) > ισχύουν και a i =0. Αυτό γιατί μόνο οι μη μηδενικοί πολλαπλασιαστές λ Lagrange αντιστοιχούν σε περιορισμούς που ικανοποιούν την ισότητα λόγω της συνθήκης: ( wx Τ ) a t ( + b) =0,n =, 2,..., N n n n Αντικαθιστώντας τις συνθήκες (2), (3) στην αρχική μορφή της Lagrangian παίρνουμε τη δυαδική αναπαράσταση (dual representation) του προβλήματος, στην οποία μεγιστοποιούμε την: N N N T L ( a) = an anamtntmxmxn n= 2 n= m= ως προς a υπό τους περιορισμούς: ρ a 0 n N n= at n n = 0

L ( a) = a a a t t N N N T n n m n mxmxn n= 2 n= m= Support vector machines a n N n= 0 at n n T Σημ: Η έκφραση xmxn είναι ένα εσωτερικό γινόμενο (dot product) μεταξύ των δύο διανυσμάτων και μπορεί να συμβολιστεί xm, xn Προς το παρόν εμφανίζονται εσωτερικά γινόμενα μόνο μεταξύ των σημείων εκπαίδευσης. Μπορούμε όμως να κάνουμε την προσέγγιση πολύ πιο ευέλικτη χρησιμοποιώντας κάποια από τις συναρτήσεις πυρήνα (kernel functions) που είδαμε ώστε να μπορούμε να αναπαραστήσουμε πολύ γενικότερες υπερεπιφάνειες αποφάσεων Με βάση το kernel trick μπορούμε να αντικαταστήσουμε το εσωτερικό γινόμενο x mt x n με οποιαδήποτε συνάρτηση πυρήνα k(x mt x n ), οπότε καταλήγουμε στο εξής πρόβλημα βελτιστοποίησης a N N N n 0 L ( a ) = an anamtntmk( n, m) n= 2 x x N n= m= at = 0 n= Σημείωση: Στην ουσία θα καταλήγαμε στο ίδιο πρόβλημα αν χρησιμοποιούσαμε εξαρχής: y( x) = w Τ ϕ( x) + b άρα k( xx, ') = ϕ T ( x) ϕ( x') = ϕ( x), ϕ( x') αλλά δεν χρειάζεται να υπολογίσουμε το φ! = 0 n n

Support vector machines Μπορούμε να πάμε από το χώρο εισόδου (input space) στο χώρο χαρακτηριστικών (feature space) πιθανόν υψηλότερης διάστασης όπου όμως το πρόβλημα είναι γραμμικά διαχωρίσιμο, άρα μπορούμε να βρούμε απλούστερα σύνορα αποφάσεων (υπερεπίπεδα) ί δ

Support vector machines Η συνάρτηση πυρήνα μπορεί να είναι μια από αυτές που είδαμε στα προηγούμενα, δηλ: M T Πολυωνυμικός πυρήνας k ( xx, ') = ( xx' ) 2 Γκαουσιανός /radial basis k ( xx, ') = exp( x x' 2) Tanh k( xx, ') = tanh( axx T ' + b) Για την ταξινόμηση ενός νέου σημείου x αρκεί να υπολογίσουμε το πρόσημο της y(x), η οποία γράφεται ως: N y( x) = a t k( x, x ) + b n= n n n όπου φυσικά μόνο τα διανύσματα υποστήριξης παίζουν ρόλο! Μεγάλο πλεονέκτημα της μεθόδου: όταν τελειώσει η εκπαίδευση μπορούμε να κρατήσουμε μόνο αυτά τα σημεία! Πως βρίσκουμε τις τιμές των a i? Αριθμητικές μέθοδοι τετραγωνικού προγραμματισμού (quadratic programming) Γενικά αρκετά περίπλοκη βελτιστοποίηση βασίζεται σε gradient ascent και οι περισσότερες ρ ςμέθοδοι σπάνε το πρόβλημα σε μικρότερα ρ προβλήματα (π.χ. χ Platt sequential minimal optimization στη συνάρτηση της HW4)

Support vector machines Αφού υπολογιστούν οι τιμές των και συνακόλουθα το w, η τιμή του κατωφλίου μπορεί να υπολογιστεί από οποιαδήποτε εκ των: Τ t n( w ϕ( xn) + b) = tn amtmk( xn, xm ) + b = m S που ισχύει για τα διανύσματα υποστήριξης. Συνήθως για πιο αξιόπιστα αποτελέσματα, παίρνουμε το μέσο όρο ως προς όλα τα διανύσματα υποστήριξης πολλαπλασιάζοντας λ την παραπάνω με t n και αθροίζοντας. Τελικά: b= tn amtmk( n, m) N S n x x S m S

Support vector machines Γενικά η μέθοδος SVM έχει αποδειχθεί ιδιαίτερα επιτυχημένη και έχει δώσει πολύ καλά αποτελέσματα σε διάφορα προβλήματα ταξινόμησης (paper στην ιστοσελίδα)

Support vector machines Στα προηγούμενα υποθέσαμε ότι τα δεδομένα μας είναι γραμμικά διαχωρίσιμα. Τι συμβαίνει αν δεν είναι? Μπορούμε να επιτρέψουμε κάποια σημεία εκπαίδευσης να είναι στο λάθος ημιεπίπεδο με ποινή η οποία αυξάνεται με την απόσταση από το σύνορο. Εισάγουμε τις μεταβλητές ξ n 0 (n=,2,,n) όπου (Cortes & Vapnik 995): 0 αν το σημείο n είναι σωστά ταξινομημένο ξ n = tn y( xn) ειδάλλως Για σημεία πάνω στο σύνορο ξ n = (y(x n )=0) Για λάθος ταξινομημένα σημεία ξ n > Σημεία με 0 ξ n < βρίσκονται εντός του περιθωρίου αλλά στη σωστή πλευρά Οι περιορισμοί του προβλήματος αλλάζουν σε Τ tn( wxn + b) ξn n=, 2,..., N soft margin constraints ήισοδύναμα Τ ( wx + b) ξ t = n n n Τ ( wx + b) + ξ t = n n n

Support vector machines Tο πρόβλημα ελαχιστοποίησης γίνεται σε αυτή την περίπτωση: N 2 C ξn + w n= 2 Lagrangian Lagrange multipliers: a n και μ n ( 0) N N N 2 L( w, b, a) = w + C ξn an( tny( xn) + ξn) μnξn 2 όπου y( xn) = w Τ ϕ( xn) + b KKT conditions n= n= n=

Έχουμε: Support vector machines Αντικαθιστώντας παίρνουμε όπως και πριν τη δυαδική δ Lagrangian: N N N L ( a ) = an anamtntmk(, ) 2 x x n m n= n= m= H έκφραση είναι ακριβώς η ίδια με πριν αλλά έχουμε διαφορετικούς περιορισμούς. Επειδή a n,μ n 0 πρέπει επιπλέον a n C. Πρέπει επομένως να ελαχιστοποιήσουμε την παραπάνω με τους περιορισμούς: Και πάλι πρόβλημα τετραγωνικού προγραμματισμού.

Σύμφωνα με τις συνθήκες: Support vector machines Κάποια σημεία ικανοποιούν a n =0. Τα υπόλοιπα σημεία είναι τα διανύσματα υποστήριξης, τα οποία πρέπει να ικανοποιούν a n >0 και tn( wx Τ n + b) = ξn Αν γι αυτά τα σημεία a n <C τότε πρέπει μ n >0 άρα πρέπει και ξ n =0, με άλλα λόγια τα σημεία αυτά βρίσκονται πάνω στο περιθώριο Αν a n =C τα σημεία βρίσκονται εντός του περιθωρίου Αν ξ n είναι σωστά ταξινομημένα Αν ξ n > είναι λάθος ταξινομημένα

Support vector machines Οι τιμές των a n υπολογίζονται όπως και πριν με μεθόδους τετραγωνικού προγραμματισμού. Η τιμή του b μπορεί να προσδιοριστεί από οποιαδήποτε εκ των: tn am tm k ( xn, xm) + b = m S για τα διανύσματα υποστήριξης για τα οποία 0< a n <C. Επίσης μπορούμε να πάρουμε το μέσο όρο, οπότε: b= tn amtmk( n, m) N Μ n Μ x x m S όπου Μ το σύνολο αυτών των σημείων.